SPRESENSE
SPRESENSE は、SONY さんが提供している IoT用途のマイコンボードです。
SPRESENSE公式ページ
Main ボードのサイズは、Raspberry Pi PICO とほぼ同じ大きさです。
Sigfox モジュール
結論から言うと、Arduino Uno 用の Sigfox モジュールを使って Sigfox の通信が可能です。
UnaShield の使用
マイコンボードから Sigfox 通信を試す方法としては、UnaBiz社が提供している、Sigfox UnaShield を使った情報がたくさんあります。
KCCSさんのこちらのブログが一番取り掛かりやすいと思います。KCCS - Sigfox Shield for Arduino - UnaShield -
Extension Board
最初、SPRESENSE と Una Shield を UART で通信させれば、とりあえずの動作確認は可能かなと思っていたのですが、SPRESENSE の I/O 電圧が 1.8V で、Una Shield は、Arduino Uno 用に作られているため I/O 電圧が5Vですので、レベルシフト(電圧変換)が必要になります。
そうなると、一気にめんどくさいなぁと思ったのですが、別売りの Extension ボードを取り付けると、サイズもI/O電圧も Arduino Uno 相当になります。
Sigfox 通信
Extension Board を使用すると、後は、通常の Arduino での Sigfox 通信と同じになりますので、前述の KCCS さんのブログで紹介されている サンプルコードを使用すれば、そのまま通信可能です。
Qiita にも、SPRESENSE を Arduino 互換で動かす記事がたくさんあるので参考にしてください。
GPS/GNSS
Arduino Uno で Sigfox + GPS をやろうとすると、別途 GPS モジュールを購入し、UART で NMEA を取得することになるのですが、SPRESENSE の場合、GPS/GNSS がメインボード上にあるため、SPRESENSE + UnaShield だけでも、Sigfox 位置ロガーになります。
SPRESENSE の GPS/GNSS については、Github にサンプルがあります。
SPRESENSE Arduino Sample GNSS
ちなみに、オフィス内で試した限りでは、位置情報が FIX するまでかなり時間がかかる・もしくは FIX しないという事がありました。
ただし、車のダッシュボード上に置いた場合では、時間がかかりますが(3~4分)、問題無く動作し、一度 FIX した後は継続的に制度の高い位置情報が取れていました。
今回は、メインボード上のオンボードのアンテナのみ使用しました。外部アンテナを利用することも可能なため、こちらを使用すれば使えるようになるかもしれません。知らんけど。
その他
Una Shield の 加速度センサー
Una Shield には、「Adafruit MMA8451」の加速度センサーが搭載されていて、Arduino Uno では I2C で通信できていたのですが、SPRESENSE では、そのままでは動作せず、I2C のスキャンをしても何も見つからない状態でした。これは、追々調べることにします。