您的位置:首页 > 移动开发 > 微信开发

能用微信控制的插座SmartSwitch 0.1 开源手册

2015-11-10 13:13 696 查看

2、SmartSwitch0.1硬件


2.1、SmartSwitch0.1 PCB



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广播给设备,无线设备接收到配置信息后进行下一步的联网操作。



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/n

WiFi 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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: