树莓派与百度IoT服务器通信实验
MQTT简介:实现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、登录百度智能云平台,选择【物接入】服务
2、创建数据型项目,项目名称:rapi-IoT,得到服务器的地址和端口
tcp://t5iwz5j.mqtt.iot.gz.baidubce.com:1883ssl://t5iwz5j.mqtt.iot.gz.baidubce.com:1884wss://t5iwz5j.mqtt.iot.gz.baidubce.com:443
2、点击项目名称进入该项目,为服务器创建用户,创建身份,创建策略
得到用户名:t5iwz5j/peter
注意:在创建策略时,主题这一项如果是指定主题,那么服务器只接受指定的主题。如果想后续自定义主题,这里可以填写“#”(如图)
最后一步得到IoT服务器密码(建议复制保存,若遗失只能重新生成)
至此,服务器已经创建完毕。可以回到项目首页,进行网页测试。
二、树莓派端发布和订阅
1、树莓派发布超声探测距离到发布(Publish)到百度IoT服务器(Broker)
设置服务器程序
发布(Publish)函数:
超声波传感器的Trig和Echo引脚分别接树莓派的20和21号GPIO口。
代码块中的“test888”是树莓派编号,“dis”是发布主题
2、从IoT服务器订阅(Subscribe)“dis”主题
3、创建子线程执行发布(Publish)函数send
完整代码:
运行效果
三、用蘑菇IoT工具进行测试
注意:
古德微平台在订阅消息时会自动在订阅主题前面加上"树莓派编号/"(如 "test888/dis"),因此,在使用古德微平台之外的第三方工具进行测试时,发布和订阅主题都要加上"树莓派编号/".
蘑菇IoT是一个小巧的手机端Iot测试工具,非常好用
1、添加连接
2、服务器设置
3、发布测试
4、测试效果
收藏,学习中
页:
[1]