なかなか会話できないRaspiとTwelite
Raspberry Pi 4とTWELITEを会話させようとして一日終わってしまった。
Raspberry Pi 4 と TWELITEの接続は至って単純で4本繋ぐだけ。
Raspberry Pi 4 | TWELITE |
3.3V (pin-1) | VCC (pin 28) |
GND (pin-6) | GND (pin-1) |
TXD (pin-8) | RX (pin-3) |
RXD (pin-10) | TX (pin-10) |
しかし、これを通信させるのには一苦労した。おまけに理由は分からないけれどTWELITEを一つ殉職させてしまった。
分からなかったのはRaspberry PiのGPIOのUARTに信号を出力する方法。あと、TWELITEのアプリのApp_Uartが送出する信号フォーマット。
まず、Raspberry PiのSerialポート機能を有効化する方法は幾つかの書き込みがあった。それは以下コマンドを実行すること。
$ sudo raspi-config
ここで表示される画面で 5. Interfacing Optionsを選ぶ。
次に P6 Serial を選ぶ。
ここでは<いいえ>を選ぶ。<はい>を選ぶとLinuxのコンソールアウトプットが怒涛の如くこのシリアルポートに流れてくる。
結果的に以下の組み合わせ(login shellは禁止でSerialをイネーブルにする)に設定する。
ここからが分からなかった。どのポートにどのボーレートでデータを書き込むのか。
採用したのは以下のファイルの記述。これは上のraspi-configでlogin shellの利用で<はい>を選んだ場合にcmdline.txtに書かれる内容。ここではconsole=serial0, 115200 と書かれている。login shellで<はい>を選ぶと、GPIOのUARTに怒涛の如くコンソール出力が書かれて、それをTWELITEは送り続ける。この様子はMONOSTICKをTeraTermで観察しているとわかる。つまり、serial0を115200でオープンすればよいわけだ。
で、以下のコードをRaspberry Piで動かしてみた
import serial
s = serial.Serial("/dev/serial0", 115200)
bs = '112233445566778899\n\r'
s.write(bs.encode())
結果はビンゴで、MONOSTICK側のTeraTermに以下が出力された。
:0300313132323333343435353636373738383939000043
Byte0はTWELITE DIPのDevice ID
Byte1は不明(親機のMONOSTICKのDevice ID=0だから宛先か?)
一番後ろはチェックサム
その前の2バイトの0000は不明
いずれにせよRaspberry PiのUART出力をTWELITEで送信することが出来た。
なお親機側は以下のコードで文字列化された16進数データをアスキー文字列に変換している。
import serial
s = serial.Serial("COM6", 115200, timeout=1)
try:
while True:
line = s.readline()
line = line.decode('utf-8')
if len(line):
print("%s" % line)
rdata = [line[i:i+2] for i in range(5,len(line)-6,2)]
for x in rdata:
n = int(x, 16)
print(chr(int(n)),end='')
print('\n')
except KeyboardInterrupt:
pass
s.close()
明日ははMONOSTICK側からTWELITE経由でRaspberry Piにコマンドを送ろう。
« Google AdSense落選 | トップページ | RaspiとTWELITEの会話の手助け »
「ラズパイ日記」カテゴリの記事
- NEO-7M GPSモジュールが中国から届いた(2023.01.15)
- TNCアプリにおけるDemoduatorの動作確認(2023.01.09)
- AFSKでの復調について(2023.01.04)
- APRSでのNRZIについて備忘録(2023.01.02)
- pico_tnc 2200Hz(Space)でPhaseをずらす件の備忘録(2022.12.31)
「TWELITE日記」カテゴリの記事
- TWELITEでソーラーパワーを使う - その4(2024.01.28)
- TWELITEでソーラーパワーを使う - その3(2024.01.26)
- TWELITEでソーラーパワーを使う - その2(2024.01.23)
- TWELITEでソーラーパワーを使う(2024.01.23)
- ゼロプレシャーICソケットに細いピンヘッダーを取り付けた(2024.01.20)
コメント