OneNET告诉最后一章,并将您的设备链接到 OneNET 平台 。

      最后更新:2021-10-27 16:53:55 手机定位技术交流文章

      嗨,我叫小河程序员

      今天,我们完成了与OneNET有关的信息共享,这是与先前在线问答会对应的一系列信息:STM32——ESP 8266——OneNET,它与整个技术路线的知识点概览相对应,我希望我的共享对你们有所帮助。

      实现目标

      为了实现我们的最终目标,我们必须克服下列问题:

      • 努力协助执行关税、关税、关税和关税及贸易税协定。
      • 由于STM32和ESP 8266经常使用序列连接,因此获得ESP 8266数据十分重要。
      • 传感器数据的上传,串口数据的方向为STM32–>ESP8266,对应ESP8266串口数据的接收
      • 手机或其他终端对设备属性的设置,串口数据的方向为ESP8266–>STM32,对应ESP8266串口数据的发送
      • 在抽样项目中,ESP 8266的UNORT0还出口调试信息,并将调试信息从打印输出改为UART1, 以便更容易理解调试信息。
      • 收到ESP 8266的数据并向服务器报告。
      • ESP 8266接收云数据,对云进行剖析,并通过序列端口传送。

      准备工作

      SES8266 NOOS SDK代码,内example档案里有很多演示材料
      我们选择了一个基于MQTT协议的程序,即一个选项,因为我们使用了MQTT.fx软件,并通过MQTT协议成功地连接到OneNET平台。esp_mqtt_proj程序被转移,代码因此被调整。

      我们现在要做的就是测试 MQTT相关程序 所以我们...esp_mqtt_proj例程从examples文件夹下拷贝到ESP8266_NONOS_SDK-3.0.4同时删除根目录中的所有内容 。examplesdriver_libthird_party删除后的项目结构如下图所示:

      修改esp_mqtt_proj例程中的配置文件:ESP8266_NONOS_SDK-3.0.4esp_mqtt_projincludemqtt_config.h

      上面代码中:

      MQTT_HOST: MQTT 服务器地址, 类型为一字符串, 可以是 IP 地址或 MQTT 服务器的域名, 我们在先前的上下文中使用 :studio-mqtt.heclouds.com

      MQTT_port: MQTT服务器端口,一般是1883

      MQTT_ Client_ID: 设备名称, 输入一个字符串, 例如 :XiaoHaLED

      MQTT_USER: 产品编号, 输入单字符串, 例如 :hg8zt6E3LP

      MQTT_PAS:获取信息,一个字符串,从案文结尾处四读取出,例如:
      version=2018-10-31&res=products%2Fhg8zt6E3LP%2Fdevices%2FXiaoHaLED&et=1640594308&method=md5&sign=yBG2008b6SMfxiW6q6KmnA%3D%3D

      STA_SSID: WI-Fi 热点的名称,以及允许模块登录的SSID。

      Nota bene: 连接到 2.A 4G 无线网络; 否则, 它将无法连接!

      WI- Fi 密码, 即 SSID 登录的 STA_ PSS 密码

      我们面前的网站上提供了这一信息:

      根据您与 OneNET 服务器连接的初步经验,可获取相关信息。

      将上面信息填写至esp_mqtt_proj该项目的同等地位如下:

      注意:
      根据注释,①位置的CFG_HOLDER变量可在每次修改后修改,即+1或1,否则不会修改系统配置,即系统参数只有在[持有人的身份和前一参数不同]时才能更新(在改变系统参数时必须记住持有人的身份标识值)。

      根据CFG_HOLDER如果更新了持有者标识符,则输入参数,如 WLANSSID、 WiFi 密码、 MQTT 域名、 端口号、 MQTT 用户名、 SysCfg 结构变量的密码,并将结构内容写入 Flash 。

      根据注释,①位置的CFG_HOLDER变量+1或1可在每次修改后调整;否则,在每次修改后,系统配置不会被更改对数或对数可试性,+1或1或1可调整;在每次修改后,系统配置不会被更改;否则,如果CFG_HOLDER可变值变化, 导致新的固态写入参数, 如 WiFiSSID、 WiFi 密码、 MQTT 域名、 端口号、 MQTT 用户名、 SysCfg 结构变量的密码, 并将结构信息写入 Flash 。

      因为 MQTT_ PASS 2 中的内容很长, 相关数组的长度必须手动修改 :

      地图 3 位置, 使用协议版本, 使用 MQTT 。 Fx 软件设置在两个版本都相同 。

      因为 OneNET 平台不允许 Will Message, 必须注意以下几点:

      上述函数设置遗嘱设置,如果云没有匹配的遗嘱专题,则拒绝 MQTT 连接。

      固件下载

      创建固态,然后通过ESP8266 DoWNOAD TOOL 软件翻译以更新固态:

      最好在焚烧硬件之前先使用ERASE命令。

      固态被下载,模块被重新启动,并获得以下序列端口输出:

      正在检查 OneNET 后台, 您可以看到设备已成功连接 :

      订阅属性

      如果我们想远程操作这个装置, 我们需要让它订阅一个属性设定主题, 也就是说,$sys/{pid}/{device-name}/thing/property/set

      Pid被产品识别码所取代,我们制作了以下产品:hg8zt6E3LP
      设备名 :XiaoHaLED

      因此,这一示例属性设定的主题是:$sys/hg8zt6E3LP/XiaoHaLED/thing/property/set

      要连接到 MQTT 服务器,请使用回声功能。mqttConnectedCb我们赞同本职能中的上述信息:

      具体实现代码为:

      我们在控制台中的运维监控–>设备调试–>应用模拟器中改变目标设备XiaoHaLED【LED】本单元的系列印刷品产出如下:

      以上打印信息打印在函数以接收电文,即:

      如果ESP8266直接用于控制外部环境,则只需要上述功能。dataBuf数据分析是充分的,控制ESP 8266的全球定位系统组织足以根据结果采取各种行动。

      如果ESP 8266只是用于联网和电文传输,而控制外部的责任则由STM32或其他单分门别类的计算机处理,那么数据传输就是所需要的一切。

      第一种办法是避免外部掌握,因为外部掌握的性质比较一般,可根据自身的能力自由选择。

      修改代码

      拷贝文件

      无法删除文件夹“{0}”。uart.cMakefile如果只删除两个文件,其他文件可以删除。

      无法获取文件夹“%s”:%suart.huart_register.h将用户_mqtt_proj 包含的文件夹中的现有文件夹替换为现有文件夹。uart.huart_register.h文件。

      由于添加了一个新的子目录三维, esp_ mqtt_ proj 目录中的 Makefile 文件更新如下:SUBDIRSCOMPONENTS_eagle.app.v6二,有以下变动:

      重定向调试信息输出

      ESP 8266包括两个链接,必要的内容已经给出(见文本结尾处的参考,读作一)。 第ESP 8266条有两个链接,必要的内容已经给出(见文本结尾处的参考,读作一)。 UART0通常用于外部通信,而UART1则用作日志打印端口。

      虽然现在所有印刷资料都正在通过UAR0印刷,但我们希望将印刷品系列改为UAR1。

      删除屏蔽调试信息后,仅显示 UART0 输出相关属性设定信息,如下所示:

      因此,我们可以观察到,系列助理可能收到服务器端提供的财产组合主题的内容,收到的电文的内容可以解释为完成设备的远程开关设置。

      该系列辅助人员还被一台接收和解释序列数据的单一机器或STM32所取代,以便设备控制可移至单一机器或STM32终端。

      发布消息 上报属性

      除了接收遥控指示外,装置的端端通常提供设备特性,如果其他终端同意这个专题,其他终端可以同时接收该电文,因为装置向属性报告。

      向 OneNET 服务器发布序列数据,并更改下列代码位置:

      从前文中我们可以推断,如果设备特性要向服务器报告,设备特性的主题是:$sys/{pid}/{device-name}/thing/property/post
      替代产品标识和设备:$sys/hg8zt6E3LP/XiaoHaLED/thing/property/post

      发送的主题内容为:

      要报告设备属性,请使用以下序列助手提供上述数据包:

      您也可以同时更改多个设置 :

      使用序列助手发送上述软件包,您也可以同时报告许多属性,以完成该设备的多重定性,详情如下:

      资料获取

      该句涉及Demo最后一次访问测试。 OneNET 项目源是对公用号码后面的密钥的回答。

      总结

      近一个月后,写了五个原件,问答会终于于今天结束。

      我相信,通过提供这些网页,完全的解决方案已经解决了,你们其他人将能够通过使用STM32而不是一个序列助手向ESP 8266模块发送序列数据,向ESP 8266模块报告属性。 通过分析从STM32序列中收到的数据,可以设定设备属性。

      文本结尾处有关于整个问题的有关文本, 读读它, 读读它,然后尝试做它, 并且很难看到相关的文本, 如果还存在问题, 我会带你们加入小组, 我们会讨论它。

      仅此而已,OneNET的共享暂时停止了。如果小哈科的共享对你有利,请对哈爱表示感激和支持。

      小贴士

      小Haco的新出版科, 以及每个职位背后的小建议, 应该对你有用。

      除其他外,它涉及STM32、单膜装置、Qt和微小的应用。

      问题:请建议 JSON 字符串压缩和格式验证工具 。

      A:网上JSON格式工具 我不知道我在说什么 https://www.bejson.com/

      发送了下列测试包:

      {"id":"123","version":"1.0","params":{"Runtime":{"value":1234},"PowerSwitch":{"value":false}}}

      参考阅读

      I. 保姆课程,对虚拟机器进行了三重检查,允许你进入Ali Clouds网络平台。

      二. 与ESP8266官方SDK从0到1的 " 发展快速介绍 " 。

      (三) 密码太多,不要害怕,阅读密码时,必须共用一个神器。

      四. 第一次连接到 OneNET 服务器

      五. 通过大型白话网进行交流的方法。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/12152.html

          热门文章

          文章分类