当前位置: 首页 > news >正文

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年诞生以来不断演进,逐渐成为了众多领域的主流编程语言。为了进一步提升开发效率和代码质量&#xff0…...

杭电1008电梯

提供两种做法&#xff0c;第一种不知道为啥不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&#xff0c;出现命令框。 输入以下命令&#xff1a; Python: Select Interpreter输入命令回车后即出现不同的Python解释器选项&#xff0c;选择想要切换的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 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

【机器学习随笔】概率论与实际问题的对应

主要从直观看待问题的角度&#xff0c;对概率分布进行分类。 一、时间维度 1、一个事件两次发生的时间间隔或者说&#xff0c;单位时间内发生了两次的概率&#xff0c;用指数分布 2、多个事件发生的时间间隔&#xff0c;用Gamma分布。 3、单位时间了发生了k次的概率&#xff0c…...

C++初阶学习——探索STL奥秘——模拟实现list类

1、基本框架 list 由三个类构建而成: 节点类:每个节点必须的三部分(指向前一个节点的指针、指向后一个节点的指针、当前节点存储的数据) 迭代器类:此时的迭代器为双向迭代器&#xff0c;比较特殊&#xff0c;需要对其进行封装&#xff0c;如 it并非使迭代器单纯向后移动&…...

生命之光不灭:帕金森综合征晚期,如何携手共度温暖岁月

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

Matlab simulink建模与仿真 第十五章(信号源库)

参考视频&#xff1a;simulink1.1simulink简介_哔哩哔哩_bilibili 一、信号源库中的模块概览 注&#xff1a;部分模块在第二章中有介绍&#xff0c;本章不再赘述。 二、from输入源模块 1、From Workspace模块 &#xff08;1&#xff09;该模块可从MATLAB工作区、模型工作区…...

Java笔记 2 java概述和基础知识

第2章 Java概述与基础知识 Java 历史 Java技术体系平台 Java 重要特点 Java 虚拟机[JVM] JDK&#xff0c;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的起始地址 解决办法&#xff1a;把keil中的debug设置成和自己芯片一直的下载起始地址...

长沙自闭症青少年学校:实现孩子的全面成长

在长沙自闭症青少年学校的选择中&#xff0c;星贝育园以其独特的教育理念、专业的师资力量和全面的康复服务脱颖而出&#xff0c;为自闭症青少年及其家庭提供了重要的支持和帮助。以下是对星贝育园的一些详细评价&#xff1a; 教育理念与承诺 星贝育园秉承“实现孩子的全面成…...

系统 IO

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

Mysql InnoDB 存储引擎简介

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

驾校预约学习系统的设计与实现

摘 要 伴随着信息技术与互联网技术的不断发展&#xff0c;人们进到了一个新的信息化时代&#xff0c;传统管理技术性没法高效率、容易地管理信息内容。为了实现时代的发展必须&#xff0c;提升管理高效率&#xff0c;各种各样管理管理体系应时而生&#xff0c;各个领域陆续进到…...

Python--读取文件时出现的报错

在使用 Python 读取文件时&#xff0c;尤其是涉及到文件编码的场景&#xff0c;常常会遇到编码解码问题。常见的编码问题主要发生在尝试解码不同编码格式的文件时&#xff0c;比如将使用 GBK 编码的文件按 UTF-8 解码&#xff0c;或者相反。 常见编码错误及其原因&#xff1a;…...

基于http请求的一种安全校验认证方案记录

目录 需求简述 设计方案 参考代码 可优化点 需求简述 日常的开发对接过程中&#xff0c;经常会遇到需要给其他合作伙伴或者其他系统通过接口的方式提供数据&#xff0c;或者有些接口是需要提供通用能力出去的。 从安全的角度考虑&#xff0c;我们往往需要给接口加一些安全校…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...