单片机上云流程(使用STM32和esp8266构建物联网体系)

2023-11-07

1.首先是给esp8266烧录MQTT固件

咳咳,首先当然是准备一个esp8266-01s和对应的烧录器啊qwq

选择好要烧录进去的固件-没有的话去安信可官网下载

然后配置好对应的选项

点击ERASE先进行擦除

再点击START进行烧录

//-------------------------------------------------------这里是分割线------------------------------------------------------

2.前往阿里云创建对应的产品和设备

点击创建产品

自己取个产品名称,品类选择自定义,其他的默认就好

点击前往添加

点击添加设备

给设备取个名

点击完成

回到产品,选择刚刚创建的点一下右边的查看

点功能定义

点击编辑草稿

点击添加自定义功能

功能名称自己定义,写什么都行,比如你要上传温度,这里就写温度

标识符就是你存放要上传的数据的变量名

数据类型就是你要上传的数据是什么类型的

取值范围就是上传的数据的值的大小范围

读写是设备能向云平台上传数据,云平台也能向设备下发数据

草稿编辑好了后点击左下角的发布上线

勾选确认和点击确定

回到设备点击查看

点击右上角的查看

记住这些三元符

再点击MQTT连接参数-查看

这些参数也要用上

然后

根据这些流程来-打开串口助手一个个试

这些参数都是MQTT连接参数里的,直接复制过来替换一下即可

这时候就可以看到设备在线了

//-------------------------------------------------------这里是分割线------------------------------------------------------

我们可以看到现在设备没有订阅任何一个topic

也就是说设备和云平台之间还不能实现数据的交互

物模型这的数据的值也是空的

(这个物模型就是根据之前在产品那编辑好的草稿发布后出现的)

这里插播一个小知识

发布:是指设备向云平台发送数据

订阅:是指云平台向设备发送数据

既然物模型的数据是空的,那么我们就去订阅物模型的相关topic

再次打开串口助手

首先是订阅设备属性设置和订阅云端响应时间上报

然后

上报设备参考格式

这里云平台也返回的对应的格式,告诉我们该怎么把数据上传上去

然后我们也照着格式发送数据

注意:这些参数都在之前的三元符里可以复制过来

注意sys后面的那两个参数,一个是设备密匙另一个就是设备名称

这个每个产品的都是不一样的,注意更改

上报数据时注意修改标识符,草稿里定义的是什么就写什么

ID号可以随便写嗷

这时候就可以看到数据已经上传上去了

点击监控运维-在线调试-在上面选择号对应的产品和设备

因为草稿里设置的是int类型且范围0~100

所以这里就只能下发0~100的整形数据

串口助手上也能看到云平台下发来的数据

这时候我们就已经完成了设备和云平台之间的交互了

//-------------------------------------------------------这里是分割线------------------------------------------------------

刚刚上面讲的是手动的云平台向设备下发数据

那有时候我们要设备a的数据通过云平台发给设备b该怎么搞呢,总不能一直手动发吧

这时候就要用到另一个东西了-云流转

点击规则引擎-云产品流转

再点击右上角的返回旧版

等等,我们先搞一下别的qwq

在产品那有一个自定义topic(云流转新版本我还没摸清楚qwq)

我们订阅一下自定义的topic并向云平台发送一个数据

因为自定义的topic没有规定规则也就是说理论上什么都能发

在日志服务那可以看到所有的数据的通信

这里就可以看到刚刚自定义topic上传的数据了

在设备topic列表里可以看到我们订阅了的topic,这里就有刚刚订阅的自定义topic

我们点击发送消息

串口助手上就能看到云平台下发的自定义的topic的数据了

回到刚刚的云流转

点击立即创建

自己取个规则名称,数据格式选择二进制(二进制只能勾选自定义类型的topic)

点击确认后再点击前往编辑

先编写SQL

字段写‘*’

Topic选择自定义

在选择好对应的产品和设备,topic选择自定义的发布

(这条的功能是选择好数据源:来自测试1产品data设备的自定义topic数据)

就是接收到设备上传的云平台的数据嘛

然后我们再来编写转发数据-点击添加操作

同理,这条的作用是向测试1产品的data设备的自定义订阅topic发送数据

就是向订阅了这条topic的设备下发数据嘛

最后的转发错误操作那条要是没有特殊需求的话可以不用管

返回到初始界面-点击启动

打开串口助手

再次向云平台发送一个数据

这时候云平台就会把我们上传的数据再次下发下来

我们在将其关掉-试着再发一次

这时候就没有返回的数据了

同理我们也可以根据上面的流程实现设备a上传数据给云平台,云平台再将数据下发给设备b了,只需要单片机对其进行一下处理就可以实现数据的远程通讯了

