物联网模块esp8266 的使用经验【flash_download_tools_v3.6.6、arduino】

在此记录和分享一下esp8266的使用流程。

1 烧写固件

感谢:@PuddingHouChou

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不断闪烁:

cpp 复制代码
// 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
}

使用读取引脚值并通过串口传输:

cpp 复制代码
// 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库。

安装后,在代码中调用方式如下:

使用步骤依次是 引用库,设置引脚和传感器类型,启动和读取数值。

cpp 复制代码
#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语言写些简单逻辑,给不同引脚设置高低电平,就能实现很多功能了。复杂点功能都有丰富的器件相关三方库。

相关推荐
t13970182 小时前
MPPT 和 PWM 有什么区别?小功率太阳能供电到底该选哪个
嵌入式硬件·物联网
QXWZ_IA4 小时前
定位数据怎么推给 IoT 平台?消息协议选型与接入准备
网络·人工智能·物联网·安全
天空'之城4 小时前
010基于 ESP32-CAM 的智能家居视频监控系统
物联网·毕业设计·视频监控·esp32-cam·移动侦测
Dev_XH4 小时前
【成品设计】基于物联网的旅游生态农业互动系统
stm32·单片机·嵌入式硬件·物联网·旅游
智码看视界6 小时前
Edge AI 与 IoT 全栈:云端时序数据库 + Grafana 看板,把数据变成洞察
物联网·mqtt·esp32·时序数据库·influxdb·tdengine
河北乐讯通物联网服务商19 小时前
航油管理终端:机场里每架飞机加了什么油、加了多少,是怎么实时算清楚的?
物联网·物联网卡·航油管理终端
数字新视界21 小时前
信创机房动环监控技术在提升数据中心管理效率中的应用与前景分析
物联网·数据中心·数据中心基础设施管理·dcim管理系统·数据中心dcim
wuyk5552 天前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
Eyfcom2 天前
〖物联网终端实战 02〗RFID 批量群读防碰撞算法:整托盘入库如何做到“秒级”识别
物联网·物流系统·快递系统·跨境物流快递系统·物联网终端实战
Eyfcom3 天前
〖物联网终端实战 01〗UWB 室内高精度定位:仓储 AGV 与人员的厘米级轨迹追踪
物联网·算法·物流系统·快递系统·跨境物流快递系统·物联网终端实战