關於樹莓派Pi2經過UART鏈接攀藤G5傳感器的python

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。

相關文章
相關標籤/搜索