热门标签 | 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


推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • 通过使用Sqoop导入工具,可以精确控制并高效地将表数据的特定子集导入到HDFS中。具体而言,可以通过在导入命令中添加WHERE子句来指定所需的数据范围,从而在数据库服务器上执行相应的SQL查询,并将查询结果高效地存储到HDFS中。这种方法不仅提高了数据导入的灵活性,还确保了数据的准确性和完整性。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • PHP 各版本对比:标准版与最新顶级版的详细分析 ... [详细]
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社区 版权所有