MQTT客户端(基于mosquitto)上报温度到华为云 ——DS18B20发布订阅温度(Linux C编程)
目录
一、创建产品
二、创建产品功能
三、创建设备
四、获取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编程)相关推荐
- MQTT客户端(基于mosquitto库)上报温度到阿里云
Linux C MQTT客户端上报温度到阿里云 一.创建产品 1.进入阿里云官方页面,右上角点击登陆或注册阿里云账号 2.登录阿里云账号后点击右上角进入控制台 3.鼠标移到左上角展开导航 4.进入在物 ...
- 软件成分分析:华为云重磅发布开源软件治理服务
摘要:软件成分分析,指通过对软件源码.二进制软件包等的静态分析,挖掘其所存在的开源合规.已知漏洞等安全合规风险,是一种业界常见的安全测试手段. 本文分享自华为云社区<华为云重磅发布开源软件治理服 ...
- 华为云重磅发布:“乐高式”自动驾驶研发开放平台,携手伙伴共建生态
摘要:华为云及伙伴们希望通过"乐高式.模块化"的简单操作,来帮助不同诉求的客户实现自动驾驶研发平台快速构建的目标. 本文分享自华为云社区<华为云重磅发布:"乐高式& ...
- Cloud Native Weekly | 华为云抢先发布Redis5.0,红帽宣布收购混合云提供商 NooBaa
1--华为云抢先发布Redis5.0 2--DigitalOcean K8s服务正式上线 3--红帽宣布收购混合云提供商 NooBaa 4--微软发布多项 Azure Kubernetes 服务更新 ...
- 【MQTT】基于mosquitto的学习和使用
文章目录 前言 一.MQTT简介 MQTT特性 MQTT协议原理 MQTT协议数据包结构 二.安装MQTT 1.mosquitto简介 2.安装mosquitto库 2.常用MQTT库函数 三.代码实 ...
- 初识 MQTT (基于 mosquitto)
目录 一.什么是MQTT 二.MQTT 的主要特性 1)MQTT 的消息类型(Message Type) 2)消息质量(QoS) 3)遗愿标志(Will Flags) 4)连接保活心跳机制(Keep ...
- 【华为云技术分享】Python大神编程常用4大工具,你用过几个?
摘要:Python是一种跨平台的编程语言,能够在所有主要的操作系统上,运行你编写的任何Python程序.今天介绍几款常见的工具:Python自带的解释器.文本编辑器(Geany.Sublime Tex ...
- 同创永益携手华为云Stack发布灾备管理联合解决方案
近日,北京同创永益科技发展有限公司(以下简称"同创永益")携手华为云Stack联合发布灾备管理联合解决方案,为行业客户提供了灵活高效的灾备管理和运营新模式,实现云灾备管理模式的转变 ...
- 【华为云动态】华为云开放日发布云专家激励计划,要将开发者“宠”上天
文:砍柴网 华为最神秘的地方是哪里? 很多人一定会说是2012实验室,这个被称为"中国黑科技最多的地方"简直就是哆啦A梦的"神奇口袋",总是能源源不断地带来令人 ...
最新文章
- php xml 动态添加数据,php向xml中添加数据一例
- Java监听器的用法(一):内部类监听器
- 恶心的Oracle的if else if...
- 114_Power Pivot 销售订单之销售额、成本、利润率相关
- 激光雷达和相机联合标定 之 开源代码和软件汇总 (2004-2021)
- python开发跟淘宝有联系没_Python爬取淘宝店铺和评论
- 查漏补缺!这份 VUE 学习知识总结请注意查收! | 原力计划
- CentOS 7以yum方式安装zabbix3.2及配置文件详解
- android Json解析详解(详细代码)
- 华为手机的10个使用技巧,你知道吗
- 用C语言写Badapple
- 汇总15位身份证号和18位身份证号的区别
- IDEA设置 代码提示 快捷键
- InputStream (输入流) 与 OutputStream (输出流) 转换
- 微信小程序--微信支付流程
- 使用C语言产生正弦波数据
- win32com word表格内指定位置插入数据
- Javaweb + MVC 实现企业人员管理系统全过程记录(配项目所有代码及数据库文件)
- 纯CSS实现文字通知无缝衔接无限循环滚动
- Scratch少儿编程精品课3六六的旅行