温度上报到腾讯云物联网通信

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+腾讯云物联网平台+微信小程序设计

智慧农业: STM32F103ZE+ESP8266+腾讯云物联网平台+微信小程序设计

基于STM32腾讯云物联网平台和微信小程序应用