1.準備工做:樹莓派Pi2板子,攀藤G5傳感器python
關於樹莓派40pin口網上不少,咱們只瞭解與攀藤G5鏈接的問題spa
(1)攀藤G5pin1(VCC5v)要注意是5V,有不少板子接的是3V,而樹莓派的pin2和pin4均可以接5V。G5的pin1鏈接Pi2的pin2和pin4均可以。code
(2)攀藤G5pin2(GND 電源負),G5pin2接Pi2的pin6.blog
(3)攀藤G5pin3(SET 待機設置),能夠隨便接個口子也能夠懸空。get
(4)攀藤G5pin4(RXD 串口接收管腳),接Pi2的TXDpin8。其實若是隻是傳感器發數據而不作向傳感器發數據能夠讓其懸空。cmd
(5)攀藤G5pin5(TXD 串口發送管腳),接Pi2的RXDpin10。it
(6)攀藤G5pin6(RESET),懸空。console
(7)攀藤G5pin7(NC),懸空。class
(8)攀藤G5pin8(NC),懸空。import
關於網上有不少關於樹莓派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。