1. 程式人生 > >Python與硬體學習筆記:藍芽(二)

Python與硬體學習筆記:藍芽(二)

大家也可以按附錄中的AT命令詳解來設定藍芽模組,下面我們用藍芽模組跟樹莓派連線來製作一個藍芽無線通訊開關,手機充當遙控器,我們需要將藍芽模式設為從模式,波特率為9600,配對密碼為0000。

藍芽無線通訊開關製作

                1、所需材料

                              1)藍芽模組;   2)樹莓派

                               3) LED燈;       4) 連線線數根

                2、引腳連線

藍芽模組 Raspberry Pi
GND GND
5V 5V
TX RX(Pin 10)
RX TX(Pin 8)
LED Raspberry Pi
短腳 GND
長腳 GPIO 21(Pin 40)

3、樹莓派UART配置和使用 

A、修改檔案/boot/cmdline.txt:sudo nano /boot/cmdline.txt

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

將【......】部分刪除,變為:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2rootfstype=ext4 elevator=deadline rootwait

B、修改檔案/etc/inittab: sudo nano /etc/inittab

註釋最後一行內容:

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

C、使用minicom,測試樹莓派UART是否正常工作

安裝minicom: sudo apt-get install minicom

啟動minicom: minicom -b 9600 -o -D/dev/ttyAMA0


使用minicom傳送內容:直接在控制檯輸入內容即可,如果minicom打開了回顯可在控制檯中觀察到輸出內容,如果回顯關閉則控制檯中沒任何反應,千萬不要以為minicom沒有正常工作。

minicom回顯控制:     打開回顯:先按Ctrl+A,再E

                       關閉回顯:先按Ctrl+A,再Q

   D、使用pyserial

minicom僅滿足除錯用途,如果需要程式設計解決問題那麼python的serial擴充套件庫—pyserial,使用命令安裝:sudo apt-get install python-serial,安裝此庫後,我就可以呼叫此庫來編寫程式了。

4、軟體設計

首先找一步安卓手機,再到這裡連結: http://pan.baidu.com/s/1pJNwpdT 密碼: x5f3下載一個“藍芽開關.apk”。

再登陸到樹莓派,新建Python檔案: bluetooth.py 程式碼如下:

# -*- coding: utf-8 -*   #編碼方式
import serial     #包含相應的庫
import time
import RPi.GPIO as GPIO 

GPIO.setwarnings(False)   #取消警告
GPIO.setmode(GPIO.BCM)    #設定引腳編碼方式
GPIO.setup(21,GPIO.OUT)   #講GPIO 21口設定為輸出模式

ser = serial.Serial('/dev/ttyAMA0', 9600, timeout = 0.5)  #開啟串列埠,括號內為引數

while True:   #迴圈
	if ser.isOpen() == False:
		ser.open()
	
	switch = ser.read()   #讀取串列埠中的資料
 	print switch         #列印從串列埠中讀取的資料
	#ser.write('A')    #相對藍芽來說向外輸出給使用者,本程式不需要用到,僅告知 
	if switch == 'y':   #判斷讀取的資料是‘y’
		GPIO.output(21,GPIO.HIGH)  #如果是‘y’點亮led
	if switch == 'n':    #判斷讀取的資料是‘n’
		GPIO.output(21,GPIO.LOW)  #如果是‘n’熄滅led
	time.sleep(0.1)   #必要的延時

儲存檔案執行。

接下來我們將安卓手機藍芽開啟,然後搜尋裝置,將會搜尋到連線在樹莓派上的藍芽,點選它,輸入配對密碼後配對成功。然後開啟剛剛下載的“藍芽通訊.apk”安卓程式。開啟後如下圖1。點選“連線藍芽”按鈕,將會出現剛剛配對藍芽列表,然後選擇樹莓派藍芽,連線成功後,顯示介面如下圖2

圖一


這時你就可以測試你的遠端無線開燈光燈按鈕了,觀察LED燈的變化吧。有興趣有條件的同學,可以拿兩個樹莓派和藍芽模組,一個做主,一個做從,讓們兩進行相互通訊。