実現したいこと
Raspberry Pi Picoから無線モジュール(ZB24TM-E2036)へUART通信(MicroPython)できるようにしたい。
最終的には同系のリモコンの信号を受信したいです。
どなたか上記実装を実現したことがある方、いらっしゃいませんか?💦
なお、わたしはエンジニアではありますが、普段物理モジュールを触ることがなく、趣味でRaspberry Pi+たまたま手に入ったモジュールで制御系を勉強している最中です。
前提
Raspberry Pi Pico(MicroPython)と、ダイセン電子工業のベース基板に載った無線モジュール「ZB24TM-E2036(NECプラットフォームズ製)」をシリアル接続し、死活確認(生存確認パケットの送信)を試みています。
しかし、パケットを送信してもモジュール側から一切の応答(Readデータ)が得られない状態が続いており、原因を特定できずに行き詰まっています。
発生している問題・エラメッセージ
エラー含め、一切応答がないです。
該当のソースコード
micropython
1from machine import UART, Pin 2import time 3 4# ボーレートは 38400 と 115200 の両パターンをテスト 5uart = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1)) 6 7# コマンドフォーマット: Start(0x0F), MsgID(0x5A), ... と想定される生存確認パケット 8# (※ドングルツール側のバイナリログを参考に組み立て) 9cmd = bytes([0x0F, 0x5A, 0x00, 0x02, 0x77, 0x00, 0x79, 0x04]) 10 11print("Sending command...") 12uart.write(cmd) 13 14time.sleep(1) # 応答を少し待つ 15 16if uart.any(): 17 rx_data = uart.read() 18 print("🎉 応答あり:", rx_data.hex()) 19else: 20 print("... 応答なし")
試したこと
Picoの単体チェック(ループバックテスト):
Picoの GP0(TX) と GP1(RX) をワイヤで直結し、上記ようなコード(もっとシンプルなuart write)を実行したところ、送信したデータがそのまま正常に受信できることを確認しました。(PicoのUART機能およびコードは正常に動作しています)
TX/RXのクロス接続:
基板の回路図のタグ表記 [TX] [RX] に従ったパターンと、ピン名 TxD RxD にそのまま従ったパターンの両方(入れ替え)を試しましたが、どちらも応答なしでした。
補足情報(FW/ツールのバージョンなど)
このモジュールにはコマンドなどのルールが厳密にあるようで、それに従わないと応答すら返さないらしいです
https://akizukidenshi.com/catalog/g/g111196/
回答2件
あなたの回答
tips
プレビュー