マイコンによるLTE通信の検討

ドコモの3G停波は2026年3月だが、一部のエリアは2022年1月からFOMAデータ通信が使えなくなると判った。
ドコモは3G設備を集約していて、順次、2GHz帯が停波され、800MHz帯(FOMAプラスエリア)のみとなる。

800MHz帯が入れば大丈夫だが、2GHz停波されてみないと判らない。突然、通信できなくなるのは怖い。
そこで、現状のREX80+L08Cに代わるLTE通信方法の検討を早める事にした。

自作向きのLTE通信方法

通信モジュールは色々出ているが、ほとんど法人向け。個人が一個から購入できる物は限られる。
REX80+LTEモデム L03Dを試したが接続せず、NG
Raspberry pi+LTEモデム 中古、数千円〜 L03DやL03F。起動や終了に手順がいる。消費電流が増える。
Raspberry pi+CANDY Pi Lite+ ≒\16000 やや高価、上記の方が簡単そう
Wio LTE JP Version \7551〜\11400 5V2Aが必要? 情報少なめ、開発がやや面倒そう
xyz-mIOT LTE NB IoT/CAT M1モデム RobotShop¥9220 ATSAMD21G ARM0+BG96、情報少ない、開発が面倒そう
Sprisense+LTE拡張ボード ¥6050+\8778 LTE-M、やや高価、高機能、低消費電流、汎用的
LTE-M Shield for Arduino Soracom \6578 安価、低消費電流、開発しやすそう

LTE-Mは高速LTEの一部周波数帯域のみを利用することでモジュールの低価格化、省電力化する技術。
ドコモの速度は300kbps/375kbps

Raspberry piを使うと現状より消費電流が増えるのでバッテリ駆動に不安が残る。
有力なのはLTE-M Shield for Arduino、次いでSprisense+LTE拡張ボードだろう。

LTE-M Shield for Arduino

国内発売は2020年12月、ソラコム向けカスタマイズしている。
Arduino TinyGSMライブラリを使用する。
出力0.2Wだが、外部アンテナを接続できるので大丈夫と思う。

Soracom SIM,SORACOM Harvestの使用を前提としており、それ以外の使用例がまだなかった。
LTE-Mは対応SIMが必要? Soracom plan-d,plan-KM1
Wio LTE M1/NB1(BG96)ではKDDI系(plan-KM1)の他、SoftBank系はOKでDocomo系がNGとの情報あり。
Docomoの相互接続性試験完了モジュールにBG96が載ったのは2019/6で、上の情報はそれ以前だった。

Soracomの使用例ソースを見るとHTTP通信にアドレス指定が無かった。
SoracomはSIM認証しているので携帯番号で選別しているのか?
質問したら、SIMロックはしていないし他社サーバーへデータを送る事もできるとの事。
送信を暗号化したい場合はSORACOM Beamを使うと簡単らしい。

LTE-M Shield for Arduino の動作確認

Soracomの使用例は自社システム前提なので、参考にならない。
Dragino TechnologyのDocumentやTinyGSMの説明が参考になった。

購入しました。plan-d300のSIMを確認、SIMフリーではないL-03Dで繋がった。DocomoSIM。
モジュールを外しSIMを刺す、向きは逆にも入ってしまう、シールド板に刻印があり。

Arduino UNOと繋ぎ、シリアルブリッジを書き込む。 PWR LED点灯、NET LED薄く点滅。
シリアルモニターを CRのみ、9600bps に設定し、ATコマンド例の様に送信し確認できた。
AT+CSQは換算すればrssiのdBm値が得られる。

次にTinyGSMページに有ったWebClientを試す、RAMが残り少ない警告が出た。
シリアルモニターを115Kbpsにすると、モデム速度の自動設定が始まりモデム間は9600bpsになった。
モデム初期化→soracom.io接続→サイト接続→HTTP GETで TINY GSM ロゴ表示→切断と上手くいった!

シリアル自動設定(TinyGsmAutoBaud)を止めて9600bpsにするとRAMは75%→70%になり少し節約。
シリアルバッファを減らすのも節約になる。だが色々やるとATmega328のRAM(2K)では厳しいかも?

このスケッチはUNOからRESETをやってない、IOpinへのRESETジャンパーを外しても大丈夫だった。
WebClientにデータを載せてみると、送れない確率が高い時がある。混んでる時間かも?
USB電流計で測ると最大0.07A、瞬間的にはもっと流れていると思う。

接続端子を調べる

Arduino Unoではなく、pro microやnano evreyを繋ぐ時に必要な端子を調べた。
Arduino pinは0〜13だがIoT Shield.v1.2 SCH.pdfでは1〜書いてありシルクとも違う紛らわしい。
また、端子写真のNB-IoT_Shied_700px-A.jpgも古いVerでVer1.2とは違いがあった。

3.3Vpower 4レベル変換用
5Vpower 54〜6V 0.3A 以上 BG96は3.6V
GNDpower 6,7
NB_ResetA1(15),PC1
AVR_TX11,PB3
AVR_RX10,PB2
MCU_INT3,PD2オプション、未使用
GNDisp 6ispはGNDのみ。必要?

ATコマンドでHTTP通信

WebClientでのBG96との通信内容を調べた。
はじめ、ADALM2000ロジックアナライザでモニターしたが一部しか見えず。
FT232のRXIをパラ接続しTeraTermでBG96へのTX,RXをそれぞれモニターし突き合わせた。

BG96はHTTP用ATコマンドも有るが使用して無かった。TCP-IPソケット通信でHTTP通信を行っていた。
モニター内容を手動でやってみる。TCP-IPでログインしサーバ接続や切断はできた。
HTTP通信のAT+QISENDが上手く行かずつまづいている。

SIMの付け外しをしていたら、Docomoネットワークに繋がらなくなった。
調べるとAT+CEREG?が0,2のサーチ中で待てども0,1にならない。故障?(+_+)
一晩おいてAT+CGDCONTやAT+COPS?をやって調べてたら、繋がるようになった。原因不明。



  Topへ 三河フライヤーズクラブ、エリアの風

< 感想などあれば >

 Copyright (C) 2021 S.Yoshikawa 2021年8-9月 転載禁止です
---------------------------------------------------------