關於樹莓派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。

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM