0
0

More than 3 years have passed since last update.

TWE-LITE と Raspberry Pi 3 + PySerial でシリアル通信する

Posted at

結線

  • TWE側 <-> PI側
  • 28: VDD <-> 17: 3V3 (1: 3V3でもよい)
  • 1: GND <-> 14: GND (9 とか 20 とかでもよい)
  • 6: TX <-> 10: RX/GPIO15
  • 7: RX <-> 8: TX/GPIO14

TWE 側: 参考 超簡単!標準アプリ(App_Twelite)

Raspberry Pi3 側: 参考 Raspberry PiのGPIOピンの配置図カード

Raspberry Pi 側の準備

デフォルトではシルアルコンソールが ON になっていて、TX/RX のラインを使っているので、そのままでは混線してしまう。それを避けるために、シリアルコンソールを OFF にする。

image.png

デスクトップのメニューから Raspberry Pi の設定を開いて、インターフェイスのタグの「シルアルコンソール」の項目が「有効」になっているのを「無効」にし、シリアルポートを「有効」にする。右下の OK を押して設定画面を閉じる。(再起動が必要かも?)

これで /dev/serial0 が使えるようになるはず。

pyserial のインストール

下記などを参考にして pyserial をインストールする。mac 用の記事だけど、raspberry pi でもほぼ同様にインストールできる(多分)。

プログラム

受信だけなら下記のような感じでいける。(TWE-LITE 側の通信速度が 115200 bps の場合)。通信速度などの設定を変更したければ、コメントアウトしている部分を適切に書きかえる。

ser = serial.Serial(
      port = "/dev/serial0",
      baudrate = 115200,
      #parity = serial.PARITY_NONE,
      #bytesize = serial.EIGHTBITS,
      #stopbits = serial.STOPBITS_ONE,
      #timeout = None,
      #xonxoff = 0,
      #rtscts = 0,
      )

while True:
      if ser.in_waiting > 0:
            recv_data = ser.read(1)
            print(type(recv_data))
            a = struct.unpack_from("B",recv_data ,0)
            print( a )
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0