~ 一言「組込機器の無線化」と言っても… ~
もう組込機器と言えども普通にHTTPやMQTTのような汎用TCP/IPプロトコルで通信することがあたりまえの時代となりました。これまで組込機器のネットワークI/FはEthernet(有線)が主流でしたが、小型化への要求や配線コストを考えて無線化の要求が高まってきています。
以前の記事 でも書きましたが、ネットワークI/Fの違いはプロトコルスタックに影響を与えません。ブロックを組み合わせるように、ネットワークドライバを入れ替えるだけで、それより上のソフトウエアはそのまま使えます。また、今やノートPCやスマホなどには普通に無線のネットワークI/Fが入っているので、当然「組込機器ネットワークI/Fの無線化」なんてさくっとできるもの、と思いますよね?ところが、これがなかなか悩ましい問題なのです。
まず、「TCP/IPプロトコルがそのまま通る(*注)無線規格」は、主に以下のものがあります。使いたい方はどれなのか、という問題です。
・IEEE802.11b/a/g/n/acなどのWiFi(APに接続するタイプ)
・IEEE802.11ah(WiFi HaLow)(これもAPに接続するタイプ)
・モバイル回線を用いるLTE(公衆網に接続するタイプ)
注
最大1500byte近いパケットを6LowPANのような別の仕組みを入れずに通信できる、という意味。
Ethernetの場合は組込CPUにLANコントローラが内蔵されているパターンも多く、外部に必要なのはほぼソフトウエア制御なしに使えるPHY(デジタルデータとアナログ信号を変換するデバイス)とRJ-45などのコネクタでした。簡単です。
しかし、前述いずれの無線規格も、現時点では組込CPU自体にLANコントローラが内蔵されているものは一般的ではなく(ESP32などWiFiに特化したSoCもありますが)、外部に専用デバイスを用意して何らかの手段で組込CPUと接続することになります。(ちなみに、CPUと専用デバイスの両方が載っている無線モジュール、というものも存在します。)
こうなった瞬間に、考えること・決めることが以下のように一気に増えるので、案外面倒だよ、ということです。
・どの会社のどの無線デバイスを使う?
・それは組込CPUとはどうつながる?
・組込CPU側に必要な、無線デバイスを設定したり制御するソフトウエアはどうする?
ただ、「それはわかるけど、できれば組込機器は今の仕様のまま使いたいんだよ」という方も多いと思います。「組込機器の無線化」と言ったとき、Ethernet I/Fしか持っていない組込機器には一切手を入れないで実現する方法も、検討のテーブルには載せたいところです。たとえば以下の製品を外付けて無線化する方法です。
イーサネットコンバータ:
BUFFALO社のWI-UG-AC866/Nのように、一方がRJ45コネクタ、他方がWiFi子機となっていて、Ethernetパケットを双方向に転送する(だけ)の機器です。
LTEルータ:
I-O DATA社のWN-CS300FRのように、一方がRJ45コネクタ、他方がLTE子機となっていて、LAN側がプライベートIPアドレス、WAN側がグローバルIPアドレスで運用されるいわゆるNAPTルータです。これ自身がDHCPdや簡易DNSサーバの機能を持っています。
当然これらは外部機器のため、製品という視点では機器全体のサイズや供給体制、運用中にその機器にトラブルが発生した時の保守体制という新たな課題が発生します。
次回は、組込CPUにWiFiの無線デバイスを接続するとして考えること・決めることをもう少し詳しく解説したいと思います。何が一番面倒なポイントか、想像できますでしょうか…
Cente:
https://www.cente.jp/
お問合せはこちら:
https://www.cente.jp/otoiawase/
■今日の閑話
今回のようにTCP/IPパケットをEthernet以外に流す、という話題はかなり古くからありました。私がネットワークのファーム書きを始めたン十年前は、モデムやISDNターミナルアダプタを使って会社のリモートアクセスサーバにダイヤルアップして社内LANとTCP/IP通信していた時代です。組込CPUとモデムの間はデータの区切りがない非同期シリアルで、通信に関する設定、認証情報、TCP/IPパケットなどを流すためPPPという第二層のプロトコルが使われていました。当時PPPにはどんどん新しい機能・プロトコルがRFC化され、ネットワーク機器メーカ各社が競うように追加実装していたことを思い出します。そんなPPPも近年はあまりその名を見なくなったので今更解説記事は不要と思いますが、何かリクエストがあれば是非コメントにてお知らせください!笑