uen2825
2024年3月13日 15時04分
お世話になっております。
現在10分毎にLTEでの通信をしており、通信開始前に電波状況を確認しています。
pythonでの実行をしています。電波強度取得python.txt。
殆どの場合は OK.txt ですが
たまに NG.txt のようになり、電波情報がつかめなくなります。
確認する場所等アドバイスを頂けたら幸いです。
宜しくお願いいたします。
ファイル | ファイルの説明 |
---|---|
電波強度取得python.txt | |
OK.txt | |
NG.txt |
コメント
uen2825
吉田様
早速のご回答ありがとうございます。
追加で申し訳ございません。
10分毎、SLEEPから起動しています。
その場合、毎回再接続となると思うのですが、違うのでしょうか。
宜しくお願いいたします。
ファイル | ファイルの説明 |
---|---|
power-utils.conf |
at_mitsuhiro.yoshida
uen2825
uen2825
お世話になっております。
電波強度を取得するため下記のブログのpythonプログラムを使用させて頂いております。
https://armadillo.atmark-techno.com/blog/11167/17337
ATコマンドでも試したいのですが、実装することは出来ますでしょうか。
[armadillo ~]# send-at /dev/ttyMux2 AT+CSQ echo ems31
at_mitsuhiro.yoshida
吉田です。
幾つか実現手段はあると思いますが、
一例を記載します。
/usr/bin/send-at をコピーし、そのディレクトリを共有します。
mkdir /var/app/rollback/volumes/mm cp /usr/bin/send-at /var/app/rollback/volumes/mm/. armadillo:/var/app/rollback/volumes/mm# ls send-at
コンテナ設定ファイルで、上記ディレクトリをコンテナに見せて、
ttyMux を add_hotplugs に設定しコンテナからアクセス可能にします。
add_hotplugs を使用することで、
LTE モジュールを再起動させた後も ttyMux2 をコンテナから使用できます。
armadillo:~# cat /etc/atmark/containers/.~conf ... 前略 ... add_volumes /var/app/rollback/volumes/mm:/mm: add_hotplugs ttyMux
コンテナ上でコマンドの実行が可能になります。
~ # /mm/send-at /dev/ttyMux2 AT+CSQ echo ems31 +CSQ: 21,99 OK
uen2825
吉田様
ありがとうございます。
ご説明の通りでコンテナ上からコマンド実行できる事を確認いたしました。
------------
こちらでする質問で無いようでしたらご容赦ください
pythonで運用しておりますがatコマンドの結果を取得しようとしています
res = subprocess.run("/mm/send-at /dev/ttyMux2 AT+CSQ echo ems31",shell=True, stdout=PIPE, text=True) print(res) その結果が CompletedProcess(args='/mm/send-at /dev/ttyMux2 AT+CSQ echo ems31', returncode=0, stdout='')
stdoutに値が入りません。
ls / 等で試したのですがこちらは値が入ります
CompletedProcess(args='ls /mm', returncode=0, stdout='send-at\n')
atコマンドには対応していないという事でしょうか?
at_mitsuhiro.yoshida
吉田です。
ざっくりした回答になるのですが、
コンテナ上で ttyMux2 が見えていますので
ttyMux2 に pyserial を使用する手もあります。
import serial if __name__ == '__main__': _mux2 = serial.Serial('/dev/ttyMxu2', baudrate=460800, timeout=5) _mux2.write(str.encode('AT+CSQ\r\n')) line = _mux2.readline() print(line) line = _mux2.readline() print(line) _mux2.close()
上記ですと line には
b'AT+CSQ\r\r\n' b'+CSQ: 25,99\r\n'
の様に値が入るかと思われます。
※ AT+CSQ の echo が返ってこない場合もあります。
不要なレスポンスの読み捨て、異常系は考慮しておりませんが参考になれば幸いです。
uen2825
at_mitsuhiro.yoshida
2024年3月13日 15時19分
吉田です。
LTE の再接続中及び起動時には NG.txt の状況になります。
そのため、取得できない状況もあり得る前提でのご利用・設計をお願いします。
よろしくお願いします。