在此记录和分享一下esp8266的使用流程。
1 烧写固件
ESP8266学习一NodeMCU固件+Lua语言开发_esp8266 lua-CSDN博客
准备:
1 flash_download_tools_v3.6.6.exe // 固件烧写工具
2 nodemcu-master-9-modules-2016-03-14-02-11-21-float.bin //官方固件
步骤:
- 1 选择固件文件
- 2 右下角选择端口号,波特率。
- 3 按图片设置spi和flash参数。
- 4 如果已经写入过固件,先点击“erase”擦除。
- 5 点击“start” 开始写入。
-
2 编写应用程序
感谢 @电子鼓捣师贺工
Arduino是什么?arduino的特点是什么?arduino可以做什么?学习arduino可以收获什么?_哔哩哔哩_bilibili
准备:
arduino 软件
步骤:
基础配置
1 下载开发板基础模块。通过工具>开发板>开发板管理器 搜索并安装esp8266.
2 在工具 开发板 中选择NodeMCU 1.0
3 在工具 端口 中选择esp8266所在串口。
完成后,就可以开始编写代码。
简单项目
项目有两个默认函数:setup(), loop().一个开机是执行一次。一个是不断循环执行。
然后利用pinMode(),digitalWrite()函数为引脚设置不同的高低电平。
例如,让板载led不断闪烁:
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
使用读取引脚值并通过串口传输:
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.println(sensorValue);
delay(1); // delay in between reads for stability
}
复杂项目
涉及到复杂功能、传感器时,可以应用第三方库。直接调用其他人包装好的接口。
例如温湿度传感器:
1 在工具 》 管理库 中。选择并安装DHT库。
安装后,在代码中调用方式如下:
使用步骤依次是 引用库,设置引脚和传感器类型,启动和读取数值。
#include <DHT.h> //调用dht11驱动库 》》》》》》步骤1
#define DHTPIN D4 //说明数据接口为8266开发板的D4口,也可以写为#define DHTPIN 2既8266芯片的IO口2
#define DHTTYPE DHT11 //说明使用的模块是DHT11
DHT dht(DHTPIN, DHTTYPE); //DHT11初始化 》》》》》》步骤2
//定义浮点类型变量保存测量值
float Temperature;
float Humidity;
void setup() {
pinMode(D4, INPUT);
delay(100);
dht.begin(); // 启动》》》》》》步骤3
}
void loop() {
// 读取数值》》》》》》步骤4
Temperature = dht.readTemperature(); // Gets the values of the temperature
Humidity = dht.readHumidity(); // Gets the values of the humidity
delay(1000);
}
3 总结
通过arduino 使用Esp8266还是很简单的。使用c语言写些简单逻辑,给不同引脚设置高低电平,就能实现很多功能了。复杂点功能都有丰富的器件相关三方库。