树莓派用Python写几个简单程序3_UART_BT-HM10

本文所使用的蓝牙模块是HM-10,通过串口控制,输入电压:3.3V / 5V  只需要一组电源供电

 

内置电平转换功能。

 

如果用5.0V MCU与蓝牙模块通讯,5.0V电源端口供电,RX TX 逻辑电平5V

如果用3.3V MCU与蓝牙模块通讯,3.3V电源端口供电,RX TX 逻辑电平3.3V

 

RX,蓝牙模块串口接收端与MCU的TXD连接。

TX,蓝牙模块串口发送端与MCU的RXD连接。

GND,地端电源负极

3.3V,电源端3.3V电源

# 5V,电源端5V电源

 

Android手机端(蓝牙4.0)与模块连接需用专门的apk,http://pan.baidu.com/s/1eQ8P9nG

对模块发指令设置也在上面分享中。把指令(如AT+BAUD?)直接复制到串口调试工具中,查看配置蓝牙模块的设置。

剩下的就是串口的使用了。

'''****************************************************************************************************'''

串口的使用:

Linux终端中,可以使用minicom工具,另外使用前可能需要修改两处文件,改完重启下:

【1】修改/boot/cmdline.txt

    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=0console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

    

【2】修改/etc/inittab

    sudo nano /etc/inittab

    【注释最后一行内容】

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

 

Windows下,可以使用串口调试工具,如sscom

'''****************************************************************************************************'''

minicom的配置串口:sudo minicom -s

minicom的使用:

自动换行:Ctrl+A Z W

清屏:Ctrl+A C

回显:Ctrl+A E

退出:Ctrl+A Q Enter

'''****************************************************************************************************'''

树莓派通过串口控制蓝牙模块的程序

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
        ser.write(words)

        endTime = time.time()
        print ""
        time.sleep(5)
ser.close()

常见错误

如果安卓app发送字符出现发送不成功,比如点一下发一大串,是树莓派上串口没打开,Raspbian在raspi-config 中打开,并确认串口文件修改配置正常。

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

你可能感兴趣的:(RaspberryPi,Python)