关于树莓派Pi2通过UART连接攀藤G5传感器的python
1.准备工作:树莓派Pi2板子,攀藤G5传感器
关于树莓派40pin口网上很多,我们只了解与攀藤G5连接的问题
(1)攀藤G5pin1(VCC5v)要注意是5V,有很多板子接的是3V,而树莓派的pin2和pin4都可以接5V。G5的pin1连接Pi2的pin2和pin4都可以。
(2)攀藤G5pin2(GND 电源负),G5pin2接Pi2的pin6.
(3)攀藤G5pin3(SET 待机设置),可以随便接个口子也可以悬空。
(4)攀藤G5pin4(RXD 串口接收管脚),接Pi2的TXDpin8。其实如果只是传感器发数据而不做向传感器发数据可以让其悬空。
(5)攀藤G5pin5(TXD 串口发送管脚),接Pi2的RXDpin10。
(6)攀藤G5pin6(RESET),悬空。
(7)攀藤G5pin7(NC),悬空。
(8)攀藤G5pin8(NC),悬空。
关于网上有很多关于树莓派Pi3的设置,因为树莓派Pi3的UART(ttyAMA0)是被蓝牙默认占用的,所以要进行相应的设置,为了确保不出问题,我们树莓派Pi2同样进行了设置。
控制台sudo nano /boot/config.txt修改如下:
enable_uart=1
同时关掉默认的console
sudo systemctl disable serial-getty@ttyS0.service
之后sudo nano /boot/cmdline.txt
删掉console=ttyAMA0,console=ttyS0
之后就可以直接运行python代码了
import serial import time def pm(): ser = serial.Serial('/dev/ttyAMA0',9600) while True: time.sleep(0.5) count = ser.inWaiting() if count >= 24: recv = ser.read(count) data = map(lambda c:hex(ord(c)),recv) print data ser.flushInput() ser.close() return if __name__=='__main__': pm()
要注意,攀藤G5默认波特率为9600,连接不同的传感器要注意不同的波特率设置。上述按16进制打印,传感器数据前两位固定为(‘0x42’,‘0x4d’),如果不是可能有问题。
而且要注意要安装pyserial。