STM32+ESP8266 WiFi连接机智云平台APP远程控制教程
本文档将介绍如何用STM32+ESP8266 WiFi模块从零开始连接上机智云,并通过APP进行远程控制。
机智云官网:机智云|智能物联网操作系统 (gizwits.com)
准备:STM32、ESP8266、手机、可上网的WiFi。
1.创建设备
1.1 注册登陆
请自行注册账号并登陆,这里不作展开。
1.2 创建产品
进入开发者中心,点击创建产品:
以照明产品为例,创建一个自定义方案的灯,如下:
填写产品属性定义信息:
创建之后,显示如下:
点击“去编辑”,创建数据点,如下:
由于LED灯只有开关2个状态,因此是布尔型(bool),同时LED是可以控制开关的,因此是读写类型是“可写”。
1.3 生成代码
产品创建完成后,点击左右功能栏的“MCU开发”:
选择硬件平台型号、Product Secret,如下:
生成代码成功。
2. 代码验证
代码验证包括硬件准备、代码烧录测试等步骤。
硬件准备包括STM32及其外设等连接、WiFi模块烧录机智云固件等。
2.1 WiFi模组烧录
由于机智云平台的连接协议不是开放的,因此我们自行实现连接到云平台,只能按照它的要求,烧录其定制的固件到WiFi模块,这样才能正确连接。
2.1.1 硬件连接
固件烧录的WiFi模块与串口模块接线图:
为了方便,建议购买一个烧录器,如下:
将ESP8266直插进去即可。
2.1.2 软件及固件下载
烧录软件下载:
安信可ESP8266系列接入机智云方案及问题排查指引 - Gizwits
机智云固件下载:
Gizwits
下载如上图固件。
2.1.3 固件烧录
打开烧录工具:ESPFlashDownloadTool_v3.6.1.0.exe
在文件夹:安信可ESP8266系列模组资料\烧录工具\FLASH_DOWNLOAD_TOOLS_V3.6.1.0\
打开后如图:
选择ESP8266 Download Tool:
烧录文件选择机智云提供的固件:
GAgent_00ESP826_04020034_8MbitUser1_combine_201806091441.bin
其他配置项如上图所示。
点击START开始烧录。
等待完成即可。
2.2 硬件电路连接
根据机智云生成代码里面用到的GPIO来连接电路,这样就不需要修改代码,如下:
1、STM32开发板:要与生成代码所选的“硬件平台”对应,如本示例使用的STM32F103C8T6
2、WiFi模组:ESP8266模组,与STM32连接,生成的代码默认用的是UART2。
3、按键2个:按键1(KEY1)与GPIO B10连接,按键2(KEY2)与GPIO B11连接。
原理图如下:
2.3 代码测试
解压生成的代码,打开keil工程,编译、烧录。
烧录程序后运行时,分别按下KEY1和KEY2会有相应打印,如下图:
若运行日志输出具备相关信息(KEY1 PRESS、KEY2 PRESS等),则说明硬件没有问题。
3. 连接云平台
3.1 APP下载
进入机智云官网的下载中心:Gizwits
找到调试APP,可通过二维码下载,如下:
3.2 APP给设备配网
打开APP,先注册登陆,登陆成功后如下图:
点击添加设备,如下:
选择热点配网
进入热点配网,输入WiFi账号和密码:
上面的是路由器的WiFi名称和密码;
下面的是ESP8266发射的WiFi名称和密码。
注:ESP8266的WiFi需要先短按一下KEY2进入热点配网模式,再转到手机的WLAN列表查找XPG-GAgent-开头的WiFi,默认密码是:123456789
如我的ESP8266后面是FBE3,输入如下:
点击下一步,模组类型选择“乐鑫”,进入以下界:
提示将设备调试到待连接状态。
此时将设备上电后,短按一下KEY2按键,再点击“我已完成上述操作”。
进入下一步的界面如下:
点击蓝色字体,自动跳转到手机的WLAN界面,选择ESP8266的热点进行连接。
连接上热点后,再返回APP,可见正在搜索连接设备中,如下:
等待连接成功。
最终可能会提示配置超时:
请确保输入的WiFi名称和密码是否正确。
但经常会出现提示配置超时,但实际上是成功的,此时可点击取消,回到主界面看是否有添加到新设备,若有新设备则表示配网成功。
如下图表示成功配网:
一旦配网成功,在WiFi名称及密码不变的情况下,不需要再进行配网,每次开机会自动回连。
3.3 APP远程控制设备
在APP主界面中,点击绑定的设备“LED”进入设备详情,如下:
点击LED按键,切换开关状态,如打开再关闭,可见日志输出也对应:
打开keil工程,可找到处理在如下位置:
如上图,我们只需在对应位置添加打开或关闭LED的操作代码即可实现APP远程控制LED的功能。
4.云平台开发板及更多功能
可能有部分同学缺少硬件或对硬件不熟悉,曾哥也为此设计了一套简单的机智云平台开发板,并配套了详细的教程,有需要的同学可联系曾哥。
此开发板可实现基本的指令下发、数据上传等数据上下行功能,指令下发如APP远程控制LED开关,数据上行如上传温湿度到云平台,同时预留OLED屏也可拓展更多功能。
硬件清单:
stm32f103c8t6最小系统板、ESP8266 WiFi模块、按键*2、LED*3、温湿度传感器DHT11、0.96寸OLED屏、USB电源模块等。
机智云平台开发板实物:
原理图及PCB:
整套开发板配套完善资料,可快速入门并上手,亦可用于二次开发,大大提升项目开发效率。
写在最后:
资料/指导答疑/技术交流/选题/帮助,请点链接:
stm32.txt · zengzr/share_contact - Gitee.com
如有任何问题,请联系作者,谢谢!
- - - 作者:曾哥,专注嵌入式。写于2024-9-10
相关文章:

