内容

Change history

内容

1        前言

1.1        目的

2        计划

2.1        测试环境

2.2        计划

3        行动

3.1        物联网

3.1.1        什么是物联网

3.1.2        挑战与机遇

3.1.3        物联网的尝试

3.2        需求

3.3        ESP8266

3.3.1        特点

3.3.2        ESP8266如何联网

3.3.3        AT指令

3.4        微信小程序

3.4.1        介绍

3.4.2        相比于Android、IOS、PC的APP的优势

3.4.3        在实践项目中,微信小程序的作用

3.5        测试

4        优化

4.1        成本优化

4.2        功能优化

关注“激活未来”公众号,获取更多

有价值的资料。。。

1      前言

1.1    目的

对物联网行业的一次探索与实践。

物联网从0到1的实践。

做出一款具有实际应用价值的物联网产品。产品应用场景为学校空调控制系统,通过微信小程序控制WiFi转红外硬件设备来管理所有空调的开关。

2      计划

2.1    测试环境

类别

要求

电脑

Win10

底层硬件编译软件

keil  5.1

底层试验硬件平台

STM32F407开发板+ESP8266

底层硬件产品平台

STM32F0+ESP8266+红外发射管

WIFI模块

ESP8266

应用端

微信小程序

测试工具

网络调试助手、串口调试助手

2.2    计划

1.               实现微信小程序为STM32F407开发板+ESP8266配网;

2.               实现网络调试助手与STM32F407开发板+ESP8266之间建立UDP通信;

3.               实现微信小程序与STM32F407开发板+ESP8266之间建立UDP通信;

4.               实现微信小程序控制低成本的STM32F0平台+ESP8266实现红外发送控制空调开关与调温;

3      行动

3.1    物联网

3.1.1         什么是物联网

下面这段定义摘自百度百科:

物联网(The Internet of Things,简称IOT)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、无语人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够独立寻址的普通物理对象形成互联互通的网络。

3.1.2         挑战与机遇

3.1.2.1     技术标准的统一与协调

目前,传统互联网的标准不适合物联网。物联网感知层的数据多源异构,不同的设备与不同的接口,不同的技术标准;网络层、应用层也由于使用的网络类型不同、行业的应用方向不同而存在不同的网络协议和体系结构。建立的统一的物联网体系架构,统一的技术标准是物联网现在正在面对的难题。

上面这段话摘自百度百科,从中不难看出,物联网行业并没有出现大统一的标准,相比于汽车行业,有更多的发展空间和活动空间,没有太多的各种标准限制。

一段关于行业生命周期分析的文字:

行业生命周期分为四个阶段:①形成期;②成长期;③成熟期;④衰退期;

(3)成熟期。进入成熟期后,一方面,行业的市场已趋于饱和,销售额已难以增长,在此阶段的后期甚至会开始下降;另一方面行业内部竞争异常激烈,企业间的合并、兼并大量出现,许多小企业退出,于是行业由分散走向集中,往往只留下少量的大企业。产品成本控制和市场营销的有效性成为企业成败的关键因素。

(2)成长期。进入成长期,行业的产品已较完善,顾客对产品已有认识,市场迅速扩大,企业的销售额和利润迅速增长。同时,有不少后续企业参加进来,行业的规模扩大,竞争日趋激烈,那些不成功的企业已开始退出。市场营销和生产管理(提高质量和降低成本)成为关键性职能。

(1)形成期。形成期是指某行业刚出现的阶段。在此阶段,有较多的小企业出现,因为企业刚建立或刚生产某种产品,忙于发展各自的技术能力而不能全力投入竞争,所以竞争压力较小。研究开发和工程技术是这个阶段的重要职能,在营销上则着重广告宣传,增进顾客对产品的了解。

观察近几年的汽车行业的发展,该行业处于成熟期是毋庸置疑的,而物联网处于成长期,价格和市场是竞争的关键。

3.1.3         物联网的尝试

