温度上报到腾讯云物联网通信
Posted last breath
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了温度上报到腾讯云物联网通信相关的知识,希望对你有一定的参考价值。
前言
之前我们动手编程实现了温度上报到阿里云物联网平台,现在我们上报报道腾讯云,二者原理与流程大致相同,我就只简单的说一下不同点和我遇到的问题。源码:https://gitee.com/lastbreath/apue/tree/master/tencent_mqtt
一、使用MQTT.fx进行测试
1.注册登录腾讯云。
2.创建产品
认证方式 在我们测试过程中用哪个都没问题,不过我们编程用的是第二种,因为我们阿里云用的就是密钥认证。证书认证如何编程实现可自行百度。
然后就是数据类型,第二种自定义我没试过,第一种和阿里云一样是json,不过在测试中发现不必你自己生成json格式。腾讯云会自动转换,我们在接下来的测试中可以看到。
由于我们编程是使用的密钥认证,接下来测试密钥认证,所以请读者自行测试证书认证,一定要看官方文档。
确定后
点击产品。
为了省事儿选第一个自动生成。最终结果没有区别。
我没有发现这个设备密钥有什么用,所以直接管理设备。
很熟悉吧,打开MQTT.fx 填入配置文件。
其中 brokeraddress
建议自己翻官方文档。
连接成功。
腾讯云我感觉是要比阿里云简单一些的,我们就不需要配置物模型。
直接订阅或发布后进行调试。
不需要我们自己动手实现json格式。
到这里就测试完了,建议根据官方文档把不会的点弄懂。
二、编程中遇到的问题
源码已给出,下面仅仅说一下我遇到的问题。
1.ini.文件
建议在ini文件中字符串用双引号括起来,否则使用iniparser_getstring()遇到分号(;)会停止,导致用户名和密码读取不完整,原因我也不知道,可以自行尝试一下。
2.mosquitto_loop_forever and mosquitto_loop_start
在主函数的这个循环里,我用不阻塞的mosquitto_loop_start代替了mosquitto_loop_forever,另外,将数据处理打包成一个函数,同时弃用connect的回调函数。
至于原因,读者可以先使用之前阿里云的模式再改用这种模式,就可以发现其中的差别,以及mosquitto_loop_forever and mosquitto_loop_start的区别。
以上是关于温度上报到腾讯云物联网通信的主要内容,如果未能解决你的问题,请参考以下文章
STM32+ESP8266(ESP-12F)物联网温度计-腾讯云物联网
STM32+ESP8266(ESP-12F)物联网温度计-腾讯云物联网
STM32+ESP8266(ESP-12F)物联网温度计-腾讯云物联网
智慧农业: STM32F103ZE+ESP8266+腾讯云物联网平台+微信小程序设计