综述
由树莓派作为上位机,定时运行python爬虫程序,将结果通过蓝牙发送给Arduino,Arduino接收到数据,将数据显示在1602LCD屏上,如果数据中显示会下雨,则亮起红色LED以提醒并(拓展:使用SIM900GSM模块,通过Arduino发信息给手机实时提醒。)
电子器件:
- raspberry pi 3B
- Arduino Uno
- HC-05蓝牙主从一体模块
- 1602LCD显示屏
- HC-SR04超声波测距模块
- 9V电池
- 1000Ω电阻
- 红色,绿色LED
- SIM900 GSM模块(拓展)
树莓派上位机:
一:蓝牙配置
目前知道有2种方法:
A:完全通过linux命令行完成
在Python环境下使用“import bluetooth”如果报出错误信息“ImportError: No module named bluetooth”则说明没有安装相应的包,执行一下命令安装。
$sudo apt-get update
$sudo apt-get install bluetooth bluez python-bluez
进入蓝牙连接工具
$ bluetoothctl
[NEW] Controller B8:27:EB:D3:61:B0 raspberrypi [default]
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
开始扫描周围蓝牙设备
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:D3:61:B0 Discovering: yes
[NEW] Device 98:14:01:10:C5:32 HC-05
连接蓝牙设备
[bluetooth]# pair 98:14:01:10:C5:32
Attempting to pair with 98:14:01:10:C5:32
[CHG] Device 98:14:01:10:C5:32 Connected: yes
Connected: yes
Request PIN code
[agent] Enter PIN code: 1234
[CHG] Device 98:14:01:10:C5:32 UUIDs:
00001101-0000-1000-8000-00805f9b34fb
[CHG] Device 98:14:01:10:C5:32 Paired: yes
Pairing successful
生成rfcomm0 文件(要用)
$ sudo rfcomm bind 0 98:14