WioLTE
- Arduino互換のLTEモデム付きマイコン
- 従来のラズパイドングルなどは数万円したけど9800円と比較的安い
- Seeed社が開発していて、Groveセンサーに対応している
- 通常のシリアル書き込みではなくDFUモード書き込みが少し慣れが必要な印象
アンテナ組み立て
こちらの記事「Wio LTEをやってみてIFTTT送信サンプルまで試したメモ」を元にアンテナをつけてみましょう。
環境構築
開発環境のセットアップを見ながらArduino IDEのセットアップをします。
Wio Tracker LTEボードの追加する
こちらの内容を進めます。
メニュー> Preferenceから追加のボードマネージャのURLを指定します。
https://raw.githubusercontent.com/Seeed-Studio/Seeed_Platform/master/package_seeeduino_boards_index.json
ボードマネージャーから **「Seeed STM32F4 Boards by Seeed Studioバージョン」**を選択します。
インストール
を押してインストールします。
これでボードが追加できました。
Wio LTEのライブラリ追加
Wio LTEライブラリの追加を行います。
書き込みでハマる
通常のArduinoとは若干使い方が異なるようです。
今回は内臓のフルカラーLEDを使うLedSetRGB.inoを試してみます。
綺麗に光ります :)
### libusbをMacにインストール
通常のArduinoと同様に書き込もうとしたら以下のエラー。 書き込み完了しましたってでてるけどエラー文が。
libusbが無いよって内容みたいなので
brew install libusb
でlibusbを入れました。
シリアルポート指定はせずに、DFUモード
次に書き込みをするとエラーが変わって、以下の内容に。
どうやらDFUモードで書き込みを行うようです。
DFUモードって初めて使いましたが、Nefry v2のオンラインファームウェアアップデートと同じような仕組みらしいです。
Wio LTEの背面のボタンを押しながらUSB接続するとDFUモードになるようです。
その状態だと↓のキャプチャのようにシリアルポートにUSBシリアルポートの表示はされません。
この状態で書き込みすると
正常に書き込めた模様です。
RSTボタンかUSBを抜いて再接続しないと起動しない
これも少しハマりました。 (ちゃんと説明読めば書いてますけど笑)
DFUモードでプログラム書き込みをしたら、通常モードにして動作をチェックするのが基本になります。
なのでDFUモードで書き込んだあとはRSTボタンを押して再起動しましょう。
そうするとSerialUSB.println()
で書かれてるメッセージがArduino IDEのシリアルモニタで確認できます。
DFUモードでプログラムを更新したあとに、そのままシリアルモニタを利用しようとすると怒られるので注意しましょう。
SORACOM SIMでLTE通信をためす
ここまでの手順で書き込みができるようになったら、同じように他のサンプルプログラムも書き込めます。
iftttのwebhookに投げるサンプルのifttt-webhook.inoを利用します。
ソラコムSIMは RESASハッカソンでお借りしているものをそのまま使ってます。
ソラコムのコンソールでSIMの情報を入力して、紐付けます。
あとはサンプルを起動させると.....
SIMの部分で少しハマるかと思いきや、ここは特に問題なく情報が送れました。
こんな感じでオンラインかオフラインかもコンソール側で見ることができます。
所感
LTEがこんなに簡単に使えて1万円切っているは時代を感じますね。
LTE使わなくてもArduino+Grove BASE SHILDの互換機っぽい使い方もできるし便利です。
DFUモードでの書き込みとデバッグ、Serial.println()
ではなくSerialUSB.println()
を使うなど、少し癖はありますが慣れると問題なさそうです。
通信をすることが前提のデバイスになると思うので、HTTPリクエストなどのサンプルはもう少し多いと助かりますね。
あと、@tseigoさんの記事が本当に助かりました。ありがとうございます。