前言:
- 感谢太极创客推荐所有要入门NodeMCU的朋友看他们的教程!
- 使用的板子是NodeMCU
- 参考资料:太极创客 以及ESP8266-Arduino 文档
引脚
- 数字引脚:输出0-3.3V、输入不得高于3.3V(与arduino通讯时要用电平转换模块)
- 模拟引脚:输入0-1V
- 硬件串口:TX/RX(要少用、因为下载程序时使用这两)、U1TXD/U1RXD
- GPIO6-11用于内部开发,一般不使用
协议
TCP/IP
-
由应用层(HTTP、FTP等)、传输层(TCP、UDP)、网络层(IP)、网络接口层(Ethernet、WI-FI)等的多种协议组成
-
WI-FI的连接模式:Access Point(两设备连接)、Wireless Station(多设备通过终端连接)、混合模式
-
IP地址:设备的地址,用于准确的接受发送信息。IPv4协议:由4组用小数点隔开的数组成。IPv6协议:由8组数字字母混合字符串组成。默认网关:局域网终端(路由器)的IP地址,与连到www(World Wide Web)的服务器分配到地址不同。
-
TCP协议,可以保证信息被接收(1.数据顺序不乱 2.出现损坏就重发)。UDP特点是快,但不保证所有数据被接收(1.数据损坏就丢弃 2.不会重新发送)。
-
HTTP:请求(传访问请求给索要访问的服务器)-响应(服务器传回给设备)
-
请求
GET / HTTP/1.1 //操作指令/协议形式/版本 Host: www.XX.com
-
响应
HTTP/1.1 200 OK //协议形式/版本 状态码 Content-Type: text/html; charset=UTF-8
-
-
DNS服务器:当设备发出HTTP请求时,设备只知道www.XX.com不知道服务器IP地址,这时设备先传到DNS服务器上,DNS服务器会返回www.XX.com服务器对应的IP地址给设备。
函数
ESP8266WiFi.h库
-
作为wifi发起者
WiFi.softAP(ssid, password);
// WiFi.softAP用于启动NodeMCU的AP模式。ssid与password需是地址Serial.println(WiFi.softAPIP());
// 通过调用WiFi.softAPIP()可以得到NodeMCU的IP地址- 例程:NodeMCU开发板的接入点模式
-
作为接入方
WiFi.begin(ssid, password);
// 启动网络连接WiFi.status()
如果WiFi连接成功则返回值为WL_CONNECTEDSerial.println(WiFi.localIP());
// 该函数的返回值即NodeMCU的IP地址。- 例程:NodeMCU开发板的无线终端模式
ESP8266WiFiMulti.h库
ESP8266WiFiMulti XX
建立结构体XX.addAP(“ ”)
添加可选wifiwhile (wifiMulti.run() != WL_CONNECTED)
开始搜索最强的并连接,返回值就是左边那个
ESPWebServer.h库
ESP8266WebServer XX(80)
建结构体,参数为端口选择,80是网络监听端口,25是邮件发送端口…XX.begin()
开始构建XX.on("网页相对地址",“方式”,子程序)
当用某种方式(GET、POST…可省略)访问某个页面时,程序执行跳转到子程序中。相当于一个判断语句XX.onNotFound(子程序)
,未找到页面时执行子程序
闪存-FS.h库
- ESP8266中的RAM划分了Sketch、OTA update、File system、EEPROM、WiFi config (SDK)等存储空间,库<FS.h>是对File system进行操作。
- 主要的指令
-
格式化
SPIFFS.format()
-
开始
SPIFFS.begin()
、结束SPIFFS.end()
如图C或python的文件书写一样,将它打开后也需要关闭。 -
SPIFFS.open(path, mode)
可以写、读、追加文件//定义一个文件类型f File f = SPIFFS.open("/f.txt", "w"); if (!f) { Serial.println("file open failed");}
-