ソースコードを探して回った結果のメモ。
Board Manager に入力する json ファイルでのバイナリ配布物は https://github.com/Seeed-Studio/Seeed_Platform/ で管理されている。
このバイナリのソースコードは https://github.com/Seeed-Studio/STM32F4_Arduino_Library/ のリポジトリで管理されている。
Board 設定の後、いろいろ便利にアクセスできるライブラリは https://github.com/SeeedJP/WioLTEforArduino/ のリポジトリにある。
突っ込んでいくと、AT コマンドのリファレンスなどが必要になってくるけれども、 https://github.com/SeeedDocument/Wio_LTE に zip で固めた状態で配布されている。もちろんユーザ登録して本家サイト http://www.quectel.com/product/ec21.htm からダウンロードしてもよい。
製品ページ http://wiki.seeedstudio.com/Wio_LTE_Cat.1/ にあるように、STM32F405RG, ARM 32-bit Cortex-M4, 168MHz で動いている。ST のサイト http://www.st.com/ja/microcontrollers/stm32f405rg.html にいくと、どういうソフトウェア実装を期待していたかわかる。
その他便利リンク
- soracom でハンズオンをやっていたらしい https://github.com/soracom/handson/wiki/Wio-LTE-%E3%83%8F%E3%83%B3%E3%82%BA%E3%82%AA%E3%83%B3
- http://www.seeed.co.jp/blog/wio-lte-with-int/
- https://qiita.com/ma2shita/items/66b5dd473aa8eadd05e0
- https://qiita.com/ma2shita/items/a50f6b2b1cc438b1f8b7
使っていて気が付いたメモ
Wio::TurnOnOrReset
が false
を返す。結局原因は SIM がきっちり刺さっていなかった事。隠れるぐらいまで入るものらしい。
WioLTE::getLocation
は、Wio-LTE デバイスの存在する位置を取得するものではなく、LTE 接続している基地局の位置を取得するものになっている(フェリー乗船時のログで気が付いた)。これはこれで役に立つのだけど、誤解しないように気を付けるべし。リファレンスは wiki にある。
ちなみに EC21 はもともと GPS 内蔵だが、WioLTE JP バージョンでは削除されていて使えないので、日本では外付けの GPS モジュールが別途必要。最初からGrove IoT スターターキット for SORACOMを買うのが吉。
なぜか I2C がソフトウェア実装されているので、うまく通信できない場合は、タイミングを調整すべし。
SerialUSB
を使うタイプなので、Serial
でやっていたところは読み替えるべし。Serial
は GROVE 端子のUART
に出ている。Serial1
は LTE モデムの AT コマンド入出力 UART につながっている。
ボード全体でリセットがかかる現象を観測中。millis()
をログするとよい。同時に LTE 電場強度が弱いログが出ているけれど、原因なのか結果なのかは不明。消費電力が問題か?