T-SIM7080G-S3のCAT-M1モデム(SIM7080G)で通信
CAT-M1通信に対応したSIMを使いましょう
ここは自分もハマったポイントですが、CAT-M1通信に対応するSIMでないと先に進めません。
数日悩んで結局SORACOMのSIMを購入して解決しました。
TinyGSMライブラリは一部しか使えない?
Arduinoでモデム対応と言えば、TinyGSMという便利なモデム通信用のライブラリがあります。TinyGSMライブラリ自体はSIM7080Gに対応しているようでソースコード上にも7080G用の記述があります。
当初は、TinyGSMをフル活用すれば簡単に実装できるんじゃん?とホクホクしていましたが、そうは問屋が卸さない。
今回のT-SIM7080G-S3はCAT-MモデムのSIM7080Gへの給電を、基板上にあるPMU(パワーマネジメントユニット)で行っています。そうすることでソフトウェア上からモデムへの給電タイミングや省電力機能など色々と便利な事が出来るようになっているみたいです。
そう言った細やかな事が出来る分、TinyGSMライブラリを使うよりもATコマンドを駆使した方が良いかもしれません。
公式のサンプルプログラムを見てみましたがTinyGSMライブラリは最小限の利用で、ほぼATコマンドを駆使しているようでした。
自分でもTinyGSMをフル活用しようと頑張ってみましたが、現時点では上手く動作させられないでいます。
上手く動かせない場合、T-SIM7080G-S3固有の問題があるのか、TinyGSMのライブラリに問題があるのかで、ソース捜索範囲が広くなってしまいます。
そうなると結局ATコマンドを書いていった方が早い、という話なんですね。
ここらへんは「やれたらやる」ぐらいの優先度になりそうです。
モデムをコントロールするための参考資料
ATコマンドマニュアルは「7080G manual」などで検索してみると色々と出てきます。
上記リンクのSIM7070, SIM7080, SIM7090のATコマンドマニュアルは必須です。
他にも以下の7080のみ対応したATコマンドマニュアルなどもありました。
https://www.waveshare.com/w/upload/3/39/SIM7080_Series_AT_Command_Manual_V1.02.pdf
後は利用したい通信方法での使い方をまとめたアプリケーションマニュアルもあると便利です。
サンプルプログラムを使って動きを理解する
LILYGOの公式GitHubでT-SIM7080G-S3用のリポジトリがあります。
基本的にはここのソースを元に作ってみる事をおすすめします。
自分はMinimalModemGPSExample, MinimalNBIOTExampleなどをまずは参考にして、その後MQTT(S)を使うためにModemMqttsExampleなどを参考にしました。
実際のSORACOM接続用設定
SORACOMのグローバル用SIMを使って、以下の部分をMinimalNBIOTExampleに追加修正して動作を確認しました。
サンプルプログラムはNB_IOT向けになっているので、CAT-M1向けに設定を変更しています。
// CAT-M用にセットアップ
//modem.setPreferredMode(MODEM_NB_IOT);
modem.setPreferredMode(MODEM_CATM);
// SORACOM用の設定を追加
modem.sendAT("+COPS=1,2,\"44010\"");
modem.waitResponse();
modem.sendAT("+CGDCONT=1,\"IP\",\"soracom.io\"");
modem.waitResponse();
modem.sendAT("+CGAUTH=1,3,\"sora\",\"sora\"");
modem.waitResponse();
判ってしまえば何ということは無いんですが、最初にも書いたようにSIM7080Gの情報はあまり無いために色々とネット上の情報を参考にしています。書かれている情報が微妙に違ったのと、当初SIM選定をミスっていたために要らぬ苦労をしました。
こんなに便利なT-SIM7080G-S3、
AliExpressだとLilygo公式ショップから購入するのが融通が利いて一番良いです。
https://s.click.aliexpress.com/e/_DmKFKHV
と言う訳で、T-SIM7080G-S3の情報をまとめるべくnoteのマガジンを作りました!
私が共同代表を務めているGREEN OFFSHOREでは農業向けのIoTサービスを展開しています。
そちらにも様々な情報を展開しているので、ぜひ上記リンクをクリックしてみて下さい。
この記事が気に入ったらサポートをしてみませんか?