nodemcu恢复出厂设置

nodemcu恢复出厂设置,第1张

模块设置

AT—Tests AT Startup

命令

AT

复制

返回

OK

复制

AT+RST—复位模块

命令

AT+RST

复制

返回

OK

复制

AT+RESTORE—恢复出厂设置

命令

AT+RESTORE

复制

响应

OK

复制

ATE—AT 命令回显

关闭回显

ATE0

复制

打开回显

ATE1

复制

AT+UART_CUR—当前UART设置,不保存到Flash

查询

AT+UART_CUR?

复制

设置

AT+UART_CUR=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>

复制

参数说明

<baudrate>: UART baud rate

<databits>: data bits

5: 5-bit data

6: 6-bit data

7: 7-bit data

8: 8-bit data

<stopbits>: stop bits

1: 1-bit stop bit

2: 1.5-bit stop bit

3: 2-bit stop bit

<parity>: parity bit

0: None

1: Odd

2: Even

<flow control>: flow control

0: flow control is not enabled

1: enable RTS

2: enable CTS

3: enable both RTS and CTS

复制

AT+UART_DEF—默认UART配置,保存进FLASH

查询

AT+UART_DEF?

复制

设置

AT+UART_DEF=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>

复制

参数与 AT+UART_CUR命令一致

AT+CWMODE—设置WIFI模式

查询命令

AT+CWMODE?

复制

相应

+CWMODE:<mode>

OK

复制

设置命令

AT+CWMODE=<mode>

复制

响应

OK

复制

参数

<mode>:

0: Null mode, WiFi RF will be disabled

1: Station mode

2: SoftAP mode

3: SoftAP+Station mode

复制

AT+CWJAP—连接到AP

查询命令

AT+CWJAP?

复制

相应

+CWJAP:<ssid>,<bssid>,<channel>,<rssi>

OK

复制

参数说明

Parameters:

<ssid>: a string parameter showing the SSID of the AP.

<bssid>: the AP’s MAC address.

<channel>: channel

<rssi>: signal strength

复制

设置命令

AT+CWJAP=<ssid>,<pwd>[,<bssid>][,<pci_en>][,<reconn>][,<listen_interval>]

复制

响应

OK

或者

+CWJAP:

ERROR

复制

参数说明

<ssid>: the SSID of the target AP.

Escape character syntax is needed if SSID or password contains any special characters,

such as , or " or \.

<pwd>: password, MAX: 64-byte ASCII.

[<bssid>]: the target APs MAC address, used when multiple APs have the same SSID.

[<pci_en>]: enable PCI Authentication, which will disable connect OPEN and WEP AP.

[<reconn>]: enable Wi-Fi reconnection, when beacon timeout, ESP32 will reconnect

automatically.

[<listen_interval>]: the interval of listening to the AP's beacon,the range is (0,100],

<error code>: (for reference only)

1: connection timeout.

2: wrong password.

3: cannot find the target AP.

4: connection failed.

others: unknown error occurred.

复制

AT+CWQAP—与 AP 断开链接

命令

AT+CWQAP

复制

响应

OK

复制

建立连接

AT+CIPSTART—建立TCP连接,UDP传输或SSL连接

设置

AT+CIPSTART=<type>,<remote IP>,<remote port>[,<TCP keep alive>][,<local IP>]

Multiple TCP Connections (AT+CIPMUX=1):

AT+CIPSTART=<link ID>,<type>,<remote IP>,<remote port>[,<TCP keep alive>][,

<local IP>]

复制

例:连接私有云MQTT服务器

AT+CIPSTART="TCP","129.***.***.127",1883

复制

若之前没有连接过,则响应成功连接

AT+CIPSTART="TCP","129.28.***.127",1883

CONNECT

OK

复制

若之前连接过,则响应

AT+CIPSTART="TCP","129.***.***.127",1883

ALREADY CONNECTED

ERROR

复制

AT+CIPCLOSE—关闭TCP/UDP/SSL 连接

命令

AT+CIPCLOSE

复制

响应

OK

复制

AT+CIFSR读取模块IP地址

命令

AT+CIFSR

复制

响应

+CIFSR:<SoftAP IP address>

+CIFSR:<Station IP address>

OK

复制

发送数据

AT+CIPSEND—Sends Data

AT模式下发送数据

命令

AT+CIPSEND=<length>

复制

响应

OK

>

复制

跟随发送数据即可。

如果在数据传输过程中无法建立或中断连接,则系统

返回:

ERROR

复制

如果数据传输成功,系统将返回:

SEND OK

复制

透传模式下发送数据

在透传模式下,发送数据更为简单,首先进入透传模式,然后使用发送数据命令启动发送,再进行数据发送即可

发送命令

AT+CIPSEND

复制

响应

>

复制

在接收到>,后,直接发送我们的报文即可。

网络测试命令

AT+PING: Ping测试

命令

AT+PING=<IP>

复制

响应

+PING:<time>

OK

复制

例:

AT+PING="www.baidu.com"

+8

OK

复制

登录阿里云服务平台流程

1、发送“+++”让ESP8266退出透传

2、使用AT+RESTORE,恢复出厂设置

3、ATE0,关闭回显功能

4、AT+CWMODE_CUR=1 设置当前客户端为station模式

5、AT+CWJAP=<ssid>,<pwd> 连接到路由器