STM32+ESP8266 WiFi连接机智云平台APP远程控制教程
本文档将介绍如何用STM32ESP8266 WiFi模块从零开始连接上机智云,并通过APP进行远程控制。 机智云官网:机智云|智能物联网操作系统 (gizwits.com) 准备:STM32、ESP8266、手机、可上网的WiFi。 1.创建设备 1.1 注册登陆 请自行注册账号并登陆…...
学懂C++(六十):C++ 11、C++ 14、C++ 17、C++ 20新特性大总结(万字详解大全)
一、引言 随着计算机科学与技术的飞速发展,编程语言也在不断进化以满足日益增长的需求。C是一门集高性能和灵活性于一身的编程语言,自1983年诞生以来不断演进,逐渐成为了众多领域的主流编程语言。为了进一步提升开发效率和代码质量࿰…...
杭电1008电梯
提供两种做法,第一种不知道为啥不ac。。。 #include<iostream> using namespace std; //不清楚为什么报错了 int a[10000],x[10000]; int main(){int n;while(cin>>n,n!0){for(int i0;i<n;i){cin>>a[i];if(i0) x[i](65)*a[i]-5;else {if(a[i-…...

【Python小知识 - 2】:在VSCode中切换Python解释器版本
文章目录 在VSCode中切换Python解释器版本 在VSCode中切换Python解释器版本 在VSCode中按下快捷键CtrlShiftP,出现命令框。 输入以下命令: Python: Select Interpreter输入命令回车后即出现不同的Python解释器选项,选择想要切换的Python解释器…...
ubuntu meson安装
安装 sudo python3 -m pip install meson sudo python3 -m pip install ninja问题 libdrm ERROR: Dependency “libdrm” not found, tried pkgconfig and cmake Unable to correct problems, you have held broken packages. sudo apt-get update --fix-missing sudo apt in…...
记者协会评审系统-需求分析
记者协会评审系统-需求分析 文章目录 记者协会评审系统-需求分析一、参与角色二、业务流程2.1 作品推荐收集2.2 初步审核2.3 评审功能(初评)2.4&5 定评和审定三、功能清单2.1 基础功能2.2 业务功能2.3.1.单位投稿功能2.3.2.推荐作品分类管理2.3.3. 稿件初审2.3.4.评审功能…...
python 检索与该查询最相似的句子 使用库hflayers和sentence_transformers来实现遇到的问题
此篇文章总结遇到三个问题(3. OSError: We couldn’t connect to ‘https://huggingface.co’ to load this file, couldn’t find it in the cached files and it looks like sentence-transformers/all-mpnet-base-v2 is not the path to a directory containing a file nam…...

计算机毕业设计 在线新闻聚合平台的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
【机器学习随笔】概率论与实际问题的对应
主要从直观看待问题的角度,对概率分布进行分类。 一、时间维度 1、一个事件两次发生的时间间隔或者说,单位时间内发生了两次的概率,用指数分布 2、多个事件发生的时间间隔,用Gamma分布。 3、单位时间了发生了k次的概率,…...

C++初阶学习——探索STL奥秘——模拟实现list类
1、基本框架 list 由三个类构建而成: 节点类:每个节点必须的三部分(指向前一个节点的指针、指向后一个节点的指针、当前节点存储的数据) 迭代器类:此时的迭代器为双向迭代器,比较特殊,需要对其进行封装,如 it并非使迭代器单纯向后移动&…...

生命之光不灭:帕金森综合征晚期,如何携手共度温暖岁月
在岁月的长河中,每个人都是自己故事的作者,而面对帕金森综合征这一挑战,尤其是步入晚期的老人,他们的故事更显坚韧与温情。今天,就让我们一起探索,如何在科学护理与人文关怀的双重滋养下,让帕金…...

Matlab simulink建模与仿真 第十五章(信号源库)
参考视频:simulink1.1simulink简介_哔哩哔哩_bilibili 一、信号源库中的模块概览 注:部分模块在第二章中有介绍,本章不再赘述。 二、from输入源模块 1、From Workspace模块 (1)该模块可从MATLAB工作区、模型工作区…...

Java笔记 2 java概述和基础知识
第2章 Java概述与基础知识 Java 历史 Java技术体系平台 Java 重要特点 Java 虚拟机[JVM] JDK,JRE JDK 基本介绍 JRE 基本介绍 JDK、JRE 和JVM 的包含关系 Java 快速入门 注意细节 Java 转义字符 Java 常用的转义字符 注释(comment) Java 中的注释类型 关于文档注释 …...

在使用ST-Link下载程序时出现“Error: Flash Download failed - Cortex-”
使用ST-Llink下载程序出现这种错误的本质是下载地址不正确 下面是一个STM32 F103C6T6A芯片的Memory map,注意RAM和flash的起始地址 解决办法:把keil中的debug设置成和自己芯片一直的下载起始地址...
长沙自闭症青少年学校:实现孩子的全面成长
在长沙自闭症青少年学校的选择中,星贝育园以其独特的教育理念、专业的师资力量和全面的康复服务脱颖而出,为自闭症青少年及其家庭提供了重要的支持和帮助。以下是对星贝育园的一些详细评价: 教育理念与承诺 星贝育园秉承“实现孩子的全面成…...

系统 IO
"裸奔"层次:不带操作系统的编程 APP(应用程序) -------------------------------- Hardware(硬件) 特点:简单,应用程序直接操作硬件(寄存器) 缺点: 1. 搞应用开发的必须要了解硬件的实现细节,能够看懂原理图…...

Mysql InnoDB 存储引擎简介
InnoDB 存储引擎是 Mysql 的默认存储引擎,它是由 Innobase Oy 公司开发的 Mysql 为什么默认使用 InnoDB 存储引擎 InnoDB 是一款兼顾高可靠性和高性能的通用存储引擎 在 Mysql 5.5 版本之前,默认是使用 MyISAM 存储引擎,在 5.5 及其之后版…...

驾校预约学习系统的设计与实现
摘 要 伴随着信息技术与互联网技术的不断发展,人们进到了一个新的信息化时代,传统管理技术性没法高效率、容易地管理信息内容。为了实现时代的发展必须,提升管理高效率,各种各样管理管理体系应时而生,各个领域陆续进到…...
Python--读取文件时出现的报错
在使用 Python 读取文件时,尤其是涉及到文件编码的场景,常常会遇到编码解码问题。常见的编码问题主要发生在尝试解码不同编码格式的文件时,比如将使用 GBK 编码的文件按 UTF-8 解码,或者相反。 常见编码错误及其原因:…...
基于http请求的一种安全校验认证方案记录
目录 需求简述 设计方案 参考代码 可优化点 需求简述 日常的开发对接过程中,经常会遇到需要给其他合作伙伴或者其他系统通过接口的方式提供数据,或者有些接口是需要提供通用能力出去的。 从安全的角度考虑,我们往往需要给接口加一些安全校…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...

Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...