2015年3月29日日曜日

Raspberry Piでシリアル通信2

Raspberry Piでシリアル通信2

シリアル通信での送信ができるようになったので、受信の実験をしてみました。
(Python 2.7.3)

#! /usr/bin/python
import serial
import time
try:
    port = "/dev/rfcomm0"
    baudrate = 115200
    ser = serial.Serial(port, baudrate)
except  serial.SerialException as e:
    print("could not open serial port '{}':{}".format(port,e))

while 1:
    time.sleep(1)
    if ser.inWriting() > 0:
        print(ser.inWaiting())
        for i in range(ser.inWaiting()):
            print(i,ser.read(1))    
ser.close()

スマホからBluetooth Terminalで”あ”と送ると
3
(0, ‘\xe3’)
(1, ‘\x81’)
(2, ‘\x82’)
と表示された。改行コードなしでUTF-8で送られていることが分かりました。

だからreadline()でリードできないと思い、以下のように修正したら”あ”と表示されました。

while 1:
    time.sleep(1)
    if ser.inWriting() > 0:
        print ser.read(ser.inWaiting())
#       for i in range(ser.inWaiting()):
#       print(i,ser.read(1))    
ser.close()

0 件のコメント :

コメントを投稿