//-------------------------------------------------------这里是分割线------------------------------------------------------

刚刚讲的云流转是用于自定义topic的,那我要用其他类型的topic该怎么用呢?

其实步骤都差不多

点击新建

选择JSON格式(这是唯一和上面有区别的地方!!!)

编写SQL

这里和之前同样的道理,选择哪个产品哪个设备物模型的哪条发布topic的数据源

(因为之前的工程不知道扔哪了qwq所以选择的产品和设备可能会和上面的有些出入,各位看官借鉴一下就好不要完全照搬)

我们点击添加操作

同理,这里我们选择好对应的产品设备啥的就行

当全部都填写好了返回之前的页面

点击启动

然后打开串口助手

这时候我们用设备向云平台发送数据就可以看到数据呗云平台流转回来了

(因为我手上现在就一个esp8266-01s所以只能这样演示)

当然了,你设备a数据云流转给设备b也是同样的道理,在添加操作那选择设备b所对应的产品和设备即可

//-----------------------------------------------------------------------------

那STM32-ESP8266-阿里云之间该这么通讯呢

代码我已经封装好了,只需要在MQTT.h填上自己产品设备所对应的参数即可

打开工程

把设备三元符的前两个复制过去就好,剩下那个我们打开MQTT连接参数

有个叫passwd的复制过去替换好就可以了

然后

将剩下的几个参数复制过去即可

然后是设备标识符(就是你草稿里定义的那个标识符)

最后呢

我们在把wifi的名称和密码填上去(手机热点啥的也行)

注意:得2.4GHz频带的网络

将对应的参数填好并烧录在stm32里,然后通过串口跟esp8266连接即可

(具体的连接方式我代码里注释好了跟着接线就好)

当然了也可以自己打个底板用,省的接线啥的多麻烦啊

这里我是用ttl转usb来给mcu提供电源并烧录程序的

Esp8266-01s我直接插在了焊的排母上了

旁边的工具是拿来给esp8266-01s烧录固件并调试用的

我也封装好了两个函数

(不一定是说只能发整数,可以自己进行更改,这里我要先用于测试所以就随便写下)

这里分别发个物模型和自定义的数据上去

//-------------------------------------------------------这里是分割线------------------------------------------------------

那么发送没问题了接收怎么办

同样的我也封装好了两个函数

我们先来看看物模型的接收

先在云平台的在线调试向设备下发一个数据

从串口助手可以看到,下发的那个66已经提取出来了

那既然已经能提取出需要的数据了,各位看官还要怎么操作那不就洒洒水了嘛

我们再看向另一个接收函数

老样子,我们用云平台先下发各数据

随便向设备下发各数据

打开串口助手查看

下发的数据是不是也提取出来了呢

那么

将上面一整套结合起来,是不是就构建好了一套简单的物联网体系了呢qwq

代码还有所用到的工具都放在这了:TJGR510B

码字不易,还请各位看官支持一下\( ̄︶ ̄*\))咱这里就先谢过了哈

//-------------------------------------------------------这里是分割线------------------------------------------------------

到这后就结束了,有啥要补充的后面遇到了再回来写

撒花撒花~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单片机上云流程(使用STM32和esp8266构建物联网体系) 的相关文章

