前言

这是一篇偏向教程的文章,若是实践的话,需要一些电路知识,arduino的基础知识,raspbain

Desktop 的基本使用基础。若有问题欢迎公众号后台留言。

1. 目标

arduino UNO 将 HC-SR501 MQ136 传感器采集的数据

通过蓝牙模块 HC-06 发送,树莓派调用python,使用 蓝牙获取数据并显示。

2. 实现方法

2.1 arduino UNO 接线图之 MQ-136

Ardunio A0 pin     Sensor A0Arduino 5V pin     Sensor VccArduino GND pin    Sensor GND

2.2 arduino UNO 接线图之 HC-SR501

2.3 arduino UNO 接线图之 HC-06

VCC

VCCGND GNDTXD D10RXD D11

2.4 arduino 代码实现

#include

SoftwareSerial BT(10, 11);int sensor=A0; //analog in mq-136int

sensorValue = 0; // intial sensor valueint pirPin = 7; //

HC-SR501int pirValue; //inital sensor value// creates a "virtual"

serial port/UART// connect BT module TX to D10// connect BT module

RX to D11// connect BT Vcc to 5V, GND to GNDvoid setup(){// set

digital pin to control as an outputpinMode(13, OUTPUT);// set the

data rate for the SoftwareSerial portBT.begin(9600);// Send test

message to other deviceBT.println("Hello from Arduino");}

char a; // stores incoming character from other devicevoid

loop(){if (BT.available()) // if text arrived in from BT

serial...{a=(BT.read());if (a=='1') // raspberry send "1" ,then UNO

reply datas{//digitalWrite(13, HIGH);//BT.println("LED

on");sensorValue=analogRead(sensor); //read input from

MQ-136pirValue = digitalRead(pirPin); //get value from

HC-SR501delay(1000); // slow down serial

port{BT.print("MQ135:");BT.println(sensorValue,DEC); //print MQ-135

sensorValue BT.print("HC-SR501:");BT.println(pirValue); // print

the HC-SR501}}}}

2.5 树莓派蓝牙配置

树莓派打开桌面,点击 LX终端,输入下面的命令bluetoothctl

进入蓝牙控制命令,依次输入下面的操作

power

ondiscoverable onagent ondefault-agent

查询 HC-06 的命令

scan on

执行上述命令后,会得到 HC-06 的地址,记录后备用

关闭扫描命令

scan off

将下面 xx:xx:xx:xx:xx:xx 替换为刚刚查到的 地址

pair

xx:xx:xx:xx:xx:xx

此处需要输入密码进行配对,配对码 1234

Device xx:xx:xx:xx:xx:xx Connected: yesRequest

PIN code

[agent]

Enter PIN code: 1234 ENTER

密码配对完成后,退出

exit

退出蓝牙控制命令后,输入命令,其中 xx:xx:xx:xx:xx:xx 为 HC-06 的地址sudo

rfcomm --raw connect 0 xx:xx:xx:xx:xx:xx 1

执行成功结果,如下:

Connected /dev/rfcomm0 to xx:xx:xx:xx:xx:xx on channel

1Press CTRL-C for hangup

2.6 树莓派代码实现 python

具体代码如下:import

serialfrom time import sleep

bluetoothSerial = serial.Serial( "/dev/rfcomm0", baudrate=9600

)

sleep(1)while True:print "OK"bluetoothSerial.write("1")print "recv

from arduino : %s " %(bluetoothSerial.readline())sleep(2)

新打开一个 LX终端 ,执行命令sudo

nano recv.py

将上述代码复制粘贴到文件中,退出保存

运行树莓派接收端指令sudo

python recv.py

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com