最触手可及的网络即为WIFI,最触手可及的应用端程序为网页、Android、IOS、PC的APP和微信小程序。使用应用端的程序通过互联网控制一个硬件设备,这可以称作物联网。

3.2     需求

3.3     ESP8266

ESP8266系列无线模块是高性价比WIFI SOC模组,该系列模块支持标准的IEEE802.11b/g/n协议,内置完整的TCP/IP协议栈。用户可以使用该系列模块为现有的设备添加联网功能,也可以构建独立的网络控制器。

3.3.1         特点

·       体积超小的802.11b/g/n WiFi SOC模块

·       采用低功率32位CPU,可兼作应用处理器

·       主频最高可达160MHz

·       内置10bit高精度ADC

·       支持USART、GPIO、IIC、PWM、ADC、SPI等接口

·       支持多种休眠模式,深度睡眠电流低至20uA

·       内嵌LWIP协议栈

·       支持STA、AP、STA+AP工作模式

·       支持smart config、AirKiss一键配网

·       通用AT指令可快速上手

·       支持SDK二次开发

·       支持串口本地升级和远程固件升级(FOTA)

3.3.2         ESP8266如何联网

手机上连接WIFI的操作流程是先打开WIFI开关,然后选择WIFI网络,再然后输入密码即可。

对于物联网设备不会像手机这么有好的交互界面,否则成本会很高;

其次,设备数目巨大时,不可能每个每个设备单独的挨个输入账号和密码;

另外,我们希望WIFI模块适用在各种场合,那么就会有各种WIFI网络账号名和密码,密码也会不断更新,账号和密码就不能是固定的。

针对这些期望,ESP8266支持一种模式叫smartconfig,帮助用户将采用ESP8266EX和ESP32的设备连接至WiFi网络,用户只需要在手机上进行简单操作即可实现智能配置。这个过程如下图所示:

由于设备在一开始并未连接至网路,手机端 App 无法直接向设备发送信息。通过通过smartconfig通信协议,具备WiFi网络接入能力的设备(例如智能手机)就可以向接入点(AP)发送一系列UDP包,其中每一包的长度(即Length字段)都按照smartconfig通信协议进行编码,SSID和密码就包含在Length字段中,随后设备便可以获得并解析出所需的信息。数据包结构如下图所示:

更多详细的内容可以到乐鑫官网查找:

https://www.espressif.com/zh-hans/support/documents/technical-documents?keys=&field_type_tid%5B%5D=14

3.3.3         AT指令

ESP826支持AT指令,这个使用单独的MCU去控制ESP8266提供便利。

TCP/IP指令一览表

指令

实际响应

Actual Response

AT+CIPSTATUS

查询网络连接信息

AT+CIPDOMAIN

域名解析功能

AT+CIPDNS

自定义DNS服务器

AT+CIPSTAMAC

设置ESP32 Station的MAC地址

AT+CIPAPMAC

设置ESP32 SoftAP的MAC地址

AT+CIPSTA

设置ESP32 Station的IP地址

AT+CIPAP

设置ESP32 SoftAP的IP地址

AT+CIPSTART

建立TCP连接,UDP传输或者SSL连接

AT+CIPSEND

发送数据

AT+CIPSENDEX

发送数据,达到设置长度,或者遇到字符\0,则发送数据

AT+CIPCLOSE

关闭TCP/UDP/SSL传输

AT+CIFSR

查询本地IP地址

AT+CIPMUX

设置多连接模式

AT+CIPSERVER

设置TCP服务器

AT+CIPSERVERMAXCONN

设置TCP服务器允许的最大连接数

AT+CIPMODE

设置透传模式

AT+SAVETRANSLINK

保存透传连接到Flash

AT+CIPSTO

设置ESP32作为TCP服务器的超时时间

AT+CIUPDATE

通过Wi-Fi升级软件

AT+CIPSNTPCFG

设置时域和SNTP服务器

AT+PING

Ping功能

AT指令如何使用见下一篇文章。

3.4    微信小程序

