Arduinoでインターネットする方法 様子見 (Rev.B)
●2014年ごろ
Arduino UNO R3は2014年ごろにでました。その当時、ネットワークと接続する方法は、
- イーサネット・シールド(有線LAN)
- XBeeでWi-Fi
が代表的な方法でした。いずれのシールドも5千円から1万円近くしていましたが、今は、
- イーサネット・シールド2
- XBee+ピンピッチ変換
数千円と価格が下がっています。イーサネット・シールド2は在庫のないところもあり、長期入手性に不安があります。XBeeを最近取り上げる方を見かけません。
●無線ができるYUN
ルータなどに使われているコンパクトなLinux無線モジュールとArduinoと共存できるようにしたのがYUNシリーズです。現在約1万円と価格が下がっていません。
Arduino陣営が分裂していたころ、同じモジュール(推測)を積んでorgから発売されたのがArduino Industrial 101です。スイッチサイエンスで5800円です。
いずれもOpenWrtをOSとしたLininoグループ製品のOEMのように見えます。Linux側ではMQTTサーバを動かすこともできます。Arduino側ではMQTT送受信ができ、ライブラリもそろっています。
2018年3月の末にYun Rev.2がでました。
●ESP8266の出現
2015年に登場したWi-FiデバイスESP8266は、ユーザによってArduino IDEで利用できるようになりました。日本でも利用できるモデルESP-WROOM-02(唯一これだけ)が早い時期に出たので、利用者が増えました。
海外では、UARTで接続したWi-Fiデバイスという利用方法もありましたが、国内では利用者は多くないようです。Arduino陣営が分裂していたころ、orgの陣営の新製品のラインナップにはESP8266を利用したモデルがたくさん上がっていましたが、現在は消えてしまったようです。
UARTで接続したWi-Fiデバイスという利用方法は自分で接続をすれば済むのですが、すぐに使える製品はスイッチサイエンスのESP-WROOM-02 Wi-Fi シールドだけのように思えます。
ESP-WROOM-02を使ってArduino IDEで使えるボードは、ESPr Developer(ESP-WROOM-02開発ボード)と
ESPr One(Arduino Uno同一形状 ESP-WROOM-02開発ボード)です。いずれもI/Oは3.3Vで動作します。
2017年にESP8266の改良版ESP32が出ました。これもArduino IDEで利用できますが、インストール方法が独自です。
2017年秋ごろからArduino IDEはバージョン1.9のベータ・テストをしています。Arduino IDEが最初AtemlのAVRだけで動作していたものから、
- 現在では撤退したIntelのIoTデバイス
- ARMのCortex-M0、M0+、M3など
- ESP8266はMIPSアーキテクチャのCPU
のように同じスケッチの多くが異なるCPUでもコンパイルできるようになってきたのですが、内部は複雑になったのをすっきりさせようとしています。
●こんなに混乱しているのに
2016年に出荷の始まったMKR1000(36ドル)というコンパクトな形状のArduinoがあります。いまだ日本では販売されていないようです。その理由はWi-Fiモジュールの技適が取れていないからかもしれません。同じ形状でWi-FiモジュールのないARDUINO MKR ZERO (22ドル)も日本では販売されていません。
MKRシリーズは、
- MKRFOX1200
- ARDUINO MKR WAN 1300 (LORA)
- ARDUINO MKR GSM 1400(モジュールは技適が取れているがGSMが日本では使われていないプロトコル)
などとIoT分野へ対応が拡充されています。いずれも日本の電波法に合致しないなどの理由で、国内では販売されていません。
まとめると、ヨーロッパでは、MKR1000を36ドルで購入すればインターネットにつなげられます。昨年の夏にArduino UNOは22ドルに値下げされましたが、国内販売店のほとんどで旧来の価格で販売されています。秋月電子通商で購入すると、
- Arduino UNO 2940円
- Arduino Ethernet Shield 2 3240円
の二つの組み合わせで有線LANに接続できます。Arduino IDEにはライブラリがあります。スイッチサイエンスであれば、
- Arduino UNO 3240円
- ESP-WROOM-02 Wi-Fi シールド 2700円
の二つでWi-Fi接続ができます。ただしライブラリはないので、ATコマンドで通信をします。もしくは、
- Arduino UNO 3240円
- W5500 イーサネットシールド 3240円
の二つで有線LANに接続できます。Arduino IDEにあるライブラリが使えると思います。Ethernet Shieldに使われるW5100/W5500とはSPIバスで通信します。したがって、ほかのSPIデバイスから10番ピンのSSは使えません。
Arduino IDEが1.9.xになってESP32ボードが普通に使えるようになったら、I/Oもたくさんあるので電子工作にはベストだと思います。YUNとMKRはブレッドボードに挿すと、案外配線領域が狭いです。単独で使うとき、I/Oはオスとメスの両方のピンヘッダがついているので、空中配線はしやすいです。
2018年5月12日に二つのMKRモデルが追加されました。発売は6月の予定です。
- MKR NB 1500
- MKR WiFi 1010
NB 1500は、sigfoxと同様の数kmの通信速度が遅い無線規格NB-IoTで、u‑blox のSARA-R410M-02Bモジュールを搭載しているので、技適がもうすぐ通るかもしれません。2018年5月13日現在は総務省で公示されていません。NB-IoTは携帯電話の4GであるLTEを使うので、日本全国基地局があります。現時点でサービスを表明しているのはソフトバンクだけです。
WiFi 1010は、MKR 1000 WiFiの後継機種と思われます。搭載している無線モジュールがu‑blox のNINA-W131で、グローバルな認証が取れているとされています(Approvals are pending)。内部はESP32モジュールなので2.4GHz IEEE 802.11 b/g/n Wi-Fiです。Bluetoothはサポートされていないようです。アマゾン・クラウドAWSではセキュアな通信ができるECC508が搭載されています。