热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

物联网项目设计(二)MQTT.fx与百度云天工IOThub的连接调试

目录概要正文软件准备硬件准备操作部分总结概要介绍如何使用MQTT.fx调试工具与百度云天工物联网服务器之间,通过MQTT协议进行通讯。这部分内容属于服务

目录

概要


正文


软件准备


硬件准备


操作部分


总结



 

概要

介绍如何使用MQTT.fx调试工具与百度云天工物联网服务器之间,通过MQTT协议进行通讯。
这部分内容属于服务器端与设备端之间的通讯,MQTT是之后用于手机,服务器,嵌入式物联网设备主要用于通讯的应用层协议,也是MQTT协议的开篇,之后肯定要学习MQTT更多相关的知识
该部分假设读者对MQTT有入门级的了解。如果不了解也可以参看下文中的百度云天工的指南


正文

软件准备


  • 电脑已安装JAVA运行环境,如何安装请自行百度
  • MQTT.fx调试软件,该软件是MQTT主流的调试软件,软件安装方法可参照这篇博客 mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解)

硬件准备

可联网的电脑一台

操作部分

百度云天工的手册写的非常细致,对MQTT的介绍也很详细。我下面的所有操作都是根据官方指南和他人博客而成的
官方文档     百度智能云
参考博客    使用mqtt.fx对接百度天工物接入平台

访问百度云天工物联网平台首页,官网链接在这注册或登录,进入平台。在左侧选择物接入

在这里插入图片描述

只有开通了计费服务才能进入下一步的配置,关于计费,开发使用的话,有一定的免费额度,平时开发肯定是够用了

 

在这里插入图片描述

 

点击创建项目,设备项目分为两种,设备型项目和数据型项目,设备型项目允许创建一个,数据型设备允许创建9个。两者区别在于设备型项目适用于大多数情况,自动配置数据库,可添加话题等等。数据型项目可以使用户完成定制化的服务,当然也更难配置,一般情况下使用设备型项目就可以了。关于两者介绍请看天工官网。

在这里插入图片描述
上图中,输入相关信息即可创建设备型项目。

在这里插入图片描述

然后新建一个物模型,可以看到还有一个物影子,物模型和物影子之间的关系就如C++里面类和实例的关系,物影子就是物模型的实例。物影子是实际的嵌入式设备在云端的映射,代码设置合理的情况下,通过操作云端的物影子就可以操作实际的物联网设备。

在这里插入图片描述

上图是物模型的配置界面,在配置界面中需要添加物模型的属性,这些属性是用来操作物影子的相关功能的。

在这里插入图片描述

配置一个物模型的属性如上图

在这里插入图片描述

物模型创建好之后就可以创建一个物影子

在这里插入图片描述
创建物影子的时候要设置相应的物模型,这个地方存储配置先不勾选,这个是用来配置是否使用时序数据库的,这个地方暂时用不到。

在这里插入图片描述

每一个物影子都有相应的访问网址和用户名和密码,这个是物联网设备端与云端通讯时必备的信息。必须妥善保存,待会我们也会用到。

在这里插入图片描述
创建好物影子后我们就可以看到,如果想访问物影子或者控制物联网设备的话,我们就需要订阅相关的话题,或者发布相关的话题,上图列出了基本的话题。

在这里插入图片描述
打开mqtt.fx,按照上图进行配置,不过密码什么的要改成自己的,这些信息就是刚刚创建物影子时生成的信息。

在这里插入图片描述
创建好后点击Connect,如果界面右侧的绿灯亮起,则说明链接成功,这时候打开云天工,发现对应的物影子上面的灯也亮了,说明使用mqtt.fx链接云天工成功。

在这里插入图片描述

如上图,点击subscrib,根据物影子上的信息,我们先订阅两个话题,话题名称如下图所示,需要在物影子里面找

在这里插入图片描述

订阅的话题

  • $baidu/iot/shadow/Smart_light_001/update/accepted
  • $baidu/iot/shadow/Smart_light_001/update/rejected

要发布的话题

  • $baidu/iot/shadow/Smart_light_001/update

Smart_light_001是我创建的物影子,然后我们需要向这个话题发布消息,这个发布动作无论成功与否,刚刚我们订阅的话题中至少有一个会收到反馈消息。

mqtt传输的消息格式采用json格式,在发送的过程中,我们不需要自己写这种格式,只需要查看物影子的模型数据,编辑,给这个物影子的属性一个初始值。然后打开原始数据,就可以找到发送数据的数据格式。

在这里插入图片描述
打开pubilish,向指定话题发布消息

在这里插入图片描述

 

在这里插入图片描述

订阅的话题

  • $baidu/iot/shadow/Smart_light_001/update/accepted

收到了消息,说明发送成功

在这里插入图片描述

接下来在模型数据的地方进行编辑,更改物影子属性的期望值,先不要点确定。然后再MQTT.fx中订阅指定话题。

  • $baidu/iot/shadow/Smart_light_001/delta

在这里插入图片描述

在物影子属性模型数据处点确定,会发现我们刚刚订阅的话题收到了一条消息。

在这里插入图片描述
这就是实现了云端对物联网设备的控制。


至此,我们实现了MQTT.fx和天工云服务器的双向数据传输,这样的方法不仅适用于天工云,还适用于所有使用MQTT的云服务器。



总结

这部分内容介绍了如何使用windows端的MQTT.fx与云服务器进行通讯,但这个只能算是调试,最终还是要使用嵌入式设备连接云服务器,预计下一部分要做的工作就是这个,笔者还属于新手,这些东西要慢慢掌握


————————————————
版权声明:本文为CSDN博主「张竞豪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42487906/article/details/104469296

https://blog.csdn.net/weixin_42487906/article/details/104469296


推荐阅读
  • php对接AliGenie天猫精灵服务器控制智能硬件esp8266② 全面认识第三方授权机制 oauth2.0 协议,如何在 php 上搭建 oauth2.0服务端!(附带demo)
    本系列博客学习由非官方人员半颗心脏潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。使用Gson解析json成对象时,默认将json里对应字段的值解析到java对象里对应字段的属性里面。然而,当我们自己定义的java对象里的属性名与json里的字段名不一样时,我们可以使用@SerializedName注解来将对象里的属性跟json里字段对应值匹配起来。本文介绍了使用@SerializedName注解解析json数据的方法,并给出了具体的使用示例。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 加工|机床_工业4.0 资产管理壳学习笔记应用场景与架构
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了工业4.0资产管理壳学习笔记-应用场景与架构相关的知识,希望对你有一定的参考价值。        资产管理壳ÿ ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
author-avatar
forsoz_627
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有