3.4.1         介绍

什么是微信小程序:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题,应用将无处不在,随时可用,但又无须安装卸载。

——张小龙

3.4.2         相比于Android、IOS、PC的APP的优势

-                  跨平台(对于IOS和Android两个平台只需要开发一套程序);

-                  具备缓存能力;

-                  上手容易,开发逻辑较为简单;

-                  开发环境很干净,无需安装任何除开发工具外的其他软件。

-                  发布和部署流程非常简单,几乎是“傻瓜式”,点击几下就可以将应用发布到腾讯云;

-                  小程序之所以在公布后引起了互联网圈儿和开发者们极高的关注度,原因并不在技术上,无数开发者、创业者看中的是微信天然的关系链与获客能力,这也是小程序最大的优势;

更多关于微信小程序的优缺点和其他知识点,可以查阅《微信小程序开发入门与实践》等其他书籍。

3.4.3         在实践项目中,微信小程序的作用

3.4.3.1     使用AirKiss给ESP8266配网

AirKiss是微信硬件平台提供的一种WiFi设备快速入网配置技术,要使用微信客户端的方式配置设备入网,需要设备支持AirKiss技术。

AirKiss主要在如下场景中使用:

  1. 待接入互联网的设备不具备输入输出能力,如空调、空气净化器、烟雾报警器等;

在此,我们暂时使用安信可小程序给ESP8266配网,配网界面如下:

手机连接WiFi后,在Wi-Fi密码处填写密码,然后点击连接即可。进入AirKiss smartconfig模式的Wifi模块在接收到小程序通过局域网发送的UDP报文后自动解析,并使用接收到的SSID和密码尝试连接WiFi。具体步骤见后续文章。

3.4.3.2     小程序在WIFI局域网内与硬件设备通信

在微信官方文档小程序中提供了网络接口,选取UDP作为微信小程序与硬件设备通信的通信协议。

https://developers.weixin.qq.com/miniprogram/dev/api/network/udp/wx.createUDPSocket.html

3.5     测试

使用STM32F407+ESP8266进行前期功能验证,实现STM32F407通过AT指令控制ESP8266与网络助手通信。大致流程如下:

4      优化

4.1     成本优化

将程序都集成在一块ESP8266MCU上,本身ESP8266是一个32bit的微处理器,具备运算和控制能力,也提供编译开发环境和刷写工具,所以可以将所有控制逻辑在官方提供的编译开发环境中实现,并将烧录文件下载到ESP8266微控制器中,这样可以节省一块STM32F0系列的芯片,以及周边附属的电阻、电容、晶振等元器件,可以节省3到4元的成本。

4.2     功能优化

最终产品实现的功能是控制空调的开关,可以增加更多的功能,如升降温、设置空调模式这些几乎所有空调都具备的功能。

在这个还没被标准化的海洋里肆意的遨游。以实现功能和低成本在细分领域里觅食。