随机推荐

  • torch.nn中GRU使用

    一 pytorch中GRU实现原理 对于输入序列中的每个元素 每层计算以下函数 r t W i
  • odoo中视图继承的xpath写法以及隐藏原来字段

    父级试图 xpath找到元素继承时 xpath和爬虫时候的xpath的语法略微不同 odoo中xpath 如下 div class app settings block 1 sheet notebook 3 page group group
  • 【Django REST framework电商项目笔记】第10章 购物车, 订单和支付宝支付功能(上)

    购物车接口实现 在交易 trade 应用上 在商品详情页点击加入购物车 弹出提示框 去结算 继续购物 右上角会新增商品到购物车 这是从后台取出来的数据 可以显示商品 数量 总价等信息 添加商品 在商品数量上加一 直接更新数量即可 注意sho
  • 【无标题】尤破金11.24黄金还会跌吗?黄金原油今日价格走势分析及操作解套

    黄金最新行情解析 黄金消息面解析 周三 11月24日 亚洲时段 现货黄金小幅上涨 交投于1791附近 周二 11月23日 金价强势跌破1800关口 录得四连跌 因市场加码押注美联储转鹰 美债收益率与美元继续保持强势 但疫情反弹可能提升一些黄
  • 安装DevEco Studio跑鸿蒙第一个应用

    下载 安装 https hmxt org deveco studio 安装启动 双击安装以后重启电脑 启动程序 Node 修改环境 Start using DevEco Studio Next Next Accept 开始下载 Finish
  • Python测试框架 Pytest —— mock使用(pytest-mock)

    pytest mock 安装 pip install pytest mock 这里的mock和unittest的mock基本上都是一样的 唯一的区别在于pytest mock需要导入mock对象的详细路径 weateher r py cla
  • Python 实现完整的 RSA 算法

    参考资料 25行代码实现完整的RSA算法
  • 运维面试大全

    文章目录 第一阶段 平常怎么处理故障 思路是什么样的 公网和私网分类以及范围 本机地址 网络地址 广播地址 交换机的工作原理 ICMP是什么干什么用的 它有哪些命令 TCP和UDP协议的区别 tcp有哪些控制位 分别是什么意思 你是用过哪些
  • STM32——串口概念及应用

    目录 通讯接口背景知识 两种通讯方式对比 串口通讯 常见的串行通信接口 STM32串口通信基础 STM32的串口通信接口 UART异步通信方式引脚连接方法 UART异步通讯方式特点 串口通信过程 串口异步通讯需要定义的参数 STM32常用串
  • 使用Tensorflow2.0执行视觉显著性检测(Visual Saliency Detection)

    使用Tensorflow2 0执行视觉显著性检测 Visual Saliency Detection 上一篇博客介绍了如何使用Python OpenCV执行视觉显著性检测 Visual Saliency Detection 这篇博客将介绍如
  • HTTP服务器(一)HTTP服务器入门介绍

    一 简介 1 1 做项目的时候 要请求REST服务器 而FEST服务器还是用http基本原理 即阉割版 来请求 1 2 请求端口EndPoint 请求方法Method 请求内容格式ContentType 请求的数类型PostData 一般为
  • C++ 代码评审最终指南——第 2 部分

    在第 1 部分中 我们对代码评审做了一个广泛讨论 这一部分将重点讨论 C 提供一个代码评审清单和一些最佳实践 您可以按任何顺序阅读 但是我们建议您先返回去阅读一下我们之前的帖子 C 评审最终清单 代码评审清单从来都不是全面的 因为要检查的问
  • linux 安装dotnet sdk

    linux 安装dotnet sdk 以dotnet6 0为例 1 下载linux内核对应的dotnet6 0 sdk文件 进入https dotnet microsoft com en us download dotnet 6 0 找到l
  • stn32cubemx生成代码有问题的解决方法

    问题1 生成代码时 有显示你的生成目录还说一个问题的问题 就是环境没装好 要装一个java的环境 即使你本来已经装了这个环境 但是还是出现了同样的问题 那就装我这个版本 我刚才使用这个版本就成功了 问题2 就是要下相应的固件 manage
  • pycharm、idea插件代理设置,插件安装

    pycharm和idea都是intellij的 所以插件安装是设置代理方法相似 以pycharm举例 1 已经安装的插件列表 2 查找要安装的插件 没有 会给出下载插件的链接地址 3 打开链接地址 弹出如下 搜索在线插件 左下角是http代
  • 14-----关于error while loading shared libraries: xxx.so: cannot open shared object file: No such file

    一 linux找不到动态链接库 so文件的解决方法 关于这种问题 很明显是自己生成的动态库在被使用时 无法找到准确的路径而导致的 1 问题分析 首先运行可以执行程序 若出现上述错误 说明找不到动态库的路径 我们需要使用ldd去查看哪个动态库
  • 在Cisco设备上配置接口速度和双工

    默认情况下 思科交换机将自动协商速度和双工设置 将设备 交换机 路由器或工作站 连接到 Cisco 交换机上的端口时 将发生协商过程 设备将就传输参数达成一致 当今的大多数网络适配器都支持此功能 在本文中 您将了解如何使用 NCM 应用程序
  • FPGA UltraScale+ 利用ICAP原语实现Multiboot功能

    例程参考 https blog csdn net xiaomingzi55 article details 124365631 1 这个贴子说的很清楚 唯一一点就是它是ICAP2 这样写是没问题的 1 对于BPI模式来说 可以通过RS 1
  • python Excel处理

    Python 前言 我是一个菜鸡 写文章是为了记录自己成长的过程 如有错误 请各位大佬轻喷 欢迎大家指正 基础知识不做赘述 下文介绍Excel办公自动化 openpyxl导入 安装步骤 win R 输入cmd 然后打出pip install
  • 单片机上云流程(使用STM32和esp8266构建物联网体系)

    1 首先是给esp8266烧录MQTT固件 咳咳 首先当然是准备一个esp8266 01s和对应的烧录器啊qwq 选择好要烧录进去的固件 没有的话去安信可官网下载 然后配置好对应的选项 点击ERASE先进行擦除 再点击START进行烧录 这