6、AT+CIPSTART="TCP","a1a3XzsznJI.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883 连接到阿里云,地址根据自己的情况进行修改。

7、AT+CIPMODE=1 进入透传模式

8、AT+CIPSEND 启动数据收发

9、发送报文、接收报文

10、退出连接前,先发送"+++"退出透传模式,设置AT+CIPMODE=0 进入正常AT命令模式。

复制

透传模式说明:

进入透传模式后,向服务器端发送命令和接收命令就无需带AT命令,接收到的信息也没有

例如:我们要发送连接MQTT协议报文时,在AT模式下,我们需要发以下命令(标注的位置是我们发给ESP8266模块的):

AT+CIPSEND=143

OK

'><这儿是143字节报文数据>

Recv 143 bytes

SEND OK

+IPD,4: \0\0

而进入透传模式时,我们只需要发送报文数据即可,例如我们发送C0 00心跳报文,则直接发送C0 00给ESP8266模块即可

[19:29:04.971]发→◇C0 00 □

[19:29:05.055]收←◆D0 00

[19:29:14.968]发→◇C0 00 □

[19:29:15.054]收←◆D0 00

之前点灯的小程序都是点亮板载LED灯,简单实用的话应该需要控制点亮实际的灯具,实际灯具一般都是220V电压点亮,这里就需要用nodeMcu控制一个继电器,然后利用继电器分合灯具,这里我选用简单的LED筒灯(2.5寸),继电器用的是5V控制220V,包含一个常开节点和常闭节点。

首先简单介绍一下继电器,它实际上是用小电流去控制大电流运作的一种“自动开关”,利用它不仅能起到控制作用,同时也将强弱电进行了有效隔离,当然如果再加光耦隔离就更彻底了。由于一般nodeMcu输出电压是3.3V,如果输入电压是5V,貌似也能输出5V的电压。所以可以选择3-5V触发电源的继电器。

图上5VDC是触发直流电压为5V,后面的10A250VAC是继电器能控制的设备电流电压。

简单画一下nodeMcu与继电器连接,以及连接220V交流电和灯的图。

这里重点提一下nodeMcu板上D0与控制电平IN,由D0输出控制用电平,而D0对应的是GPIO16,程序上控制的还是原来板上的LED小灯对应的端口,控制程序还是原来的

如果选择其它点,程序对应的端口需要修改,这里给出对应表,大家可以试试其它端口实现对继电器的控制。比如D1,成功请在留言区留言。

这里接线,我们可以先只连接低压侧,高压侧的电灯,先不要接,接着下一步。

** 还要说一下nodeMcu上的5V电压还可以继续用电脑的USB供电,但为了安全起见,建议用独立USB电源,由于后面还要接强电,所以安全为上。**

这里的程序还是用我们熟悉的控制板载LED的程序,因为对应的是同一个GPIO端口。

这里再附一下:

记住烧入板子时,去掉注释。

烧入程序运行后,就可以试验了。记得将这程序设置为开机自启动,可采用 init.lua 的方式。当在同一局域网的电脑或手机浏览器输入 http://192.168.8.145/on 和 http://192.168.8.145/off ,就可以看到nodeMcu上LED和继电器上LED灯的变化和清脆滴答声音。

进一步,接上强电部分,用继电器控制电灯点亮吧。

本次成功让nodeMcu控制了灯的点亮,大家可以发挥想象,其实还可以控制更多的电器,当然这还要考虑继电器本身的功率,请选择在继电器控制功率范围内的电器设备,或者选择更大功率的继电器。至此我们已经基本实现了网上常见的智能插座的功能。当然如果完全独立作为智能插座或开关使用,还需要为nodeMcu配一个降压电源模块(220VAC转5VDC),这样用220V就能同时给nodeMcu供电又能给控制的负载(比如灯)供电。

本文采用 ESP8266 NodeMCU 板开发,该开发板板载LED灯,同IO引脚为D0(GPIO16)口相连,LED灯为共阳接法,也就是要想LED灯点亮,D0(GPIO16)口要输出低电平“0”。

打开 Arduino 点击 “工具” - “开发板” ,选择 NodeMCU1.0(ESP12E Module)

点击菜单栏 “文件” - “示例”- “01.Basice”- “01.Basice”- “Blink”, 可查看示例LED闪光灯控制程序,该程序控制LED灯亮一秒灭一秒。

程序说明:

1.在使用输入或者输出功能前需通过 pinMode() 函数配置引脚模式。

其调用形式为:

pinMode(pin,mode)

I/O引脚的三种模式分别为: INPUT —— 输入模式; OUTPUT —— 输出模式;INPUT _PULLUP —— 输入上拉模式;

2.配置为输出模式后,需用通过 digitalWrite() 函数输出高电平或低电平;其调用形式为:

digitalWrite(pin,value)

a.点击 “工具” - “端口” ,选择在设备管理中看到的串口。

b.点击 “工具” - “Upload Speed” ,选择 115200

c.点击 上传 ,将写的程序烧录到 MCU 中,期间 ESP8266 的指示灯会一直闪烁,在 Arduino 控制台中会显示上传进度,上传到 100% 就可以查看效果了。

在上传完车后,开发板上LED灯将会亮一秒灭一秒的循环进行下去。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11343708.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存