物联网系列之WIFI模块ESP8266一介绍相关推荐

  1. 物联网无线串口WiFi模块,智能生活无线应用,无线WiFi模组技术

    随着5G商用步伐的加快,各个行业领域的物联网应用也呈现几何式增长.在成本可控的前提下,目前市场中主流的物联网无线模块还是以串口WiFi模块.串口蓝牙模块为主. 串口WiFi模块是基于UART接口的符合 ...

  2. WIFI模块选型的介绍

    WIFI模块选型的介绍 随着WiFi技术的不断发展,各种封装尺寸的WiFi模块已经出现在我们日常生活中的电子产品上.至今各类应用WiFi模块的产品,主流的WiFi模块可分为WiFi4,WiFi5,Wi ...

  3. 什么是网关模块 工业物联网以太网网关WiFi模块的选型

    在智能科技发展的时代,物联网产品在市场上也是满目琳琅,呈现出万物互联的景象,也给人们生活带来了便利.物联网由多种协议发挥各自优势共同构成.但是要实现网络连接,我们不得不提到的网关.为了方便研发生产,厂 ...

  4. 15单片机通过WIFI模块ESP8266实现手机远程监控可燃气体浓度

    15单片机通过WIFI模块ESP8266实现手机远程监控可燃气体浓度 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 一,系统方案 1.方案描 ...

  5. 【上位机与下位机通信】使用WIFI模块ESP8266连接单片机与上位机通信

    文章目录 前言 一.ESP8266模块与STM32连接 二.单片机代码 三.总结 前言 承接上文WIFI上位机部分:[上位机]通过WIFI上位机与网络调试助手通信绘制曲线,现阶段实现了STM32单片机 ...

  6. wifi模块esp8266的使用

    引用自:[常用模块]ESP8266 WIFI串口通信模块使用详解(实例:附STM32详细代码)_Yngz_Miao的博客-CSDN博客_esp8266wifi.h 详解 现在市面上使用比较的ESP82 ...

  7. 1.WiFi模块ESP8266模块的使用(针对初学者)

    虽然esp8266有很多种,但是对于我们初学者来说,只需要有RXD,TXD,VCC,GND四个引脚,简单入门足够了 1. 引脚说明: VCC连接正极(有些是3.3V,有些是5V,我的这个是5V),GN ...

  8. 【毕设调试一】WiFi模块esp8266的调试

    硬件说明: 提示 :主控芯片STM32F103C8T6,与WiFi通信串口为串口二,打印串口为串口三(不使用串口一是当时设计时,方便pcb走线) 说明 :因为我是使用PCB画板的方式来走线的,并不是按 ...

  9. WIFI模块——ESP8266

    1.ESP8266简介 ESP8266是一款高性能的WIFI串口模块,内部集成MCU能实现单片机之间串口通信,是目前使用最广泛的一种WIFI模块之一.可以简单理解为一个WIFI转串口的设备,不用知道太 ...

最新文章

  1. Spring Cloud Zuul网关 Filter、熔断、重试、高可用的使用方式
  2. 程序怎么跑着 就卡死,句柄泄漏,内存泄漏了
  3. curl命令java_上curl java 模拟http请求
  4. Vjios P1736 铺地毯【暴力,思维】
  5. csdn的blog后台程序的导航菜单的实现
  6. 同步与异步阻塞与非阻塞
  7. 当我们在谈论单测时我们在谈论什么
  8. 【机器人】关键问题:动捕原点坐标系到机械臂基坐标系的转换
  9. linux: 空指令(:)
  10. Hadoop大数据原理与应用实验教程
  11. CPU监控工具(CPU使用率及CPU温度监控)
  12. 机器狗病毒样本(穿透冰和点还原卡)
  13. Ubuntu安装USB无线网卡驱动
  14. 2.8数据-paddlepaddle数据集uci_housing
  15. win10网络诊断为DNS服务器未响应,Win10系统下电脑无法连接网络诊断提示DNS服务器未响应解决方法...
  16. iPhone麦田守望者》
  17. java 判断图片格式_Java判断上传图片格式的实例代码
  18. 双向链表(Doubly Linked List)
  19. SPP中Supersession与Item Sourcing Rule的关系
  20. 解决下载软件老是附带流氓软件的下载问题

热门文章

  1. 英伟达RTX 4070最新测评来了!光追效果更棒,但仅限于2k游戏
  2. 敬业签云便签提示“基础连接已关闭,发送时发生错误!”如何解决
  3. windows2012r2文件服务器部署,Windows server 2012部署和配置群集文件服务器
  4. 【脑洞大开】《西潮》及《走向世界丛书》
  5. Excel 下拉多选的设置
  6. 差异化地推手段,让营销效果翻十倍!
  7. vue 找回密码_找回密码的功能设计
  8. (已解决)微信小程序调查问卷所有题放在一个页面上
  9. 软考初级信息处理技术员基础知识考点(建议收藏)
  10. 如何扩展计算机c盘的控件,win7电脑怎么增加c盘空间 电脑增加c盘空间操作方法...