树莓派python蓝牙_Fen9Pi-05.树莓派 UNO蓝牙通信相关推荐

  1. 树莓派python开发教程_树莓派教程(基于python编程)--入门篇

    原标题:树莓派教程(基于python编程)--入门篇 一:格式化SD卡 SD卡插入读卡器连接电脑,使用SDFormatter对SD卡进行格式化 (重装烧录也要进行着SD卡格式化操作) 二:下载官方镜像 ...

  2. 树莓派python开发教程_树莓派Raspberry开发从基础到进阶视频+设计资料超详细教程下载...

    课程内容 [初级篇]重点推荐:树莓派开发实战视频教程+文档教程(含源码) 课程目录 教学视频与源代码 1.[进阶篇]Raspberry详细视频教程 树莓派基础 安装树莓派的操作系统 远程登录和使用树莓 ...

  3. 树莓派python gpio 模仿iic_树莓派高级GPIO库,wiringpi2 for python使用笔记(五)i2c读取测试...

    wiringpi2显然也把i2c驱动带给了Python,手头上正巧有一个DS3231的模块,上边带了一个DS3231 RTC(实时时钟),与一片24C32,两个芯片均为iic总线设备,与树莓派接线如下 ...

  4. 树莓派python爬虫 股票_Python树莓派 爬虫心得

    平台: 树莓派 linux 语言:python 搞一个爬虫都清楚是怎么回事,我这里玩过之后有下面的心得: 为什么要用树莓派呢,省电啊,没乱七八糟的桌面问题,可以一直开着. 1.树莓派上的磁盘写入对于不 ...

  5. 树莓派python编程小车_树莓派小车教程(三)——软件代码

    原标题:树莓派小车教程(三)--软件代码 树莓派小车教程(三)--软件代码 2017-07-07 琳小豆 HelloWorld少儿编程 树莓派小车教程 (三) 在上一次教程中,我们已经完成了硬件连接. ...

  6. 树莓派python gpio图形_树莓派GPIO功能学习

    前言 树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派的学习可以分为linux系统学习和linux驱动学习,利用树莓派制作LED流水灯应该算是驱动学习吧.树莓派来自国外,国外嵌入式开源领域具备良 ...

  7. 树莓派python编程优点_树莓派为什么会使用python编程?为什么有时python运行效率不高?...

    在许多编程语言中,Python的语法也有很大不同.Python使用空格或缩进来分隔不同的代码块.C语言和其他语言使用花括号来区分不同的代码块,例如if语句,Python使用冒号和缩进来定义代码块.这也 ...

  8. 树莓派python机器人程序_树莓派打造对话机器人 Python(转)

    工具列表 1. **树莓派**(型号不要求,本人使用的是3B) 2. **usb麦克风**(某宝有卖,我就不打广告了) 用来录音 3. **音响或者喇叭**(某宝也有卖) 用来播放 以上就是需要的工具 ...

  9. 树莓派python gpio 模仿iic_树莓派-用GPIO虚拟I2C

    前言: 非常不幸,树莓派没用多久,I2C接口无法detect. 抱着试一试的心理,到群里问了问,结果被人喷曰:"现在钱多人傻的人真多,什么都不懂,还玩树莓派". 我心想,难道树莓派 ...

  10. 树莓派python闹钟_使用树莓派和DS3231制作实时闹钟

    需要闹钟才能起床?使用Raspberry Pi Zero和DS3231 RTC模块制作一款闹钟! 在本篇文章中,我们将基于Raspberry Pi Zero开发板和DS3231 RTC模块制作一个数字 ...

最新文章

  1. go通过thrift连接hbase_关于thrift协议改进畅想
  2. 利用 commit 理解镜像构成
  3. 移动端适配的几种解决办法
  4. struts2.0标签库
  5. 2009岁末之复用系统框架(B/S)
  6. HDU1054 Strategic Game —— 最小点覆盖 or 树形DP
  7. sprintf_s用法c语言,sprintf_s函数的使用
  8. 我是技术男,也曾创业过,也拿过风投......
  9. 罗振宇《时间的朋友2018》跨年演讲全文
  10. 云原生架构下的 API 网关实践: Kong (三)
  11. 《python编程从入门到实践》第16章:收盘价均值的报错分析与解决
  12. android 手表解决方案,智能手表解决方案
  13. 描述12个异性追求者(互动媒体技术作业)
  14. Pinterest先辈Wists的创业故事
  15. python16进制表示0xad_在 Python 中 0xad 是合法的十六进制数字表示形式。 (2.0分)_学小易找答案...
  16. python eof是什么_python eoferror是什么异常
  17. 计算机英语os的全称,os是什么意思
  18. 给PPT插入页码和总页码
  19. 线段树 (更新区间查询点)秋实大哥与小朋友
  20. html如何让table表格垂直(上下)居中

热门文章

  1. SELECT ANY DICTIONARY
  2. linux关于禁用硬件xinput使用
  3. 洛谷P4513 小白逛公园
  4. 《剑指offer》第十三题(机器人的运动范围)
  5. 0025-中点位移的速度
  6. Python内置函数(44)——len
  7. 漫游Kafka设计篇之性能优化(7)
  8. C#如何把日期转成YYYYMMDDHHMMSSFFF的精确到毫秒的格式?
  9. 做到这23条,你就成熟了!
  10. 数据库操作之增删改查CRUD