查看: 246|回复: 1

[教程] 树莓派与百度IoT服务器通信实验

[复制链接]
MQTT简介:


202002152255..png

实现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、登录百度智能云平台,选择【物接入】服务


202002151555..png


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)]

202002155282..png          202002156090..png 202002159966..png


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

得到用户名:t5iwz5j/peter  

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

最后一步得到IoT服务器
密码(建议复制保存,若遗失只能重新生成)
202002152028..png    202002153852..png 202002154139..png 202002154292..png


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

202002159233..png          202002156715..png


二、树莓派端发布和订阅



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



设置服务器程序



202002152139..png


发布(Publish)函数:



202002159413..png


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


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


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



202002153531..png

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


202002158433..png


完整代码:


202002158516..png


运行效果


202002165077..png



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



注意:

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



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



1、添加连接

202002157289..png

2、服务器设置

202002154944..png

3、发布测试

202002158701..png

4、测试效果

DFrJ5KYVQaH  中级技匠

发表于 2020-2-16 11:34:53

收藏,学习中
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail