嵌入式 文章

使用NTP协议获取时间(连接wifi) - Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-02-01 0k

使用NTP协议获取时间(连接wifi) - Arduino开发ESP8266(NodeMcu)学习记录

所需硬件 ESP8266 开发板(NodeMcu) x1 第三方库 ESP8266WiFi NTP介绍 网络时间协议,英文名称:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。 ——【百度百科】 代码: /** 作者: Raikay (raikay.cn) 时间: 2021/01/30 说明: 通过NTP服务器获取网络时间(连接wifi) **/ #include <ESP8266WiFi.h> //wifi库#include <time.h> //时间库 const char* ssid = "Ziroom211"; //wifi账号 const char* password = "40010022222"; //wifi密码 const char* NTP_SERVER = "ntp.aliyun.com"; //NTP服务器 #define TZ_INFO "UTC-8" //时区 void setup() { Serial.begin(115200); Serial.setDebugOutput(true); //将串口设为调试输出模式 WiFi.disconnect();//断开之前的连接 WiFi.mode(WIFI_STA); //设为STA模式 WiFi.begin(ssid, password);//连接wifi Serial.println("\nConnecting to WiFi"); //连接失败 while (WiFi.

esp8266 Arduino NodeMcu
阅读更多
Arduino-Ide安装第三方库
嵌入式
2021-01-21 0k

Arduino-Ide安装第三方库

用温湿度传感器DHT11/DHT22库DHT为例 方法一 【项目】 –》 【加载库】 –》【管理库】 安装 弹出窗口后,搜索、安装即可 查看示例代码 安装之后, 【文件】 –》【示例】 ,就可以查看库带的示例代码,大多数库都有,这个示例代码是很好的教程。 方法二 直接下载库第三方库,下载的库放在库文件夹即可。通过 【文件】 –> 【首选项】 –> 【项目文件夹位置】 查看库文件夹位置

Arduino 库安装 第三方库
阅读更多
DHT11温湿度传感器 - Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-18 0k

DHT11温湿度传感器 - Arduino开发ESP8266(NodeMcu)学习记录

所需硬件 ESP8266 开发板(NodeMcu) x1 DHT11温湿度传感器 x1 面包板 x1 杜邦线 若干 第三方库 DHT 可以直接安装 项目–>加载库–>管理库–> 搜索"DHT"安装 或者手动下载 下载地址:https://github.com/adafruit/DHT-sensor-library 线路图 实物图 代码 /** 作者: Raikay (raikay.cn) 时间: 2021/01/18 说明: ESP8266接收DHT11温湿度传感器数据 NodeMcu DHT11 3V3 - 正极 D5 - out GND - 负极 **/ #include <DHT.h>#define DHTPIN 14 //GPIO14 即NodeMcu D5 #define DHTTYPE DHT11 // 定义你DHT11 DHT dht(DHTPIN, DHTTYPE); //读取DHT的温度值 String readDHTTemperature() { float t = dht.readTemperature(); if (isnan(t)) { Serial.println("Failed to read from DHT sensor!

esp8266 Arduino NodeMcu
阅读更多
发射红外信号控制美的空调 - Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-17 0k

发射红外信号控制美的空调 - Arduino开发ESP8266(NodeMcu)学习记录

所需硬件 ESP8266 开发板(NodeMcu) x1 红外信号发射管Led x1 按键开关 x2 面包板 x1 杜邦线 若干 第三方库 IRremoteESP8266 下载地址:https://github.com/crankyoldgit/IRremoteESP8266 线路图 红外发射管 长的是正极,短的是负极。 实物图 按D3按键关闭空调,按D4开启空调 代码 红外信号原数据是从美的空调遥控器接收的 /** 作者: Raikay (raikay.cn) 时间: 2021/01/17 说明: 红外发射管控制美的空调 NodeMcu 红外发射管 GND - 负极 D2 - 正极 **/ #include <Arduino.h>#include <IRremoteESP8266.h>#include <IRsend.h> const uint16_t kIrLed = 4; // NodeMcu D2 const uint16_t On1 = 0; // d3 const uint16_t On2 = 2; // d4 IRsend irsend(kIrLed); // Set the GPIO to be used to sending the message.

esp8266 Arduino NodeMcu
阅读更多
接收红外信号VS1838B - Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-17 0k

接收红外信号VS1838B - Arduino开发ESP8266(NodeMcu)学习记录

所需硬件 VS1838B 红外接收头 ESP8266 开发板 (NodeMcu) 红外信号遥控器 杜邦线 x3 第三方库 IRremoteESP8266 下载地址:https://github.com/crankyoldgit/IRremoteESP8266 红外接收头图片 线路图 实物图 代码 /** 作者: Raikay (raikay.cn) 时间: 2021/01/17 说明: NodeMcu使用红外接收头接收红外信号 NodeMcu - VS1838B 3v3 - VCC GND - GND D5 - OUT **/ #include <Arduino.h>#include <IRrecv.h>#include <IRremoteESP8266.h>#include <IRac.h>//#include <IRtext.h> #include <IRutils.h> // 定义接收信号的引脚GPIO14,即NodeMcu的D5 const uint16_t kRecvPin = 14; // (接收引脚,接收信号大小,超时时间) IRrecv irrecv(kRecvPin, 1024, 50, true); // 存储结果 decode_results results; void setup() { Serial.begin(115200); #if DECODE_HASH // 过滤未知信号值 irrecv.

esp8266 Arduino NodeMcu
阅读更多
控制继电器 - Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-16 0k

控制继电器 - Arduino开发ESP8266(NodeMcu)学习记录

示例代码: 通过D5引脚(GPIO14输出高低电平)控制继电器开合 /** 作者: Raikay (raikay.cn) 时间: 2021/01/16 说明: 控制继电器 NodeMcu - 继电器 VU - VCC D5 - OUT GND - GND **/ //定义引脚GPIO14,即Nodemcu D5引脚 int relay = 14; void setup() { //设置引脚输出 pinMode(relay, OUTPUT); } void loop() { //程序灯带1秒(1000毫秒) delay(1000); //设置高电平 digitalWrite(relay, LOW); delay(1000); //设置低电平 digitalWrite(relay, HIGH); } 继电器 线路图 继电器是5v供电,NodeMcu两个版本输出5v的引脚不同。 CP2102版 :Vin引脚输出5v CH340版:VU引脚输出5v 也可以单独5v电源供电。 下图是CH340版 实物图 效果视频

esp8266 Arduino NodeMcu
阅读更多
串口调试 - Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-15 0k

串口调试 - Arduino开发ESP8266(NodeMcu)学习记录

示例代码: void setup() { //初始化串口设置 Serial.begin(9600); } void loop() { //获取程序开始运行的毫秒数 long time = millis(); //输出调试日志 Serial.println(time); } 选择开发板 选择端口 这个端口 一般可能是 3、5、6根据设备和电脑环境不同有所区别,可以到电脑的设备管理器查看一下 (我机器插了两个板子,所以是下面这种情况,一般只会是COM3或COM5一个) 上传代码 查看串口调试窗口 【工具】–> 【串口调试】 说一下这个9600波特率,和代码上的一致就可以一般是9600、115200 我也可能会用esp8266系列的其他开发板,其实所有esp8266的板子代码是通用(比如 Wemos D1 R1、Wemos D1 R3 Uno、D1 mini、Wifiduino、ESPduino、WiFinfo),只要对照一下引脚图稍微改动一下差异的引脚就可以。

esp8266 Arduino NodeMcu
阅读更多
快速开始- Arduino开发ESP8266(NodeMcu)学习记录
嵌入式
2021-01-14 0k

快速开始- Arduino开发ESP8266(NodeMcu)学习记录

环境安装 下载Arduino-IDE 官网:https://www.arduino.cc/ 下载地址:https://www.arduino.cc/en/software 下载时不是一定要付费,选择JUST DOWNLOAD 免费下载 解压后双击EXE就可以打开了 安装驱动 驱动下载地址:https://gitee.com/raikay/elefiles/tree/main/tools/驱动 下载ESP8266库 文件–>首选项 把这个网址填到 【附加开发版管理器】 http://arduino.esp8266.com/stable/package_esp8266com_index.json 工具–> 开发板–>开发板管理器 如果没有梯子下载可能会非常慢,可以用下面的直接安装工具 工具下载地址:https://gitee.com/raikay/elefiles/tree/main/开发板/esp8266 点亮LED 新建项目 代码 //定义引脚GPIO14,即Nodemcu D5引脚 int led = 14; void setup() { //设置led引脚输出 pinMode(led, OUTPUT); } void loop() { //程序等待1秒(1000毫秒) delay(1000); //设置led引脚高电平 digitalWrite(led, LOW); delay(1000); //设置led引脚低电平 digitalWrite(led, HIGH); } 线路图 实物图 选择开发板 选择端口 这个端口 一般可能是 3、5、6根据设备和电脑环境不同有所区别,可以到电脑的设备管理器查看一下 (我机器插了两个板子,所以是下面这种情况,一般只会是COM3或COM5一个) 上传代码 运行效果 我也可能会用esp8266系列的其他开发板,其实所有esp8266的板子代码是通用(比如 Wemos D1 R1、Wemos D1 R3 Uno、D1 mini、Wifiduino、ESPduino、WiFinfo),只要对照一下引脚图稍微改动一下差异的引脚就可以。

esp8266 Arduino NodeMcu
阅读更多
ESP8266包括NodeMcu说明文档和每个版本属性对比图、管脚资料工具
嵌入式
2021-01-05 0k

ESP8266包括NodeMcu说明文档和每个版本属性对比图、管脚资料工具

规格书/管脚说明/文档 安信可官网 各类ESP8266模组规格书汇总 安信可官网 NodeMcu规格书 安信可官网 ESP8266资源汇总 Wemos官方文档 Arduino-ESP8266官方文档 个人收集 工具/驱动等资源下载 ESP8266 版本对比图 图片来自安信可官网 NodeMcu NodeMcu引脚以及区别见:CP2102版和CH340版两种NodeMcu的区别和HW-628有什么不同 Wemos D1 R3 对应引脚 static const uint8_t PIN_D0 = 3; //RX static const uint8_t PIN_D1 = 1; //TX static const uint8_t PIN_D2 = 16; static const uint8_t PIN_D3_D15 = 5; //SCL static const uint8_t PIN_D4_D14 = 4; //SDA static const uint8_t PIN_D5_D13 = 14; //SCK static const uint8_t PIN_D6_D12 = 12; //MISO static const uint8_t PIN_D7_D11 = 13; //MOSI static const uint8_t PIN_D8 = 0; static const uint8_t PIN_D9_LED = 2; //LED static const uint8_t PIN_D10 = 15; //SS static const uint8_t PIN_A0 = 17; static const uint8_t PIN_RX = 3; static const uint8_t PIN_TX = 1; static const uint8_t PIN_SCL = 5; static const uint8_t PIN_SDA = 4; static const uint8_t PIN_SCK = 114; static const uint8_t PIN_MISO = 12; static const uint8_t PIN_MOSI = 13; static const uint8_t PIN_SS = 15; static const uint8_t PIN_LED = 2; Wemos D1 mini 引脚图 引脚对应表 Pin Function ESP-8266 Pin TX TXD TXD RX RXD RXD A0 Analog input, max 3.

esp8266 NodeMcu Arduino
阅读更多