peterlhj 发表于 2020-2-15 19:08:25

树莓派与百度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、测试效果

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

收藏,学习中
页: [1]
查看完整版本: 树莓派与百度IoT服务器通信实验