1丶创建产品和设备。
请移步至https://blog.youkuaiyun.com/qq997758497/article/details/90757307
该博客有详细的MQTT连接阿里云步骤。
如下图是我建好的产品和设备:
2丶使用MQTTfx测试软件实现MQTT
下图是MQTTfx连接阿里云的相关账号密码
连接成功后右上角会有绿灯显示:
首先我们在设备的Topic列表复制订阅topic粘贴至MQTTfx的subscribe端目录,然后点subscribe
订阅了之后,回到阿里云服务器,进入监控运维进入在线调试,发布温度为50,点击发送指令,屏幕会显示发送指令成功,
刷新之后观察到设备的运行状态:
回到MQTTfx软件,会看到右下角收到了来至阿里云服务器传来的温度:
{
"method" : "thing.service.property.set",
"id" : "998114556",
"params" : {
"CurrentTemperature" : 50
},
"version" : "1.0.0"
}
复制该消息的发布格式。
再次进入设备的topic会话,
复制该目录至MQTTfx的发布端目录,将上述复制的消息格式粘贴到下面,并将温度该为100度:
回到阿里云设备,刷新之后观察运行状态:
如上使用MQTTfx软件实现通信。
3丶将树莓派上获取的温度使用MQTT上传至阿里云服务器
前面几篇MQTT博客已经实现了在树莓派服务器下的MQTT实现温度上报,那么如何将温度上报至阿里云服务器呢?他们之间是如何连接的呢?下面我就来介绍一下:
(1)获取Link Kit SDK :打开网址https://code.aliyun.com/linkkit/c-sdk/repository/archive.zip?spm=a2c4g.11186623.2.10.4b952359PP35EP&ref=v3.0.1
下好之后使用rz 获取至虚拟机下并使用unzip解压改名为c-sdk:
iot@Public_RPi:~/caiwentao/team_lihaojie/caiwentao/mqtt $ ls
archive.zip?spm=a2c4g.11186623.2.10.4b952359PP35EP cJSON c-sdk c-sdk-v3.0.1-fe3f16bcec94f5d533b2b369f67704474a95b687.zip mqtt_publish mqtt_subscribe
(2)设备身份信息将通过HAL调用返回给SDK。因此,需要将wrappers/os/ubuntu/HAL_OS_linux.c中的设备证书信息修改为创建产品与设备中测试产品的设备证书,完成后保存退出。
iot@Public_RPi:~/caiwentao/team_lihaojie/caiwentao/mqtt $ vim c-sdk/wrappers/os