目录

一、创建产品

二、创建产品功能

三、创建设备

四、获取MQTT连接参数

五、消息主体

六、连接华为云

七、完整代码


回顾记录

一、创建产品

1、进入华为云官网,注册或登录后,点击右上角的“控制台”

2、点击左上角的导航栏,在展开的页面找到“设备接入 IoTDA”

3、点击“产品” ,再点击“创建产品”

二、创建产品功能

1、点击“查看”

2、点击“自定义模型”

3、服务描述如下,点击确定

4、添加属性

5、新增属性信息如下,点击确定,产品一个发布温度的功能就创建好了

三、创建设备

1、点击“设备”中的“所有设备”,点击“注册设备”

2、填写相关信息,设备就创建成功了

四、获取MQTT连接参数

1、上一个步骤完成后会弹出下面的这个界面,我们点击保存并关闭,保存设备信息到txt文件中以便等会儿MQTT客户端连接华为云使用

2、Huaweicloud IoTDA Mqtt ClientId Generator这是华为云根据设备id和设备密钥生成MQTT客户端连接信息的一个网页:Huaweicloud IoTDA Mqtt ClientId Generator

将前面保存的文件中的的 device_id 和 secret 填入后按“Generate”,并将生成的连接信息复制到txt文件中,方便后面使用和校正

3、获取 端口和服务器地址,并将信息保存到txt文件中

4、获取“topic ”

注意Topic中的{device_id}需要替换为我们前面获取到的 device_id

五、消息主体

华为云设备属性上报的官方文档链接:https://support.huaweicloud.com/api-iothub/iot_06_v5_3010.html

通过官方说明可以知道,如果我们只想将温度属性上报给华为云,我们的数据格式应该如下:

{"services": [{"service_id": value,"properties": {"CurrentTemperature": value}}]
}

属性名称是和服务id是我们创建产品功能时给产品添加的,按照下面的查找一下

六、连接华为云

char    *hostname = "xxxxx.iotcloud.tencentdevices.com";
char    *topic = "$shadow/operation/xxxxxx/TGT-DS18B20-1";
char    *clientId = "xxxxxxxx";
char    *username = "xxxxxxx1xxxxxx8";
char    *password = "2xxxxxx9522dbc05bxxxxxxxha2xxxxxxx";
int      port = 1883;
char    *payload = "{\"services\": [{\"service_id\": \"1\",\"properties\": {\"CurrentTemperature\": 27.980}}]}";mosq = mosquitto_new(clientId, ture, NULL);
mosquitto_username_pw_set(mosq, username, password);
mosquitto_connect(mosq, serv_ip, port, 60);//serv_ip是经过hostname的DNS解析所得
mosquitto_publish(mosq, NULL, topic, strlen(payload)+1, payload, 0, 0);//上面的xxxxx 用自己的MQTT参数替换上去

程序编译

连接成功

数据上报成功

七、完整代码

【下面留言,私聊给】

