目的
LTEモデムやGPSモジュールなどをUART接続しコマンドを送るテストをする際の手順をまとめておきます
USBシリアル変換モジュールが手元にあれば直接つないでも良いですが、今回はM5AtomLiteを中継に使います
マイコンのスケッチ
ここではESP32内蔵のM5AtomLiteを使ってPCとUSBケーブルで繋いだSerialと
GroveケーブルでUART接続機器(例えばLTEモデムやGPSモジュールなど)と繋いたSerial1間の通信を中継します
[PC] -(USBケーブル)- [M5Atom] - (groveケーブル) - [LTEモデム M5 CAT-UNIT]
void setup() {
Serial.begin(115200);
Serial1.begin(115200, SERIAL_8N1, 32,26); //M5atomlite
delay(1000);
}
void loop() {
while (Serial1.available()) {
Serial.write(Serial1.read());
}
while (Serial.available()) {
Serial1.write(Serial.read());
}
}
teraterm設定
設定 ‐ シリアルポート
‐ ポート:接続してるCOM番号
‐ スピード:115200
マクロファイル
毎回直接コマンドを入力するのは面倒なのでteratermのマクロを使います
https://teratermproject.github.io/
https://teratermproject.github.io/manual/5/ja/macro/index.html
まずメモ帳等で ATtest.ttl ファイルを作成する
timeout=5
sendln 'AT'
wait 'OK'
; コメントはセミコロンで
sendln 'AT+CPIN?'
wait 'OK'
sendln 'AT+CNACT=0,0'
wait 'OK'
sendln 'AT+CGDCONT=1,"IP","povo.jp"'
wait 'OK'
sendln 'AT+CNCFG=1,1,"povo.jp"'
wait 'OK'
sendln 'AT+CFUN=1'
wait 'OK'
sendln 'AT+CNMP=38'
wait 'OK'
sendln 'AT+CGATT?'
wait 'OK'
sendln 'AT+COPS?'
wait 'OK'
sendln 'AT+CSQ'
wait 'OK'
sendln 'AT+CPSI?'
wait 'OK'
sendln 'AT+CNACT=0,1'
wait 'OK'
sendln 'AT+CNACT?'
wait 'OK'
マクロ実行
teraterm
‐ ファイル ‐ 新しい接続 ‐ シリアル ‐ ポート:マイコンに繋いだCOMを選択 ‐ OK
‐ コントロール ‐ マクロ ‐ 作成したATtest.ttlファイルを選択 ‐ OK
AT
OK
AT+CPIN?
+CPIN: READY
OK
AT+CNACT=0,0
OK
+APP PDP: 0,DEACTIVE
AT+CGDCONT=1,"IP","povo.jp"
OK
AT+CNCFG=1,1,"povo.jp"
OK
AT+CFUN=1
OK
AT+CNMP=38
OK
AT+CGATT?
+CGATT: 1
OK
AT+COPS?
+COPS: 1,0,"KDDI",7
OK
AT+CSQ
+CSQ: 23,99
OK
AT+CPSI?
+CPSI: LTE CAT-M1,Online,(略)
OK
AT+CNACT=0,1
OK
+APP PDP: 0,ACTIVE
AT+CNACT?
+CNACT: 0,1,"**.***.***.****" (IPアドレス)
+CNACT: 1,0,"0.0.0.0"
+CNACT: 2,0,"0.0.0.0"
+CNACT: 3,0,"0.0.0.0"
OK
証明書等の転送にはsendfileコマンドを使うとよさそう
(SSL接続のテストは未検証)
sendln 'AT+CFSINIT'
wait 'OK'
sendln 'AT+CFSWFILE=3,"RootCA.crt",0,1970,10000'
wait 'DOWNLOAD'
sendfile 'C:\RootCA.crt' 1
wait 'OK'
sendln 'AT+CFSRFILE=3,"RootCA.crt",0,1970,0'
wait 'OK'
sendln 'AT+CFSTERM'
wait 'OK'
sendln 'AT+CSSLCFG="convert",2,"RootCA.crt"'
wait 'OK'
バイナリーデータの送受信
こちらの記事を参照