能用微信控制的插座SmartSwitch 0.1 开源手册
2015-11-10 13:13
696 查看
2、SmartSwitch0.1硬件
2.1、SmartSwitch0.1 PCB
![](http://img.blog.csdn.net/20151110131354829?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1、 COM:220V公共端
2、 IN:220V输入端
3、 OUT:220V输出端
4、 P2插针:
无短路帽:正常运行模式和模块lua文件下载模式
有短路帽:固件下载模式
5、 P1插针:
TX,GND,RX,+5V为下载串口,固件等通过此串口更新(其中,TX为TTL串口Txd引脚,对接电脑串口Rxd;RX为串口Rxd引脚,对接电脑Txd)。
插座 电脑TTL串口
TX ------- Rxd
GND ------- GND
RX ------- Rxd
+5V ------- +5V
RL,RX在运行的时候被短路帽短接,下载固件的时候将此短路帽插在P2上,但是下载lua的时候P2短路帽需去掉。
6、 Led1:红色指示灯,指示当前插座联网状态
常亮:wifi已连接,插座已经连接到路由器
快闪:等待smartlink
慢闪:正在连接到路由器
7、 s1:开关按键:1.白色按钮:插座状态切换/清除密码信息
设备上电后通过按这个白色按键可以改变插座开关状态,例如如果插座之前是关闭的,按一下就打开插座,继电器导通,面板上的插座开始供电,反之亦然;
如果上电前按住这个白色按钮,则删除保存的路由器配置信息,插座自动进入smartlink模式,等待手机app广播信息。
什么叫做smartlink:smartlink是一种使无线设备连接到无线网络的一种手段。在无线设备还未连接到网络之前,无线设备必须获得网络的SSID和Password,smartlink可以允许用户通过手机APP的方式将SSID和Password广播给设备,无线设备接收到配置信息后进行下一步的联网操作。
![](http://img.blog.csdn.net/20151110131641786?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.2、SmartSwitch0.1原理图
SmartSwitch采用高性能的ESP8266芯片作为主控芯片,ESP8266 是一款高度集成的芯片,该芯片专门针对无线连接的需求而开发,是一个完整且自成系统的 Wi-Fi 网络解决方案。它能够搭载软件应用,也能通过另一个应用处理器卸载所有的 Wi-Fi 网络功能。 ESP8266 具备强大的片上处理和存储功能,这使其可通过 GPIO 口集成传感器及其他应用的特定设备,既缩短前期开发时间,也最大限度减少运行中系统资源的占用。ESP8266 高度片内集成,仅需极少的外部电路,而其包括前端模块在内的整个解决方案,可将设计中
PCB 所占的空间降到最低。原理图smartswitch0.1.pdf下载链接:http://pan.baidu.com/s/1c0jpN48密码:e6ns
2.2.1模块概述
ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。ESP8266封装方式多样,天线可支持板载PCB天线,IPEX接口和邮票孔接口三种形式;
ESP8266可广泛应用于智能电网、智能交通、智能家具、手持设备、工业控制等领域。
2.2.2芯片产品特性SDIO 2.0、SPI、UART 接口
SDIO 2.0、SPI、UART 接口32-pin QFN 封装
集成 RF 开关、 balun、LNA、 24 dBm PA 、DCXO 和 电源管理单元(PMU)
集成 RISC 处理器、片上存储器和外部存储器接口
集成 MAC/基带处理器
高品质的服务管理
高保真音频应用所需的 I2S 接口
所有内部供电均包含片上低压差线性稳压器
专有的无杂散时钟生成架构
集成 WEP、 TKIP、AES 和 WAPI引擎
2.2.3芯片产品规格
802.11 b/g/nWiFi Direct (P2P)、soft-AP
集成 TCP/IP 协议栈
集成 TR 开关、 balun、LNA、 PA 和匹配网络
集成PLL、稳压器、DCXO 和电源管理单元
802.11b模式下 +19.5dBm 的输出功率
小于 10uA 的断电泄露电流
集成低功耗 32 位 CPU,可以兼作应用处理器
SDIO 1.1/2.0、 SPI、UART 接口
STBC、 1×1MIMO、2×1MIMO
A-MPDU & A-MSDU 聚合& 0.4ms 的保护间隔
2ms 之内唤醒并传递数据包
待机状态消耗功率少于 1.0mW (DTIM3)
更详细信息请访问espressif 官网 http://espressif.com/
2.2.4模块产品特性
支持无线802.11 b/g/n 标准内置低功耗32 位CPU:可以兼作应用处理器
内置10 bit 精度ADC
内置TCP/IP 协议栈
内置TR 开关、balun、LNA、功率放大器和匹配网络
内置PLL、稳压器和电源管理组件
支持STA/AP/STA+AP 三种工作模式
内置TCP/IP协议栈,支持多路TCP Client连接
支持丰富的Socket AT指令
支持UART/GPIO数据通信接口
支持Smart Link 智能联网功能
支持远程固件升级(OTA)
超低能耗,适合电池供电应用
3.3V 单电源供电
深度睡眠保持电流为10 uA,关断电流⼩于5 uA
SDIO 2.0、(H) SPI 、UART、I2C、I2S、IR Remote Control、PWM、GPIO
2 ms 之内唤醒、连接并传递数据包
802.11b 模式下+ 20 dBm 的输出功率
待机状态消耗功率小于1.0 mW (DTIM3)
工作温度范围:-40℃- 125℃
模组通过FCC, CE, TELEC, WiFi Alliance 及SRRC 认证
2.2.5模块基本参数
模块 | 型号 | ESP8266-12 |
主芯片 | ESP8266 | |
无线参数 | 无线标准 | IEEE 802.11b/g/n |
频率范围 | 2.412GHz-2.484GHz | |
发射功率 | 802.11b: +16 +/-2dBm (@11Mbps) | |
802.11g: +14 +/-2dBm (@54Mbps) | ||
802.11n: +13 +/-2dBm (@HT20, MCS7) | ||
接收灵敏度 | 802.11b: -93 dBm (@11Mbps ,CCK) | |
802.11g: -85dBm (@54Mbps, OFDM) | ||
802.11n: -82dBm (@HT20, MCS7) | ||
天线形式 | 外置:邮票孔接口 | |
外置:I-PEX 连接器、SMA 连接器 | ||
内置:板载PCB 天线 | ||
硬件参数 | 硬件接口 | UART,IIC,PWM,GPIO,ADC |
工作电压 | 3.3V | |
GPIO驱动能力 | Max:15ma | |
工作电流 | 持续发送下=> 平均值:~70mA,峰值: 200mA 正常模式下=> 平均: ~12mA,峰值: 200mA 待机:<200uA, | |
工作温度 | -40℃~125℃ | |
存储环境 | 温度:<40℃,相对湿度:<90%R.H. | |
尺寸 | 24.0mm*16.0mm*1mm; | |
串口透传 | 传输速率 | 110-921600bps |
TCP Client | 5个 | |
软件参数 | 无线网络类型 | STA/AP/STA+AP |
安全机制 | WEP/WPA-PSK/WPA2-PSK | |
加密类型 | WEP64/WEP128/TKIP/AES | |
固件升级 | 本地串口,OTA远程升级 | |
网络协议 | IPv4, TCP/UDP/FTP/HTTP | |
用户配置 | AT+指令集, Web 页面 Android/iOS 终端, Smart Link 智能配置APP |
2.2.6模块引脚定义
PIN | Function | Description |
1 | URXD | 1)UART_RXD,接收; 2)General Purpose Input/Output:GPIO3; |
2 | UTXD | 1)UART_TXD,发送; 2)General Purpose Input/Output:GPIO1; 3)开机时禁止下拉; |
5 | REST | 外部Reset信号,低电平复位,高电平工作(默认高); |
6 | GND | GND |
8 | VCC | 3.3V,模块供电; |
9 | ANT | WiFi Antenna |
11 | GPIO0 | 1)默认WiFi Status:WiFi工作状态指示灯控制信号; 2)工作模式选择: 上拉:Flash Boot,工作模式; 下拉:UART Download,下载模式; |
12 | ADC | ADC,输入范围:0V-1V; |
13 | GPIO15 | 下拉:工作模式; |
14 | CH_PD | 1)高电平工作; 2)低电平模块供电关掉; |
15 | GPIO2 | 1)开机上电时必须为高电平,禁止硬件下拉; 2)内部默认已拉高 |
2.2.7模块功耗
模式 | 最小值 | 通常 | 最大值 | 单位 |
传送802.11b,CCK 1Mbps,Pout=+19.5dBm | 215 | mA | ||
传送802.11b,CCK 11Mbps,Pout=+18.5dBm | 197 | mA | ||
传送802.11g,OFDM54 Mbps,Pout=+16dBm | 145 | mA | ||
传送802.11n,MCS7,Pout=+14dBm | 135 | mA | ||
接收802.11b,包长1024字节,-80dBm | 100 | mA | ||
接收802.11g,包长1024字节,-70dBm | 100 | mA | ||
接收802.11n,包长1024字节,-65dBm | 102 | mA | ||
系统待机模式 | 70 | mA | ||
关机 | 0.5 | μA |
2.2.8模块射频指标
描述 | 最小值 | 通常 | 最大值 | 单位 |
输入频率 | 2412 | 2484 | MHz | |
输入电阻 | 50 | Ω | ||
输入反射 | -10 | dB | ||
72.2Mbps下,PA的输出功率 | 14 | 15 | 16 | dBm |
802.11b模式下,PA的输出功率 | 17.5 | 18.5 | 19.5 | dBm |
灵敏度 | ||||
CCK 1Mbps | -98 | dBm | ||
CCK 11Mbps | -91 | dBm | ||
6Mbps(1/2BPSK) | -93 | dBm | ||
54Mbps(3/4 64-QAM) | -75 | dBm | ||
HT20,MCS7(65Mbps,72.2Mbps) | -71 | dBm | ||
邻频抑制 | ||||
OFDM,6Mbps | 37 | dB | ||
OFDM,54Mbps | 21 | dB | ||
HT20,MCS0 | 37 | dB | ||
HT20,MCS7 | 20 | dB |
3、SmartSwitch0.1软件
3.1、NodeMcu介绍
Esp8266为乐鑫信息科技(上海)有限公司生产的一款具有无线功能的芯片,芯片内部集成处理器,主频可至160Mhz,所以可以运行在ESP8266 StandAlone mode模式下,即一个CPU完成所有的任务,同时乐鑫已经将该芯片固件开源,开源源代码托管到git上面,每一个版本的公布都会同时公布源代码,但是官方公布的都是具有AT指令模式的固件,即需要外挂一个单片机来控制ESP8266,这样减少了开发难度,用户只需了解他的AT指令即可,如果想脱离外挂的单片机只能要求用户重新编译附件,无疑曾加了开发难度。实际上既然ESP8266是一个单片机,本身自己就可以实现用户自定义的功能。这个想法被nodemcu团队实现了----NodeMCU超简单的物联网开发平台,提供硬件的高级接口,可以将应用开发者从繁复的硬件配置、寄存器操作中解放出来。用交互式Lua脚本,像arduino一样编写硬件代码!事件驱动型API极大的方便了用户进行网络应用开发,使用类似Nodejs的方式编写网络代码,并运行于5mm*5mm大小的MCU之上,加快您的物联网开发进度。具有GPIO、PWM、I2C、1-Wire、ADC等功能,结合NodeMCU固件为您的原型开发提供最快速的途径。
Nodemcu最大特点:开源,交互式,可编程,低成本,简单,智能,WI-FI硬件
SmartSwitch0.1是基于nodemcu0.9.6版本,采用lua语言开发完成的。
3.2、Lua语言是什么
Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical CatholicUniversity of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
Lua语言有些语法与C语言类似,基于事件驱动模型,他本身集成了编译器,即只需要将源代码交给NodeMcu即可,NodeMcu同时集成了编译执行工作。所有程序由init.lua第一行开始执行,传输进去的文件名即为NodeMcu默认的文件名,默认NodeMcu从init.lua开始执行,若没找到该文件,则NodeMcu提示错误:
lua: cannot open init.lua
3.3、NodeMcu提供的API有哪些,应该怎么用?
NODE MODULE:芯片相关的,例如重启,查看芯片剩余内存,芯片ID之类的FILE MODULE:文件相关的,例如管理串口传输进去的源码。
WIFI MODULE:wifi相关的,设置模块工作模式ap模式还是station模式
WIFI.STA MODULE:station模式相关的,例如设置模块ip,模块将要连接路由器的ssid和password之类的
WIFI.AP MODULE:ap模式相关的,例如设置模块自己本身ap模式默认的ssid和Password
TIMER MODULE:定时器相关
GPIO MODULE:GPIO相关,例如设置输入还是输出
PWM MODULE:pwm相关,能设置占空比和频率
NET MODULE:网络相关,设置tcp,udp相关的
I2C MODULE:IIC相关的,发送接收
ADC MODULE:ADC相关的,例如测量电压
UART MODULE:uart相关,例如设置波特率之类的
ONEWIRE MODULE:
BIT MODULE:位,位取反
SPI MODULE:spi相关
MQTT MODULE:MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议。建立在TCP上的物联网一种通信协议
3.4、用什么工具下载NodeMcu固件到模块中?
ESP8266Flasher.exe回到operation选项卡,选择串口后,点击Flash 按钮。
ESP8266Flasher.exe下载链接:http://pan.baidu.com/s/1eQjlMBw密码:o7r0
NodeMcu固件下载链接:http://pan.baidu.com/s/1sj87Ki5密码:1q3z
3.8、SmartSwitch0.1 lua源码
目前SmartSwitch在获取路由器ssid和Password途径支持两种配置形式,一种是smartlink模式,即通过手机APP把ssid和Password信息广播给SmartSwitch,还有一种是html模式,即SmartSwitch模拟一个ap,手机通过输入连入该ap打开指定的网站进行连接。各有各的优势,对于smartlink来说减少的繁杂的输入过程,只需要输入密码即可,但是要求使用者必须下载该软件,并且该软件只在第一次配置的时候使用过,以后几乎不会用;html模式相反,配置有些繁琐,先选择ap,并且选ap的时候还得输入ap的Password,另外得要求用户输入ssid和Password,这就得让客户必须记住ssid才可以。3.8.3、SmartLink源码分析之init.lua
更详细的手册请参考 http://web.nenewind.com/upload/read.php?tid=12 微信测试平台公众号:Newind
相关文章推荐
- 微信开发的access_token的获取
- 微信公众平台java开发详解(工程代码+解析)
- 微信站开发链接
- 微信JS接口安全域名 config:invalid url domain
- 微信开发获取用户信息的时候提示redirect_uri参数错误
- 微信支付配置信息动态获取数据库获取
- C#开发微信公众平台-就这么简单(附Demo)
- 微信公众平台开发 OAuth2.0网页授权认证
- Android分享到微信好友、朋友圈
- Java-微信支付-接口配置信息验证-配置代码和技巧
- 关机小程序
- 微信支付开发-当前页面的URL未注册
- 怎么做QQ、微信等消息气泡
- 微信企业号让IOS不要识别数字为电话号码的方法
- 微信菜单添加图标
- 项目调优-微信(本地化服务)平台:瓶颈定位,数据库调优,业务重构
- java运行时间小程序
- 023.随机输出数值并统计出现次数
- 命令行菜单小程序V1.0
- 2015-11-9 java 微信端JSSDK分享实现