树莓派与百度IoT服务器通信实验

2020-02-155756
AI 快速预览详细 收起
本文介绍了如何使用树莓派连接超声波传感器并通过MQTT协议将距离数据发布到百度IoT服务器,同时订阅并显示实时距离数值。首先,你需要在百度智能云平台上创建一个数据型项目,获取服务器的地址和端口。接着,在树莓派上编写代码,设置发布和订阅功能。最后,使用蘑菇IoT工具进行测试,确保通信正常。
MQTT简介:


树莓派与百度IoT服务器通信实验图11

实现MQTT协议需要:客户端和服务器端

MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

MQTT传输的消息分为:主题(Topic)和负载(payload)两部分
Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload)
payload,可以理解为消息的内容,是指订阅者具体要使用的内容




实现目的:


树莓派连接超声波传感器,探测的距离通过MQTT协议将某一主题(Topic)发布(Publish)百度IoT服务器(Broker),树莓派同时订阅(Subscribe)IoT服务器的相应主题Topic实时显示距离数值payload)




实验平台:


百度AI:http://ai.baidu.com

古德微编程平台:http://www.gdwrobot.cn


实验器材:

树莓派
超声波传感器

一、搭建百度IoT服务器

1、登录百度智能云平台,选择【物接入】服务


树莓派与百度IoT服务器通信实验图1


2、创建数据型项目,项目名称:rapi-IoT,得到服务器的地址和端口


tcp://t5iwz5j.mqtt.iot.gz.baidubce.com:1883
ssl://t5iwz5j.mqtt.iot.gz.baidubce.com:1884
wss://t5iwz5j.mqtt.iot.gz.baidubce.com:443
[color=rgba(0, 0, 0, 0.6)]

树莓派与百度IoT服务器通信实验图2        树莓派与百度IoT服务器通信实验图3树莓派与百度IoT服务器通信实验图4


2、点击项目名称进入该项目,为服务器创建用户,创建身份,创建策略

得到用户名:t5iwz5j/peter  

注意:在创建策略时,主题这一项如果是指定主题,那么服务器只接受指定的主题。如果想后续自定义主题,这里可以填写“#”(如图)

最后一步得到IoT服务器
密码(建议复制保存,若遗失只能重新生成)
树莓派与百度IoT服务器通信实验图5  树莓派与百度IoT服务器通信实验图6树莓派与百度IoT服务器通信实验图7树莓派与百度IoT服务器通信实验图8


至此,服务器已经创建完毕。可以回到项目首页,进行网页测试。

树莓派与百度IoT服务器通信实验图9        树莓派与百度IoT服务器通信实验图10


二、树莓派端发布和订阅



1、树莓派发布超声探测距离到发布(Publish)百度IoT服务器(Broker)



设置服务器程序



树莓派与百度IoT服务器通信实验图12


发布(Publish)函数:



树莓派与百度IoT服务器通信实验图13


超声波传感器的Trig和Echo引脚分别接树莓派的20和21号GPIO口。


代码块中的“test888”是树莓派编号,“dis”是发布主题


2、从IoT服务器订阅Subscribe)“dis”主题



树莓派与百度IoT服务器通信实验图14

3、创建子线程执行发布(Publish)函数send


树莓派与百度IoT服务器通信实验图15


完整代码:


树莓派与百度IoT服务器通信实验图16


运行效果


树莓派与百度IoT服务器通信实验图20



三、用蘑菇IoT工具进行测试



注意:

古德微平台在订阅消息时会自动在订阅主题前面加上"树莓派编号/"(如 "test888/dis"),因此,在使用古德微平台之外的第三方工具进行测试时,发布和订阅主题都要加上"树莓派编号/".



蘑菇IoT是一个小巧的手机端Iot测试工具,非常好用



1、添加连接

树莓派与百度IoT服务器通信实验图17

2、服务器设置

树莓派与百度IoT服务器通信实验图18

3、发布测试

树莓派与百度IoT服务器通信实验图19

4、测试效果

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
DFrJ5KYVQaH
DFrJ5KYVQaH
收藏,学习中
- 没有更多了 -