树莓派和arduino蓝牙通信
树莓派和arduino蓝牙通信
树莓派上使用pybluez蓝牙模块
树莓派上使用蓝牙通信模块来进行通信
- pybluez的安装
使用pip工具安装,python2 使用 sudo pip install pybluez 进行安装,python版本使用 sudo pip3 install pybluez 安装

没有报错说明安装成功
2.pybluez 使用简要说明
简单的的客户端代码
import bluetooth
bd_addr = "01:23:45:67:89:AB" #arduino连接的蓝牙模块的地址
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port)) #创建连接
sock.send("1") #发送数据
sock.close() #关闭连接
arduino 上蓝牙模块使用
- Arduino HC05 接线
VCC:接Arduino的5V。
GND:接Arduino的GND。
TXD:发送端,一般表示为自己的发送端,接Arduino的RX。
RXD:接收端,一般表示为自己的接收端,接Arduino的TX。
注意检查下引脚不要接错了,以防烧坏原件。
- 接好后打开arduino编辑器
新建blue_tooth
将代码粘贴进编辑器
void setup()
{
Serial.begin(9600);
}
void loop()
{
while(Serial.available())
{
char c=Serial.read();
Serial.println("get message is :");
Serial.println(c);
if(c=='1')
{
Serial.println("hello arduino");
}
}
}
然后先将蓝牙模块的TXD RXD拔掉,编译上传程序。
显示上传成功后即可
- 打开串口调试工具
树莓派上面运行 代码
import bluetooth
bd_addr = "01:23:45:67:89:AB" #arduino连接的蓝牙模块的地址
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port)) #创建连接
sock.send("1") #发送数据
sock.close() #关闭连接
查看arduino串口调试工具
ok ,显示接收到字符“1”
现在树莓派就可以和arduino说话了。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
JFinal整合WebSocket
说明以tomcat容器为例,tomcat7以上版本开始支持websocket,JFinal集成的jetty服务器不支持websocket 一、包依赖,tomcat7或是javaee包都行,两者二选一,容器中已提供所以只作为提供者 org.apache.tomcattomcat-websocket-api7.0.47provided javaxjavaee-api7.0provided 二、JFinal的配置,需要一个Handler拦截websocket请求,WebSocketHandler实现如下 package com.nmtx.manager.handler; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.jfinal.handler.Handler; import com.jfinal.kit.StrKit; public class WebSocketHa...
-
下一篇
好程序员web前端学习路线分享Javascript-HTML的request类
好程序员web前端学习路线分享Javascript - HTML的request类,做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的html中用js获取当取地址栏的一个Object。 里面有三个方法: 1、request.QueryString("参数")//获取指定参数,返回字符串; 2、request.QueryStrings();//获取全部参数,并返回数组; 3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。 例如: 当前地址栏参数字符串为:?name=a&site=never_online alert(request.setQuery("name","blueDestiny")) 如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online setQuery方法有自动追加参数的功能。如: 当前地址栏参数字符串为:?site=never_online alert(request.setQuery("name"...
相关文章
文章评论
共有0条评论来说两句吧...





微信收款码
支付宝收款码