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。