MQTT客户端(基于mosquitto)上报温度到华为云 ——DS18B20发布订阅温度(Linux C编程)相关推荐

  1. MQTT客户端(基于mosquitto库)上报温度到阿里云

    Linux C MQTT客户端上报温度到阿里云 一.创建产品 1.进入阿里云官方页面,右上角点击登陆或注册阿里云账号 2.登录阿里云账号后点击右上角进入控制台 3.鼠标移到左上角展开导航 4.进入在物 ...

  2. 软件成分分析:华为云重磅发布开源软件治理服务

    摘要:软件成分分析,指通过对软件源码.二进制软件包等的静态分析,挖掘其所存在的开源合规.已知漏洞等安全合规风险,是一种业界常见的安全测试手段. 本文分享自华为云社区<华为云重磅发布开源软件治理服 ...

  3. 华为云重磅发布:“乐高式”自动驾驶研发开放平台,携手伙伴共建生态

    摘要:华为云及伙伴们希望通过"乐高式.模块化"的简单操作,来帮助不同诉求的客户实现自动驾驶研发平台快速构建的目标. 本文分享自华为云社区<华为云重磅发布:"乐高式& ...

  4. Cloud Native Weekly | 华为云抢先发布Redis5.0,红帽宣布收购混合云提供商 NooBaa

    1--华为云抢先发布Redis5.0 2--DigitalOcean K8s服务正式上线 3--红帽宣布收购混合云提供商 NooBaa 4--微软发布多项 Azure Kubernetes 服务更新 ...

  5. 【MQTT】基于mosquitto的学习和使用

    文章目录 前言 一.MQTT简介 MQTT特性 MQTT协议原理 MQTT协议数据包结构 二.安装MQTT 1.mosquitto简介 2.安装mosquitto库 2.常用MQTT库函数 三.代码实 ...

  6. 初识 MQTT (基于 mosquitto)

    目录 一.什么是MQTT 二.MQTT 的主要特性 1)MQTT 的消息类型(Message Type) 2)消息质量(QoS) 3)遗愿标志(Will Flags) 4)连接保活心跳机制(Keep ...

  7. 【华为云技术分享】Python大神编程常用4大工具,你用过几个?

    摘要:Python是一种跨平台的编程语言,能够在所有主要的操作系统上,运行你编写的任何Python程序.今天介绍几款常见的工具:Python自带的解释器.文本编辑器(Geany.Sublime Tex ...

  8. 同创永益携手华为云Stack发布灾备管理联合解决方案

    近日,北京同创永益科技发展有限公司(以下简称"同创永益")携手华为云Stack联合发布灾备管理联合解决方案,为行业客户提供了灵活高效的灾备管理和运营新模式,实现云灾备管理模式的转变 ...

  9. 【华为云动态】华为云开放日发布云专家激励计划,要将开发者“宠”上天

    文:砍柴网 华为最神秘的地方是哪里? 很多人一定会说是2012实验室,这个被称为"中国黑科技最多的地方"简直就是哆啦A梦的"神奇口袋",总是能源源不断地带来令人 ...

最新文章

  1. php xml 动态添加数据,php向xml中添加数据一例
  2. Java监听器的用法(一):内部类监听器
  3. 恶心的Oracle的if else if...
  4. 114_Power Pivot 销售订单之销售额、成本、利润率相关
  5. 激光雷达和相机联合标定 之 开源代码和软件汇总 (2004-2021)
  6. python开发跟淘宝有联系没_Python爬取淘宝店铺和评论
  7. 查漏补缺!这份 VUE 学习知识总结请注意查收! | 原力计划
  8. CentOS 7以yum方式安装zabbix3.2及配置文件详解
  9. android Json解析详解(详细代码)
  10. 华为手机的10个使用技巧,你知道吗
  11. 用C语言写Badapple
  12. 汇总15位身份证号和18位身份证号的区别
  13. IDEA设置 代码提示 快捷键
  14. InputStream (输入流) 与 OutputStream (输出流) 转换
  15. 微信小程序--微信支付流程
  16. 使用C语言产生正弦波数据
  17. win32com word表格内指定位置插入数据
  18. Javaweb + MVC 实现企业人员管理系统全过程记录(配项目所有代码及数据库文件)
  19. 纯CSS实现文字通知无缝衔接无限循环滚动
  20. Scratch少儿编程精品课3六六的旅行

热门文章

  1. MySQL5.7快速修改表中字段长度
  2. 习题:计算圆柱表面积和体积
  3. 常用linux命令-less
  4. 《Splunk智能运维实战》——3.7 制作请求方法、浏览量和响应时间的时间图
  5. Vert.x 响应式 Web 框架介绍使用
  6. vscode历史版本官方下载
  7. 关于oracle导出excel和excel导入oracle的经验总结
  8. 《DAEMON X MACHINA》佃健一郎与河森正治专访 深入解密机械动作游戏
  9. 保单失效及复效(Temporary Lapse and Reinstatement)
  10. 火狐浏览器网络连接慢