对物联网行业的一次探索与实践。
物联网从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主要在如下场景中使用:
-
待接入互联网的设备不具备输入输出能力,如空调、空气净化器、烟雾报警器等;
在此,我们暂时使用安信可小程序给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 功能优化
最终产品实现的功能是控制空调的开关,可以增加更多的功能,如升降温、设置空调模式这些几乎所有空调都具备的功能。
在这个还没被标准化的海洋里肆意的遨游。以实现功能和低成本在细分领域里觅食。
内容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.3ESP82663.3.1特点3.3.2ESP...
随着互联网的日益发展,智能家居的观念也逐渐深入人心。想要玩转智能家居,就离不开互联网,今天给大家
介绍
一款模块——
ESP8266
。小编将手把手教大家利用8266实现家电的控制。
ESP8266
可以用来做串口透传,PWM 调控,远程控制开关:控制插座、开关、电器等。该模块有三种工作模式,大家可以根据自己的具体情况来选择:
STA 模式:
ESP8266
模块通过路由器连接互联网,手机或电脑通过互联网...
一、
ESP8266
WIFI模块
的
介绍
ESP8266
是曾经缔造了以低成本引爆
物联网
是换成那个的佳话,
ESP8266
模块是单核32位mcu
wifi
芯片为主。其特点是拥有高性能无线soc,是一个完整且自成体系的
wifi
网络方案,能够独立运行,也可以作为slave搭载其他host运行。
二、
ESP8266
的指令
介绍
AT指令可以细分四种类型:
1.测试指令:AT+=?
该命令用于查询设置指令的参数以及取值的范围
2.查询指令:AT+?
该命令用于返回参数的当前值
3.设置指令:AT+=<’’’>
ESP8266
是一款
wifi
芯片,体积小,功耗低,引脚丰富,blablabla…..
物联网
中,各种普通的电器如何接入网络是一个关键的问题,我自己总共使用过三款
wifi
芯片。
第一款是海凌科的型号为RM04的一款芯片,如下图:
这款芯片使用5V直流电源,提供串口透传功能,有点是相对便宜些,但缺点也明显,功耗大,不稳定,时常有丢包的现象。
第二款是山东有人科技的一款芯片,如下图: 这款芯片使用了3.3
刚买一块
ESP8266
,琢磨一天才弄明白怎么使用,小白第一次弄这个确实不太友好,这里记录一下,怕以后自己用到又忘了,在
物联网
这一方面
ESP8266
还是特别实用的。
淘宝,拼多多都有,
ESP8266
(10元),下载器(19元)
1.
ESP8266
2.下载器(用usb转ttl也可以,我被坑了)
3.串口调试助手
4.网络调试助手(PC端)
5.网络调试助手手机端(华为的直接去应用商店里搜NeTorch 网络调试工具,有的话就不用了,看个人喜好,没有的话留下邮箱我发给你)
刚拿到
esp8266
文章目录
ESP8266
模块使用开发方式硬件模块配置环境连接网络简单连接
WIFI
连接
wifi
后作为服务器使用作为热点使用作为客户端与服务器进行通信NodeMCU开发板数字引脚使用做一个网页控制的开关
ESP8266
模块使用
8266片上集成
wifi
+MCU,使用的是一个M0的内核,成本很低,因为片上有
wifi
和MCU,所以作为网络终端非常的方便,当然,因为是
wifi
,所以低功耗较高。
说白了,
esp8266
也是一个单片机,上电还是得从0地址开始跑,平时我们使用单片机,一般都是使用keil等软件编程,然后下载,
1、
ESP8266
简介(无线通信模块
WIFI模块
)
ESP8266
系列
模组是安信可(Ai-thinker)公司采用乐鑫
ESP8266
芯片开发的一
系列
wifi
模组模块。
2、
ESP8266
相关功能
1.将客户端发来的数据转发到串口;
2.串口数据转发给所有客户端
3.可连接4个客户端
4.可设置静态IP地址
5.指示灯闪烁表示无客户端连接,灯亮代表有客户端连接
参考文档:https://...
ESP8266
WiFi模块
是一种非常流行的
物联网
设备,它可以通过
WiFi
连接到互联网,并与其他设备进行通信。有许多教程可以帮助您学习如何使用
ESP8266
模块,例如Arduino IDE和MicroPython等开发环境。您可以在网上找到许多教程和示例代码,以帮助您开始使用
ESP8266
。
另外,您可以使用App来控制
ESP8266
模块。有许多应用程序可以帮助您实现这一点,例如Blynk和MQTT Dash等应用程序。这些应用程序可以让您通过手机或平板电脑控制
ESP8266
模块,并监视其状态。您可以在应用商店中找到这些应用程序,并按照说明进行设置和使用。
Yihuabanchen:
AUTOSAR之DEM(四)——Event Memory
zzzzzzffff:
AUTOSAR之DEM(四)——Event Memory
zhxadd: