亿佰特(Ebyte)-低功耗WiFi模块(ESP8266)智能家居物联网改造应用方案
- 格式:pdf
- 大小:1.32 MB
- 文档页数:23
(/wiki/index.php/File:TEL0092_frontpage.jpg)WiFi Bee-ESP8266 SKU:TEL0092SKU:TEL0092 WiFi Bee-ESP8266 Wirelss moduleContents1Introduction 2Specifications 3Pin out 4Tutorials4.1How to Use ?4.1.11 ConnectAP4.1.22TCP_Client_Single 4.1.33 TCP_Client_multi 4.1.44 TCP_Pure_Data_Mode 4.1.55 Server mode 4.1.6* Problem Shooting 4.2Update Firmware 5Application 6AT command 6.1How to enter AT mode 7Related link 8MoreIntroductionWifi Bee-ESP8266 is a Serial-to-WIFI module using XBEE design in a compact size,compatible with XBEE expansion base, applicable to a variety of 3.3V single-chip system. It can be used for Arduino, wireless data transfer, remote control. On-board switch can be used to easily select the Startup module or Upgrade firmware.ESP8266 has a powerful on-chip processing and storage capacity, built-in 32-bit processor, built-in Lwip protocol stack. Support AP+STA mode co-exist. And you could configure various parameters via AT commands.Specifications1.Wi-Fi Direct (P2P),soft-AP2.Built-in TCP/IP protocol stack3.Built-in low-power 32-bit CPU: can work as an application processor4.Support WPA WPA2/WPA2-PSK encryption5.Support UART interface6.Support for TTL serial port to wireless application7.Working voltage: 3.3V power <240Ma8.Wireless standard: IEEE802.11b/g/n9.Frequency: 2.4 GHzPin out(/wiki/index.php/File:TEL0092_pinOut.png)TutorialsThese stuffs are needed:1 Software1.ESP_Flasher2.Arduino IDE 1.0.63.CoolTermAssist2 Hardware1.DFRduino UNO R3(/index.php?route=product/product&product_id=838&search=uno&description=true)2.Xbee USB adapter (FTDI ready)(/index.php?route=product/product&product_id=72&search=USB&description=true&page=2)3.IO Expansion Shield for Arduino (V6)(/index.php?route=product/product&product_id=1134&search=expansion&description=true)B Cable A-B for Arduino(/index.php?route=product/product&product_id=134&search=usb&description=true)5.Mini USB cable(/index.php?route=product/product&product_id=215&search=usb&description=true&page=2&description=true)How to Use ?1 Connect AP1 Download the ESP8266 library(/images/upload/File/TEL0092/2015050816413167nsek.rar), andunzip it to "C:\Users\***\Documents\Arduino\libraries"2 Insert the expansion shield on UNO, and plug ESP8266 in the socket on the expansionshield.3 Note the switch: “RUN/Prog” at “Prog” side; “BOOT/UART” at "BOOT" side;4 Wire adapter to the expansion shield: TX-PIN10, RX-PIN11, GND -GND;(/wiki/index.php/File:TEL0092_Connectiondiagram.png)5 Open the sketch "Connect AP", and modify the wifi AP ssid and password of yours;(/wiki/index.php/File:TEL0092_Connect_AP_chan.png)6 Upload the sketch;7 Trun the switch of the expansion shield “RUN/Prog” to “Run” side;8 Use software "CoolTerm" to monitor if the AP connection is done.(Configure as the follow picture)(/wiki/index.php/File:TEL0092_Connect_AP_para.png)(/wiki/index.php/File:TEL0092_ctmode_choo2asd.jpg)2 TCP_Client_Single1 Pull the switch"RUN/Prog" to "Prog";2 Check the Ip address of your computer, we will use it as the Server Ip address;(/wiki/index.php/File:TEL0092TCP_Client_Single_checkIPpc.png)3 Open sample sketch "TCP_Client_Single", write your wifi's ssid, password , Server Ip address, port;(/wiki/index.php/File:TEL0092TCP_Client_Single_sampleMod.png)4 Open the software"TCP/IP Net Assistant V3.8", configure as follow, and click Connect to monitor the PC doing as Server;(/wiki/index.php/File:TEL0092TCP_Client_Single_assisP.png)5 Upload the modified sketch, and then pull the switch"RUN/Prog" to "RUN";6 Open "CoolTerm"and monitor the if the AP connection was good;(/wiki/index.php/File:TEL0092TCP_Client_Single_cooltC.png)7 Send a message from "TCP/IP Net Assistant V3.8", you could see "New message" appear on "CoolTerm".(/wiki/index.php/File:TEL0092TCP_Client_Single_Send.png)(/wiki/index.php/File:TEL0092TCP_Client_Single_recv.png)3 TCP_Client_multi1 Pull the switch"RUN/Prog" to "Prog";2 Open sample sketch "TCP_Client_multi", write your wifi's ssid, password , Server Ip address, port;(/wiki/index.php/File:TEL0092TCP_Client_multi_modif.png)3 Open another "TCP/IP Net Assistant V3.8", configure as follow, and click Connect;(/wiki/index.php/File:TEL0092TCP_Client_multi_tcpConfig.png)4 Upload the modified sketch, and then pull the switch"RUN/Prog" to "RUN";6 Watch"CoolTerm"to see if the AP connection was good;(/wiki/index.php/File:TEL0092TCP_Client_multi_ctemif.png)7 Send a message from different "TCP/IP Net Assistant V3.8", you could see New message appear on "CoolTerm"from different server .(/wiki/index.php/File:TEL0092TCP_Client_moti_Send.png)(/wiki/index.php/File:TEL0092TCP_Client_multi_recv.png)Note:ESP8266 can connect to 5 servers simultaneously.4 TCP_Pure_Data_Mode1 Pull the switch"RUN/Prog" to "Prog";2 Open sample sketch "TCP_Pure_Data_Mode", write your wifi's ssid, password , Server Ip address, port;(/wiki/index.php/File:TEL0092TCP_Pure_Data_Modemodifioh.jpg)3 Open the software"TCP/IP Net Assistant V3.8", configure as follow, and click Connect to monitor the PC doing as Server;(/wiki/index.php/File:TEL0092TCP_Pure_Data_ModeTCPCFI.png)4 Upload the modified sketch, and then pull the switch"RUN/Prog" to "RUN";5 Open "CoolTerm"and monitor the if the AP connection was good;(/wiki/index.php/File:TEL0092TCP_Pure_Data_ModeCOOLIF.png)6 Send a message from "TCP/IP Net Assistant V3.8", you could see New message appear on "CoolTerm".(/wiki/index.php/File:TEL0092TCP_Pure_Data_ModeSEN.png)(/wiki/index.php/File:TEL0092TCP_Pure_Data_ModeREC.png)Note:When the symbol">" appeared, it means ESP8266 entered into Transparent Mode which transfer data faster than normal mode.5 Server modeNote:Since now, the STA mode which support the Server mode is not stable , we are working on that you could refer to the ESP8266 manual book to t ry.* Problem ShootingIf the monitor print"Connect failed!" Please try/check these steps:Unplug the USB cable from Arduino to power off, and plug it again to restart module.The wifi you are using is good, and the code ssid and password is correct.Whether the button on expansion shield was push to the left side"RUN" but not"PROG".Whether the botton on the ESP8266 is also on the left side"BOOT".It's might for the wrong wire.The wifiBee socket on expansion shield has a loose connection to the wifi Bee.If everything is ok, but still failed connection. You may have a try "Update Firmware"Update FirmwarePlease download the Firmware and Tools(https:///Arduinolibrary/DFRobot_Wifi_Bee_ESP8266/blob/master/ESP8266Flasher_en.zip? raw=true)first. then Like in AT mode, but pull the swith of ESP8266 to "UART" side.Don'tforget to pull it back to "BOOT" after updating firmware.1 Open software "ESP_Flasher";2 Choose Firmware;(/wiki/index.php/File:TEL0092Firmware2en.png)(/wiki/index.php/File:TEL0092Firmware3.png)Address at 0x00000(/wiki/index.php/File:TEL0092Firmware4.png) Address at 0x400003 Choose Serial Port of ESP8266, click Flash to burn firmware;(/wiki/index.php/File:TEL0092Firmware5en_check.png)(/wiki/index.php/File:TEL0092Firmware5en.png)(/wiki/index.php/File:TEL0092Firmware6en.png) 4 Wait for done.(/wiki/index.php/File:TEL0092Firmware7en.png)ApplicationThis is a little application which is built on the 4.1.2 2 TCP_Client_Single trail, if you have finished that part, you could upload the sketch below, and send commands "H","L" to open up or turn off it on your computer. And since that almost every Arduino card has a LED built on board, connected with D13, so in the sketch, I will use it as the target LED.1 2 34 5 67 8 910 11 1213 14 15 16 1718 19 2021 22 23 24 25 26 27 2829 3031 32 33 3435 36 37 38 39 4041 42 43 // this example use esp8266 to connect to an Access Point and connect to SINGLE TCP Server which is at the same subnet// such as the esp8266 is is 192.168.1.3, and the server ip is 192.168.1.1 ,then esp8266 can connect to the server //Then connect a LED on Digital pin13, and open the software on PC_TC P server, send command to control the LED state://send "H" to turn ON LED; send "L" to turn OFF LED #include "esp8266.h"#include "SoftwareSerial.h"#define ssid"test"// you need to change it #define password"12345678"#define serverIP"192.168.1.1"#define serverPort"8081"int ledPin =13;String incomingData ="";Esp8266wifi;SoftwareSerial mySerial(10,11);// RX, TX void setup(){pinMode(ledPin,OUTPUT);delay(2000);// it will be better to delay 2s to wait esp8266 module OK Serial.begin(115200);mySerial.begin(115200);wifi.begin(&Serial,&mySerial);//Serial is used to c ommunicate with esp8266 module, mySerial is used to debug if (wifi.connectAP(ssid,password)){wifi.debugPrintln("connect ap sucessful !");}else {while (true);}wifi.setSingleConnect();if (wifi.connectTCPServer(serverIP,serverPort)){wifi.debugPrintln("connect to TCP server successful !");}String ip_addr;ip_addr =wifi.getIP();wifi.debugPrintln("esp8266 ip:"+ip_addr);}void loop(){int state =wifi.getState();switch (state){44454647484950515253545556575859606162636465666768697071727374 case WIFI_NEW_MESSAGE:wifi.debugPrintln("new message!");incomingData=wifi.getMessage();wifi.sendMessage(incomingData);//send the message toTCP server what it has receivedwifi.setState(WIFI_IDLE);break;case WIFI_CLOSED://reconnet to the TCP serverwifi.debugPrintln("server is closed! and trying to reconnect it !");if(wifi.connectTCPServer(serverIP,serverPort)){wifi.debugPrintln("reconnect OK!");wifi.setState(WIFI_IDLE);}else{wifi.debugPrintln("reconnect fail");wifi.setState(WIFI_CLOSED);}break;case WIFI_IDLE:int sta=wifi.checkMessage();wifi.setState(sta);break;}if(incomingData=="H"){digitalWrite(13,HIGH);incomingData="";}else if(incomingData=="L"){digitalWrite(13,LOW);incomingData="";}}(/wiki/index.php/File:TEL0092_control_LED13.png)Send command H(/wiki/index.php/File:TEL0092_control_LED13PIC.png)The LED turn ONAT commandHow to enter AT modeYou can setup and control the module completely with AT command through Serial.1 Insert ESP8266 onto the USB-Serial adapter(/index.php? route=product/product&product_id=72&search=FTDI&description=true#.Vp3NdVlPrzY)(/wiki/index.php/File:TEL0092_atmode_choo1.jp2 Open the Monitor in Arduino IDE. Choosing "Both NL & CR" "115200"3 Send "AT" to enter into the AT mode once reveived OK.(/wiki/index.php/File:ESP8266_atMode_1.jpg)choosing (/wiki/index.php/File:ESP8266_atMode_2.jpg)open monitor(/wiki/index.php/File:TEL0092_ctmode_chodum.png)https:///wiki/index.php/SKU:TEL0092_WiFi_Bee-ESP8266_Wirelss_m...1/25/2017。
NB-IoT在智能锁领域的应用随着近几年智能家居行业的火爆,智能锁在生活中出现的频率也越来越高,目前智能锁使用非机械钥匙作为用户识别ID的技术,主流技术有,感应卡,指纹识别,密码识别,面部识别等,极大的提高了门禁的安全性,但是以上安全性的前提是通电状态下,如果处于断电状态下智能锁则形同虚设。
此处就限制了用户的实用性,而且在上述的技术中假如有人恶意,将你家的电源切断,那么你的智能设备还不如傻瓜的老式设备,即使你有备用电池,又能持续多久?为了提升安全性则需要内置电池,采集各项基本数据,将数据传输到服务器,当服务器采集得到异常数据是则向用户发出警报,由于智能锁在安装后不易拆卸,所以要求它的电池使用寿命要长,将电池安装在锁内这样能有效避免上述断电的尴尬。
此处估计有人会说“前面不是说电池用不了多久么?”别急,后面会有介绍。
智能锁不仅仅是使用在智能家居上,比如还有我们熟悉的共享单车,为什么现在在大范围的使用NB-IoT,有一点无可厚非,“基站”。
我们回看中国的房构造,房门一般都处于过道,此种地方多为封闭是的环境,信号非常差,如果使用GPRS,那么可能在某些地方使用就完全没有信号,有信号的地方可能比较薄弱,造成数据延迟甚至丢失,但是NB-IOT这个问题就可以做到最小化,下面介绍下NB-IoT在实际是使用中的优势1.NB-IOT的五大优势优势一:海量连接NB-IoT比2G/3G/4G有50~100倍的上行容量提升,这也就意味着,在同一基站的情况下,NB-IoT可以比现有无线技术提供50~100倍的接入数。
举个简单的例子,某小区网络由一个基站覆盖,使用原有无线网络只能支持每个家庭中5个终端接入,可能4个手机、1个平板电脑就占满了,那么以后各种智能家电以及许许多多传感设备需要联网时就难以接入了。
而NB-IoT至少提供50倍接入数量即250个终端接入,足以满足未来智慧家庭中大量设备联网需求。
优势二:深度覆盖NB-IoT比LTE提升20dB增益,相当于发射功率提升了100倍,即覆盖能力提升了100倍,就算在地下车库、地下室、地下管道等信号难以到达的地方也能覆盖到。
E23是公司设计生产的一款433MHz射频模块,功率20mW,收发一体,IPX 射频接口,超低接收电流,采用12.8MHz晶振;SPI接口,小体积贴片型,目前已经稳定量产,并适用于多种应用场景。
E23采用SEMTECH公司原装进口的SX1212射频芯片设计开发;全进口工业级元器件,全无铅工艺,性能稳定,硬件的专业设计使模块可以插件或贴片,便于各种嵌入开发。
E23最大优势是接收功耗非常低,仅仅3mA左右,因此在低功耗场合得到大量应用。
E23为硬件平台,出厂无程序,用户需要进行二次开发。
1.E23尺寸图
图一E23-433MS20尺寸图
2.E23电气参数
9实测距离800m 晴朗空旷,最大功率,5dBi天线,高度大于2m,2k空中速率
10发射功率13dBm20mW
11空中速率2k~500kbps由于433M频率特性,建议不超过20kbps 12关断电流1uA(Max)Sleep模式下电流
13发射电流35mA@13dBm建议电源供电能力大于70mA
14接收电流3mA
15通信接口SPI最高速率可达8Mbps
16发射长度64字节长度可设定(详见SX1212手册)
17接收长度64字节长度可设定(详见SX1212手册)
18RSSI支持支持详见芯片手册
19天线接口IPX/邮票孔50Ω特性阻抗
20工作温度-40~+85℃工业级
21工作湿度10%~90%相对湿度,无冷凝
22储存温度-40~+125℃工业级
23接收灵敏度-104dBm@25kbps详见芯片手册
3.SX1212引脚定义
图二SX1212引脚定义
4.SX1212参考设计
图三SX1212参考设计5.E23低功耗。
第一章概述 (3)1.1产品简介 (3)1.2功能特点 (3)1.3设备类型介绍 (4)1.3.1 非休眠终端 (4)1.3.2 休眠终端 (4)1.4 应用场景 (4)第二章规格参数 (5)2.1 极限参数 (5)2.2 工作参数 (5)第三章机械尺寸与引脚定义 (6)第四章工作模式 (7)4.1 传输模式 (7)4.2 配置模式 (8)4.3 模式切换 (8)4.3.1 指令切换 (8)4.3.2 引脚切换 (8)第五章收发方式 (8)5.1数据发送的方式 (8)5.1.1广播模式 (8)5.1.2 组播模式 (9)5.1.3 单播模式 (9)5.2 接收数据的输出方式 (9)5.2.1 透明输出 (9)5.2.2 数据+短地址 (9)5.2.3 数据+长地址 (9)5.2.4 数据+RSSI (9)5.2.5 数据+短地址+RSSI (9)5.2.6 数据+长地址+RSSI (10)第六章应用功能和指令配置 (10)6.1 功能引脚 (10)6.1.1 LINK 详解 (10)6.1.2 WAKE详解 (10)6.1.3 AUX详解 (10)6.1.4 ACK详解 (10)6.1.5 UART_BAUD_RESET详解 (10)6.2 无线远程配置功能 (11)6.3功能参数说明 (11)6.5 HEX指令集 (12)6.5.1 指令规则 (12)6.5.2 读取指令集 (13)6.5.2 配置指令集 (15)6.5.3 网络操作指令集 (16)6.6 HEX 参数说明 (17)6.6.1 系统发送模式 (17)6.6.2 接收数据输出方式 (17)6.6.3网络节点类型 (17)6.6.4网络状态 (17)6.6.5网络 PAN_ID (18)6.6.6网络短地址: (18)6.6.7 MAC 地址 (18)6.6.8父节点网络短地址 (18)6.6.9父节点 MAC 地址 (18)6.6.10网络组号 (18)6.6.11网络信道 (18)6.6.12发送功率 (18)6.6.13串口波特率 (19)6.6.14休眠时间 (19)6.6.15父节点保存时间 (19)6.6.16父节点丢失后网络重连的周期 (19)6.6.17尝试重连的最大次数 (19)6.6.18无线远程配置ID (20)6.6.19用户 gpio 参数 (20)6.6.20用户 pwm 参数 (20)6.6.21用户 adc 参数 (21)6.6.22 配置所有网络参数 (21)6.6.23 读取所有网络参数 (21)第七章快速入门 (22)7.1 快速建立一个ZigBee网络 (22)7.2 快速加入一个ZigBee网络 (25)7.3 ZigBee网络通信测试 (28)7.3.1单播测试 (28)7.3.1.1终端和协调器之间相互以短地址形式单播 (28)7.3.1.2终端和协调器之间相互以长地址形式单播 (29)7.3.2组播测试 (30)7.3.3广播测试 (32)第九章常见问题 (33)9.1 传输距离不理想 (33)9.2 模块易损坏 (33)9.3 误码率太高 (33)关于我们 (34)第一章概述1.1产品简介E180-Z6907A是基于TELINK TLSR8269无线SOC设计生产的一款小体积、低功耗、高可靠性、工作在2.4GHz 频段的ZIGBEE模块,芯片自带高达48Mhz的32位高性能MCU,发射功率最高可达到7dBm。
产品概述E28系列产品是2.4GHz射频收发模块,通信距离远;具有极低的低功耗模式流耗。
此模块为小体积贴片型(引脚间距1.27mm),模块自带高性能PCB板载天线。
E28系列产品采用Semtesh公司的SX1280射频芯片,此芯片包含多样的物理层以及多种调制方式,如LORA,FLRC,GFSK。
特殊的调制和处理方式使得LORA和FLRC调制的传输距离大大增加;是一款高性能物联网无线收发器,并可以兼容蓝牙协议。
出色的低功耗性能、片上DC-DC和Time-of-flight使得此芯片功功能强大,可用于智能家居、安全系统、定位追踪、无线测距、穿戴设备、智能手环与健康管理等等。
E28系列产品为硬件平台,出厂无程序,用户需要进行二次开发。
目录1.技术参数 (3)1.1.E28-2G4M12S (3)1.2.E28-2G4M20S (3)1.3.参数说明 (3)2.机械特性 (4)2.1.E28-2G4M12S (4)2.1.1.尺寸图42.1.2.引脚定义4 2.2.E28-2G4M20S (5)2.2.1.尺寸图52.2.2.引脚定义53.推荐连线图 (6)3.1.E28-2G4M12S (6)3.2.E28-2G4M20S (6)4.生产指导 (7)4.1.回流焊温度 (7)4.2.回流焊曲线图 (7)5.常见问题 (8)5.1.通信距离很近 (8)5.2.模块易损坏 (8)6.重要声明 (8)7.关于我们 (8)1.技术参数~~1.1.E28-2G4M12S1.2.E28-2G4M20S1.3.参数说明●在针对模块设计供电电路时,往往推荐保留30以上余量,有整机利于长期稳定地工作;●发射瞬间需求的电流较大但是往往因为发射时间极短,消耗的总能量可能更小;●当客户使用外置天线时,天线与模块在不同频点上的阻抗匹配程度不同会不同程度地影响发射电流的大小。
●射频芯片处于纯粹接收状态时消耗的电流称为接收电流,部分带有通信协议的射频芯片或者开发者已经加载部分自行开发的协议于整机之上,这样可能会导致测试的接收电流偏大;●处于接纯粹收状态的电流往往都是mA级的,µA级的“接收电流”需要开发者通过软件进行处理。
ESP8266在智能家居监控系统中的应用 范兴隆 【摘 要】ESP8266是乐鑫公司生产的低功耗WiFi芯片,内置32位CPU,能够独立运行,也可以作为从机搭载于其他主机MCU运行,可以广泛应用于智能家居、工业无线控制、无线传感器等领域.本文以一套基于WiFi组网的智能家居监控系统设计为例,介绍ESP8266的SDK应用开发.
【期刊名称】《单片机与嵌入式系统应用》 【年(卷),期】2016(016)009 【总页数】5页(P52-56) 【关键词】WiFi;ESP8266;DHT11;E4A 【作 者】范兴隆 【作者单位】山东华宇工学院,德州253034 【正文语种】中 文 【中图分类】TN92 随着ZigBee技术、蓝牙技术及WiFi技术的不断成熟与普及,基于各种组网方式的智能家居监控系统越来越多,给人们的生活带来了极大的方便。其中,WiFi组网以其方便与有线以太网络整合、组网的成本低等优势,逐渐受到人们的推崇。目前国内外WiFi芯片生产厂商越来越多,芯片性能越来越好,其中ESP8266就是一款性价比较高的低功耗WiFi芯片。本文介绍了一种基于WiFi组网的家居监控系统,该系统利用功能各异的多个ESP8266模块组建无线局域网,使用手机端APP对网络中各个模块的工作进行监控,不仅可以实现灯具、窗帘等的无线开关,还可以对室内环境温度、湿度及空气成分等指标进行检测。通过对该系统的介绍,重点讲述ESP8266的SDK开发过程。 WiFi组网框图如图1所示,本系统采用BSS(Basic Service Set,基本服务集)模式进行WiFi组网,建立1个 soft AP(无线接入点,是一个无线网络的中心节点)和多个与其关联的station(无线终端是一个无线网络的终端),手机可以以station身份连接soft AP。系统中soft AP模块、station模块均基于ESP8266进行搭建,各station模块实现不同的功能,如温湿度检测、灯具开关等,soft AP模块收集各station模块的数据,手机端利用APP对soft AP模块进行访问,查询相关状态数据并进行控制指令下达。 2.1 ESP8266简介 ESP8266是一个完整且自成体系的WiFi网络解决方案,能够独立运行,也可以作为从机搭载于其他主机MCU运行。ESP8266在搭载应用并作为设备中唯一的应用处理器时,能够直接从外接闪存中启动。内置的高速缓冲存储器有利于提高系统性能,并减少内存需求。另外一种情况是,ESP8266负责无线上网接入承担WiFi适配器的任务,此时可以将其添加到任何基于微控制器的设计中。ESP8266高度片内集成,包括天线开关balun、电源管理转换器,因此仅需极少的外部电路,且包括前端模组在内的整个解决方案在设计时将所占PCB空间降到最小。 2.2 ESP8266模块电路设计 ESP8266高度集成的特点使得其外围设计非常简单容易。乐鑫官方提供的基本模组电路如图2所示。模组除主芯片外只需要1个无源晶振、1个SPI Flash及若干电阻、电容、电感。射频部分实现全内部集成,并且内部带有自动校准功能。本设计选用了深圳安信可公司设计的ESP-12模块,该模块采纳了图2所示的电路结构,采用PCB天线,经过匹配设计,空旷环境下传输距离可达到400 m左右,所有I/O口引出,带金属屏蔽壳,通过FCC&CE认证。 本设计中soft AP模块无其他外扩电路,灯具开关station模块、窗帘开关station模块需外接继电器实现被控对象控制,温湿度检测station模块需外接DHT11温湿度传感器。图3为DHT11的接线图,DATA为数据总结引脚,采用单总线数据格式。 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。 3.1 ESP8266SDK软件包简介 基于ESP8266物联网平台的Io T SDK为用户提供了一个简单、快速、高效开发物联网产品的软件平台。SDK为用户提供了一套数据接收、发送的函数接口,用户不必关心底层网络,如WiFi、TCP/IP等的具体实现,只需要专注于物联网上层应用的开发,利用相应接口完成网络数据的收发即可。 ESP8266物联网平台的所有网络功能均在库中实现,对用户不透明。用户应用的初始化功能可以在user_ main.c中实现。void user_init(void)是上层程序的入口函数,给用户提供一个初始化接口,用户可在该函数内增加硬件初始化、网络参数设置、定时器初始化等功能。为方便二次开发,SDK提供了较为丰富的API接口,接口具体信息可参考ESP8266__SDK__Programming Guide。 3.2 ESP8266 lDE简介 ESP8266 IDE为安信可公司开发的ESP8266模块编译平台,具有免安装、纯绿色、无需虚拟机、Windows系统直接运行、IDE界面、编辑和编译一体化、Eclipse编译后直接生成固件功能。 3.3 softAP模块程序设计 该系统中存在多个station模块,在系统正常工作时,需soft AP模块同时与多个station模块进行通信,为保证信息的可靠传输,网络通信采取TCP/IP协议。soft AP模块作为系统的中心节点,设置为TCP服务器,采用DHCP方式,为各station模块动态分配IP地址,各模块以客户端的身份与其建立连接。在连接建立完成后,soft AP模块负责监听各模块的工作状态,同时收集相关模块发送来的数据信息,并进行分类存储。 soft AP的程序入口函数user_init()工作流程图如图4所示。系统初始化主要完成μs级定时器重新初始化、串口波特率设置、GPIO引脚功能选择;μs级定时器主要为实现循环工作任务而设置;WiFi工作模式设置为soft-AP;soft-AP接口配置主要包括ssid设置、password设置;在WiFi event处理函数中进行WiFi工作状态查询与串口输出。 下为user_init()主要程序 指令及注释: system_timer_reinit(); //重新初始化定时器,当需要使用μs级定时器时调用 uart_init(115200,115200); //双UART模式,两个UART波特率初始化 PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U,FUNC_ GPIO0);//引脚功能选择 os_timer_setfn(&connect_timer1,timer1,NULL); //设置μs定时器回调函数 os_timer_arm_us(&connect_timer1,1000,1); //使能μs级定时器 wifi_set_opmode(0x02);//设置WiFi工作模式soft AP wifi_softap_get_config(&config); os_memcpy(config.ssid,"ESP8226",strlen("ESP8226")); //设置ssid os_memcpy(config.password,"12345678",strlen("12345678")); //设置password config.ssid_len=strlen("ESP8226"); wifi_softap_set_config(&config); //设置WiFi soft AP接口配置,并保存到Flash wifi_set_event_handler_cb(wifi_handle_event_cb); //注册WiFi event处理回调 WiFi event处理函数主要完成station连接、DHCP配置、TCP连接及无线数据收发等任务,其工作流程如图5所示。在WiFi event处理过程中,首先确定是否有station连接,若连接成功进而判断DHCP配置是否完成,在前述两个条件均满足的情况下,进行TCP网络连接参数espconn设置,并注册TCP网络连接回调函数及建立TCP侦听。在接收到建立连接的TCP客户端数据后,在连接回调函数中首先进行数据类型判别,然后根据不同类型数据进行相应处理,主要实现信息、状态类数据的存储和控制指令的发送。 以下为建立TCP连接的程序指令及注释: user_tcp_conn.type=ESPCONN_TCP; //选择TCP连接方式 user_tcp_conn.state=ESPCONN_NONE; //状态 user_tcp_conn.proto.tcp=(esp_tcp*)os_zalloc(sizeof(esp_ tcp));//分配内存空间 os_memcpy(user_tcp_conn.proto.tcp->local_ip,local_ip,4); //存放本地IP os_memcpy(user_tcp_conn.proto.tcp->remote_ip,remote_ip,4);//存放远端IP user_tcp_conn.proto.tcp->local_port=8080;//本地端口设置 user_tcp_conn.proto.tcp->remote_port=remote_port;//远端端口设置 espconn_regist_connectcb(&user_tcp_conn,user_tcp_connect_cb); //注册连接成功的回调函数 espconn_regist_reconcb(&user_tcp_conn,user_tcp_recon_cb); //注册连接失败的回调函数 espconn_accept(&user_tcp_conn);//创建TCP server,建立侦听 espconn_regist_time(&user_tcp_conn,60,0); //设置TCP server连接超时时间 3.4 station模块程序设计 station模块作为系统的终端节点,承担环境信息监测、负载控制及与soft AP模块进行通信等任务,在网络通信中设置为TCP客户端。 各station模块的user_init()函数程序工作流程如图6所示。系统初始化、μs级定时器设置与soft AP模块的设置相同,WiFi工作模式设置为station,下面的工作应为扫描获取可连接的AP信息,但该功能的接口函数需在系统初始化完成回调函数中调用。因此,user_init()函数的最后一步为注册系统初始化完成的回调函数。 wifi_set_opmode(0x01);//设置WiFi工作模式station system_init_done_cb(to_scan); //在user_init中调用,注册系统初始化完成的回调函数 void to_scan(void){wifi_station_scan(NULL,scan_done);} //扫描获取所有可用的AP信息,并接入指定soft AP
E S P8266-08-W iF i模块用户手册V1.0ESP8266 WiFi模块用户手册V1.0目录术语和缩写 (4)1.产品简介 (5)1.1.概述 (5)1.1.1产品特性 (5)1.1.2模块封装 (6)1.1.3模块基本参数 (6)1.2.硬件介绍 (7)1.3.功耗 (10)1.4.射频指标 (11)1.5.尺寸 (13)1.6.WiFi 天线 (14)1.7.推荐炉温曲线 (14)2.功能描述 (15)2.1.主要功能 (15)2.2.工作模式 (15)2.3.应用领域 (16)2.4.AiCloud (16)3.全功能测试版介绍 (17)3.1.测试步骤 (18)3.2.基础AT指令 (22)3.2.1 测试AT (22)3.3.WiFi功能AT指令 (22)3.3.1 选择WiFi应用模式:AT+CWMODE (22)3.3.2列出当前可用接入点:AT+CWLAP (23)3.3.3 加入接入点:AT+CWJAP (23)3.3.4 退出接入点:AT+CWQAP (23)3.3.5设置AP模式下的参数:AT+CWSAP (24)3.4.TCPIP AT指令 (25)3.4.1建立TCP/UDP连接:AT+CIPSTART (25)3.4.2获得TCP/UDP连接状态:AT+CIPSTATUS (25)3.4.3启动多连接:AT+CIPMUX (26)3.4.4发送数据:AT+CIPSEND (27)3.4.5关闭TCP/UDP连接:AT+CIPCLOSE (27)3.4.6获取本地IP地址:AT+CIFSR (28)3.4.7配置为服务器: (29)3.4.8选择TCPIP应用模式:AT+CIPMODE (32)3.4.9设置服务器主动断开的超时时间:AT+CIPSTO (32)3.4.10设置波特率:AT+CIOBAUD (32)4.产品试用 (33)表格目录表格 1 术语和缩写4表格 2 模块技术规格7表格 3 Pin脚定义10表格 4 功耗数据11表格 5 射频指标12图目录图 2 模块管脚排列图 (8)图 3 尺寸图 (13)图 4 WiFi射频参考电路图 (14)图 5 推荐回流曲线图 (15)图 6 全功能测试板板正面视图 (17)术语和缩写表格 1 术语和缩写1.产品简介1.1.概述ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。
esp8266芯片ESP8266芯片是一款由乐鑫科技推出的低功耗、高性能的Wi-Fi模块。
该芯片支持2.4GHz频段的无线网络通信,并且具备嵌入式TCP/IP协议栈,可以实现网络通信功能。
ESP8266芯片在物联网、智能家居、工业自动化等领域具有广泛的应用前景。
首先,ESP8266芯片具备强大的处理能力和丰富的资源。
该芯片采用了Tensilica的L106 32位处理器,主频为80MHz。
在这样的处理器的支持下,ESP8266可以实现高效的数据处理和计算能力,可以满足复杂的应用需求。
此外,该芯片还集成了适量的内存空间,包括外部闪存和RAM,以支持数据存储和程序执行。
其次,ESP8266芯片具备低功耗设计。
这一点对于物联网设备来说非常重要,因为很多物联网设备需要长时间运行,而无法频繁更换电池。
ESP8266芯片采用了低功耗的设计,能够在工作状态和待机状态之间快速切换。
在待机状态下,芯片的功耗非常低,可以极大地延长设备的使用寿命。
同时,ESP8266芯片还具备丰富的通信接口和协议支持。
该芯片内置了Wi-Fi模块,支持802.11 b/g/n协议,可以实现无线网络连接。
此外,芯片还集成了UART、SPI、I2C等通信接口,并且支持TCP/IP协议栈,可以连接到互联网,实现与云平台的通信。
这使得ESP8266芯片非常适用于物联网设备的连接和通信。
此外,ESP8266芯片还具备易用性和可扩展性。
乐鑫科技为该芯片提供了完备的软件开发工具和文档资源,开发者可以方便地对芯片进行开发和调试。
此外,芯片本身还预留了一些GPIO引脚,可以用于扩展外部设备的连接,实现更多的功能。
总之,ESP8266芯片是一款功能强大、低功耗、易用性高的Wi-Fi模块。
它具备强大的处理能力和丰富的资源,可以满足复杂的应用需求;同时,它也具备低功耗设计,可以延长物联网设备的使用寿命;另外,它还具备丰富的通信接口和协议支持,可以实现无线网络通信和与云平台的连接;此外,它还具备较好的易用性和可扩展性,方便开发者进行开发和扩展。
由于目前市场上的无线模块其主控芯片和RF芯片的性能不高,稳定性不强,只能实现小数据的传输,而面对大数据时,需要分包处理,这对数据的完整性会产生影响以及一定程度上加大了数据处理的难度。
现有模块对电源方面的处理很差,使得电源对射频电路的影响很高,大大降低了模块的传输能力。
针对现有技术中存在的问题,提供一种高速连续无线传输装置,功耗低,灵敏度高,性能稳定,并且使用窄带传输,传输距离长,传输速度快。
E61-TTL-1W是一款高速型433M无线数传模块,内置高性能单片机和高速无线RF芯片,UART串口透明传输,发射功率1W。
在“连续传输方式”下不限数据包的长度,完美实现57600/38400/19200/9600……等串口波特率的连续不间断传输;“定长传输方式”下可灵活配置参数,将数据包在当前配置的空中速率下以最高效的方式传输到对方,实现低延迟/高响应。
此模块包括主控芯片、无线RF芯片和天线接口,主控芯片通过UART串口模块与上位机连接,主控芯片通过SPI总线与无线RF芯片连接,无线RF芯片的收发通路连接有第一射频开关,第一射频开关分别连接有位于发射通路上的功率放大器、位于接收通路上的低噪声放大器,功率放大器和低噪声放大器还同时连接第二射频开关,第二射频开关与天线连接,并在第二射频开关与天线连接通路上设置有五阶π型滤波器、ESD防静电保护路和隔直电容。
主控芯片和无线RF芯片分别连接有第一LDO线性电源模块,功率放大器连接有DC-DC开关电源模块,低噪声放大器连接有第二LDO线性电源模块,第一LDO线性电源模块中设置有π型滤波器。
优选地,所述的主控芯片采用STM8L151G6U6。
优选地,所述的无线RF芯片采用AX5043。
优选地,所述的π型滤波器包括电容和电感。
由于采用了上述技术方案,本实用新型的有益效果是:本实用新型的高速连续无线传输装置可集成与一个模块上,体积小,使用方便;尤其是主控芯片和无线RF芯片稳定、高性能,搭配使用,处理数据量大;射频电路经过处理后,使模块大为优化,其谐波、驻波比、接收灵敏度等都得到大幅度改善,提高了通信能力。
基于ESP8266与机智云的物联网智能家居
管嘉诚;李晓烽;黄志芳;吴培炜;苏妙燕
【期刊名称】《物联网技术》
【年(卷),期】2023(13)3
【摘要】万物互联是近几年的热点问题,在智能云家居流行时代,需要考虑到如何通过增加一些传感器让老式家居,例如电风扇、电灯等,能够连接到互联网变得更加智
能和人性化的问题。
本文设计了一种基于云端的智能云家居,该系统通过ESP8266与机智云物联网平台的服务器互联,使用智能手表远程控制解决老式家居联网问题。
本文介绍的智能云家居共有两大部分:第一部分采用了STM32F103ZET6作为主控芯片,由数据采集系统、数据处理系统、数据云传输系统以及智能家居智能调节系
统构成;第二部分采用了ESP32作为主控芯片,由数据接收系统以及控制系统构成。
现如今,人口老龄化越来越严重,人们越来越追求居家生活的舒适性,智能云家居能够为有老年人家庭提供更加智能化的服务,因此本系统有着较为广阔的应用前景。
【总页数】3页(P140-142)
【作者】管嘉诚;李晓烽;黄志芳;吴培炜;苏妙燕
【作者单位】嘉应学院
【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于机智云物联网智能家居系统
2.基于机智云的智能家居系统设计与实现
3.基于STM32单片机微控制的机智云物联网智能家居系统开发
4.基于阿里云物联网平台的智能家居实现
5.基于云+Android的物联网智能家居软件设计与实现
因版权原因,仅展示原文概要,查看原文内容请购买。
E103-W01-IPX使用手册V1.01.模块介绍 (2)1.1.特点简介 (2)1.2.基本用法 (3)1.3.电气参数 (3)1.4.电气特性 (3)2.功能简述 (4)2.1.引脚定义 (4)2.2.模块功耗 (5)2.3.应用原理图 (5)3.快速入门 (6)3.1.模块作为Client与TCP服务器连接 (6)3.2.模块作为AP建立TCP SERVER与PC无线连接 (15)3.3.Smart Config使用 (17)3.4.PWM的使用 (18)3.5.GPIO的使用 (19)3.6.ADC的使用 (20)3.7.修改串口波特率 (20)4.组网说明 (21)4.1.组网角色 (21)4.2.组网模型 (21)5.AT指令 (23)6.定制合作 (24)7.关于我们 (25)1.模块介绍1.1.特点简介E103-W01是一款超高性价比的100mW(20dBm)串口转Wi-Fi模块,贴片小体积封装,陶瓷天线与IPX并存,工作在2.4~2.4835GHz频段。
模块可使用串口进行数据收发,降低了无线应用的门槛。
E103-W01模块是基于Espressif公司的ESP8266EX芯片研发。
模块集成了透传功能,即拿即用,支持串口AT指令集,服务器AT指令集,用户通过串口即可使用网络访问的功能,广泛应用于穿戴设备、家庭自动化、家庭安防、个人保健、智能家电、配饰与遥控器、汽车、照明、工业互联网等领域。
E103-W01模块支持标准的IEEE802.11b/g/n协议和完整的TCP/IP协议栈,支持STA/AP/STA+AP工作模式、支持SmartConfig、串口透传、IO口控制、开机透传、PWM输出、AD检测等功能,简单配置后便可以非常便利的实现网络访问功能,最大限度减少开发者的工作和项目开发时间。
典型应用:模块特点:√无线抄表√210ms开机透传,掉线自动连接√无线传感√多种波特率√智能家居√支持SmartConfig配置功能√工业遥控及遥测√支持TCPServer、TCPClient、UDP√智能楼宇及智能建筑√三种工作模式STATION、AP、STATION&AP√高压线监测√支持14mA低功耗数据接收√环境工程√支持串口透明传输√高速公路√支持多种加密方式√小型气象站√支持模块串口AT指令配置√自动化数据采集√支持可配置4路PWM输出√消费电子√内置看门狗,永不死机√智能机器人√参数记忆,掉电保存√路灯控制√1路10位精度ADC1.2.基本用法1.3.电气参数1.4.电气特性2.功能简述2.1.引脚定义2.2.模块功耗参数最小值典型值最大值单位Tx802.11b,CCK11Mbps,POUT=+17dBm165170180mA Tx802.11g,OFDM54Mbps,POUT=+15dBm135140150mA Tx802.11n,MCS7,POUT=+13dBm115120130mA Rx802.11b,1024bytes包长,-80dBm182023mA Rx802.11g,1024bytes包长,-70dBm535665mA Rx802.11n,1024bytes包长,-65dBm535665mA 部分睡眠131518mA睡眠0.80.9 1.1mA深度睡眠91011uA关机0.40.50.6uA 2.3.应用原理图注意:供电电源必须保证在3.0V~3.6V,为保证模块能稳定工作,建议外部选择电流大于300mA的LDO。
3.快速入门E103-W01模块具有简单易用的特点。
为了让用户能快速熟悉和模块,本节将引导用户经过简单的设置实现各种模式下的配置和通信。
测试过程使用的均为AT指令,为了用户进行快速连接,我们为用户开发了快速配置软件。
本节测试均使用配置软件进行操作,模块会对当前发出的指令进行回显,从而使用户快速的了解AT指令的用法(注意:每个AT指令后都需要加换行符)。
当然,用户熟悉AT指令之后,可以不使用配置软件,而使用串口调试助手手动发送AT指令。
也可以不使用底板而使用外部控制器(MCU)直接连模块UART进行AT指令通信。
3.1.模块作为Client与TCP服务器连接2【建立TCP服务器】:打开TCP&UDP测试工具建立一个TCP服务器:端口6000。
选中后点击启动服务器。
此时电脑端TCP服务器开始侦听6000端口,其他网络设备可以与之建立连接并通信。
3【安装模块】:测试底板VCC跳线短接,GPIO0跳线断开。
将E103-W01插入测试底板。
然后让底板接入电脑USB接口,若电脑端无法识别底板,请下载CP2102驱动。
如图:当前测试的USB端口号为:COM30。
AP模式是E103-W01模块默认的出厂状态,该状态下相当于Wi-Fi路由器,通过手机或电脑的无线网络功能即可搜索到名为EBT_XXXXXX(XXXXXX为MAC地址后三个字节.如测试模块MAC地址为“1a:fe:34:ed:a6:68”,则SSID名为“EBT_EDA668”)。
出厂状态默认无密码。
4【STATION模式设置】:打开Wi-Fi配置软件,在左下角选择端口号后,自动打开串口。
此时串口状态变为打开。
单击STATION设置按钮,进入设置界面。
修改需要连接名称和密码,本次测试路由名称为Ebyte,密码e30e31e32。
然后单击:进入Sta模式,将模块模式修改为STATION。
单击连接路由器,等几秒后返回如下图所示即表示模块与路由器连接成功。
此时用户可以点击IP信息查询,查询IP信息。
5【TCP Client设置】:单击Client设置,修改远端端口为6000(电脑TCP服务器端口对应),修改服务器IP为192.168.1.50(服务器IP,即电脑IP),点击建立连接按钮。
如图:若返回“CONNECT OK”则表示已连接上TCP服务器。
此时服务器端显示当前有设备连接IP地址为192.168.1.70(路由器分配给模块的IP地址)【数据发送】:此时可使用AT+CIPSEND指令发送数据,首先发送AT+CIPSEND=6指定发送6字节长度。
待显示“>”符号后,发送数据“123456”,可以看到TCP服务器端接收到数据“123456”。
数据通讯完成。
67【透明传输】:第六步发送数据步骤是先发送数据长度再发数据,实际操作比较麻烦,因此模块提供透明传输功能。
即配置完成以后可实现模块输入数据直接传输的到TCP服务器端,而不需要AT协议参与。
具体设置方法:在连接上服务器的情况下单击“进入透传模式”(AT+CIPMODE=1),然后发送AT+CIPSEND 即可进入透传模式。
此时模块不再接收AT指令,通过串口发送的数据直接发送到服务器端。
如继续发送AT+CIPSEND,模块会把AT+CIPSEND当作数据直接传输到TCP服务器。
服务器发送的数据也由模块直接输出。
【开机透传功能】:若用户每次开机连接都需要重复以上连接步骤,操作比较繁琐,初始化时间较长。
为提升工作做效率,模块提供开机透传功能。
使用开机透传功能之后,用户只需要配置一次路由连接和TCP连接。
模块重启或重新上电时,将自动连接设定的路由器,然后连接到指定的TCP服务器,用户只需待TCP连接完成以后(Wi-Fi指示灯处于熄灭状态,而非闪烁状态),直接发送数据。
点击上方“开机透传”选项,输入对应Wi-Fi名称和密码,单击开机Wi-Fi按钮,收到如下信息则表示Wi-Fi 设置并连接成功。
8按实际地址输入服务器IP地址,端口号,选择TCP模式,然后单击开机透传,如下,返回OK表示设置成功。
最后点击重新启动按钮或模块重新上电,重启以后模块将自动连接上面步骤所设置的路由器和地址,并通过Wi-Fi指示灯(GPIO2)判断连接状态。
连接上TCP服务器以后即可直接发送和接收数据。
如图Wi-Fi 指示灯(GPIO2)说明:间歇双闪:模块无法连接到AP 接入点间歇单闪:模块已连接到AP 接入点,但无法连接到TCP 服务器熄灭:模块已连接到AP,并已连上服务器。
E103-W01开机透传模式下,仅需210ms 即可连接到无线网络。
9【退出透明传输】:进入透传模式后,AT 指令失效。
若要重新进入AT 模式可发送“+++”退出透传模式,退出透传模式后,若要关闭开机透传模式(下次重新启动不再进入透传)则可使用AT 指令关闭开机透传。
具体操作如下:点击“退出透传状态”按钮(发送“+++”,无换行符),此时进入AT 指令模式,再单击“关闭透传”,此时下面接收窗口应有回显。
设置完成以后重新启动或上电将不再自动进入透传模式。
3.2.模块作为AP建立TCP SERVER与PC无线连接【模块建立TCP服务器】:在确认电脑已连接到模块的情况下,在打开“Server设置”选项,先单击“开启多连接”(开启多连接需要退出透传模式),然后单击“建立服务器”,接收信息如下则表示服务器建立完成。
【电脑连接模块TCP服务器,并传输数据】:电脑端使用TCP&UDP测试工具创建TCP客服端,目标IP:192.168.4.1端口:1001。
点击连接按钮,此时模块应输出下图所示:“0,CONNECT”(0表示连接ID),表示有客户端连接到模块(最多支持5个)。
电脑发送数据,模块输出:“+IPD,0,15:XXXXXXXX”(+IPD:指令0:连接ID15:数据长度XXXXXX:数据)模式发送数据时需要指定连接ID:AT+CIPSEND=0,10表示向连接0发送10个字节数据。
33.3.Smart Config使用3.4.PWM的使用3.5.GPIO的使用3.6.ADC的使用3.7.修改串口波特率4.组网说明4.1.组网角色4.2.组网模型需更换图片5.AT指令。