树莓派用Python写几个简单程序4_UART

首先树莓派得安装 python-serial  ,Raspbian还需要在raspi-config中激活UART.

然后修改文件1:sudo nano /boot/cmdline.txt, 删除红色部分: 

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

最终变为: dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

然后修改文件2:sudo nano /etc/inittab, 注释最后一行内容: 

#T0:23:respawn:/sbin/getty-L ttyAMA0 115200 vt100,


例子:

模块HM-10的配置方法:在蓝牙模块未连接蓝牙4.0设备的情况下,使用串口调试工具minicom,复制命令后,粘贴在工具里发送给模块。具体参见该模块的手册。蓝牙4.0设备如手机用app与模块相连,最后用该模块公司出的那个 BLE蓝牙串口调试助手 app。

写程序用uart与模块通信 BT_demo.py

import serial
import time

ser = serial.Serial('/dev/ttyAMA0', 115200, timeout=1)
#ser = serial.Serial('COM3', 115200, timeout=1)
print ser.isOpen()
words="abcd"

while 1:      
    getchr = ser.read()
    #print getchr
    if getchr == 'h':
        ser.write(words)
    time.sleep(5)
ser.close()

调试过程出现错误:

如果安卓app发送字符出现发送不成功,比如点一下发一大串:

1, 可能是树莓派上串口没打开,Raspbian在raspi-config 中打开,并确认串口文件修改配置正常。

2,由于先连接了模块后运行程序,正确的应该是先运行程序后连接模块。

如果收发没反应,或者是乱码,确认连接正确,速率是否匹配。


你可能感兴趣的:(树莓派用Python写几个简单程序4_UART)