esp8266获取网络时间
esp8266获取网络时间
我们使用的手机都有 “使用网络上的时间,自动调整日期和时间” 的功能。如果我们自己做的电子时钟也有自动调整时间的功能,那就很方便,而且不怕时间不准了。
我们先来看一个提供网络时间的网站,在浏览器输入“http://quan.suning.com/getSysTime.do”,网页上回出现一个日期和时间,这个是苏宁网站提供的网络授时。
现在我们就来利用这个网页提供的网络时间,让自己的开发板也能自动调整时间。
准备器材:一块WeMos D1的WiFi模块,一块I2C接口的1602液晶屏。
准备软件:Arduino IDE
这个模块就是WeMos D1模块,里面有一个esp8266的WiFi模块,而且和Arduino兼容,可以用Arduino那样编程控制,有Arduino那样的端口控制。
一. 编写程序,获取网络时间
我们要用Arduino IDE来编写ESP8266程序,就要先搭建ESP8266的编程环境,网上这些资料很多,我就不多说了,直接上程序源码吧:
#include <ESP8266WiFi.h>#include <ESP8266HTTPClient.h>//在这里输入你家的WiFi名字和密码
const char* ssid = "wifissid"; const char* password = "wifipsw"; HTTPClient http;String GetUrl;String response;void setup() {// 连接到你家的WiFidelay(3000);Serial.begin(115200);WiFi.mode(WIFI_STA);WiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED) {delay(500);Serial.print(".");}Serial.println("");Serial.println("WiFi connected");Serial.println("IP address: ");Serial.println(WiFi.localIP());// 连接苏宁网站的授时网页GetUrl = "http://quan.suning.com/getSysTime.do";http.setTimeout(5000);http.begin(GetUrl);}void loop() {// 从网站获得网页内容int httpCode = http.GET();if (httpCode > 0) {Serial.printf("[HTTP] GET... code: %d\n", httpCode);if (httpCode == HTTP_CODE_OK) {//读取响应内容response = http.getString();Serial.println(response);}} else {Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());}http.end();delay(3000);}
在Arduino IDE中编译程序,并把程序烧写到WeMos开发板中,就可以在串口中看到和网页内容一样的日期和时间信息了。
二. 1602液晶屏显示
我们选择的1602是带I2C接口的,也就是普通的1602下面插上一块转接板,然后用四条线连接开发板。
VCC和GND连接开发板上面的5V电源,SCL连接D3,SDK连接D4。
接下来我们重新修改上面的程序,加入1602的显示控制。
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <Arduino.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>const char* ssid = "ChinaNet-xxVP";
const char* password = "123456789"; HTTPClient http;
LiquidCrystal_I2C lcd(0x20, 16, 2);void setup() {// put your setup code here, to run once:delay(3000);lcd.begin();lcd.backlight();lcd.setCursor(0, 0);lcd.print("load time");Serial.begin(115200);WiFi.mode(WIFI_STA);WiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED) {delay(500);Serial.print(".");}Serial.println("");Serial.println("WiFi connected");Serial.println("IP address: ");Serial.println(WiFi.localIP());String GetUrl = "http://quan.suning.com/getSysTime.do";http.setTimeout(5000);http.begin(GetUrl);}void loop() {int httpCode = http.GET();if (httpCode > 0) {Serial.printf("[HTTP] GET... code: %d\n", httpCode);if (httpCode == HTTP_CODE_OK) {//读取响应内容String response = http.getString();Serial.println(response);//在1602上面显示日期和时间lcd.setCursor(0, 0);lcd.print(response.substring(13, 23));lcd.setCursor(0, 1);lcd.print(response.substring(24, 32));}} else {Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());}http.end();delay(3000);
}
esp8266获取网络时间相关推荐
- ESP8266+STM32获取网络时间、OLED显示时间图片视频。
学习过程不易,发文共享以下学习过程~ 先说说我的设计内容的组成: 目录 学习过程不易,发文共享以下学习过程~ 1. STM32控制ESP8266获取网络时间 第一步:电脑控制ESP8266获取时间数据 ...
- 【STM32训练—WiFi模块】第一篇、STM32驱动ESP8266WiFi模块获取网络时间
目录 第一部分.写在前面 1.硬件准备 2.相关的AT指令 3.参考博客 第二部分.电脑串口助手调试ESP8266模块获取网络时间 1.ESP8266获取时间的流程 2.具体实现步骤 第三部分.STM ...
- esp8266 at接收数据中断时间_利用ESP8266获取网络同步时间(北京时间)
本文需要读者有一点ESP8266的基础知识,比如ESP8266的模式设置,AP连接,联网. 1. 提供网络时间的网站 要想获取网络时间首先要有提供网络时间的网站,免费提供网络时间的网站有很多, 这里以 ...
- stm32 + ESP8266 wifi获取网络时间和天气 stm32天气预报
大家遇到什么什么题,可以私聊我. 近期由于某些原因,玩了一下stm32+WiFi获取网络天气和网络时间.之前一直觉得这个东西会有点难度,其实,做完了才发现,其实那只是想象中的难而已.现在,将这几天的成 ...
- Arduino ESP32 获取网络时间并同步本地RTC时钟
Arduino ESP32 获取网络时间并同步本地RTC时钟 相关篇<Arduino ESP32 最简单直接获取网络时间方法> 在 ArduinoESP32核心支持库当中已经包含相关的获取 ...
- 51单片机利用8266获取网络时间
51单片机利用8266获取网络时间 我现在是成都一所不出名的二本院校大三学生,第一次来到CSDN,趁有时间,把我之前做的项目,其中一个模块拿出来和大家分享,我也是小白,希望提出宝贵意见.OK,废话不多 ...
- ESP8266获取网络时钟、天气
硬件平台 正点原子ESP8266 前提 烧录到ESP8266的固件版本不要太老了,用比较新的(具体界限不清楚) 以安信可官网提供的AT固件举例,第5个不支持获取网络时间(AT指令不支持),我用的是第4 ...
- esp32获取网络时间和天气
@[esp32获取网络时间和天气] esp32获取网络时间和天气 目录 一.库的获取 二.esp32连接wifi 三.oled显示 四.汉字或图片取模放在oled中显示 五.esp32获取网络时间 六 ...
- ESP8266-----SNTP获取网络时间
目录 前言 user_init IP定时的回调函数 初始化SNTP SNTP定时回调函数 前言 介绍了8266如何获取网络时间 user_init 首先将8266设置为sta模式 void ICACH ...
最新文章
- php bdecode,PHP base64_encode和base64_decode 编码/解码url
- 【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 二维数据的 K-Means 聚类 ) ★
- 自走棋电脑版_巨鸟公布自走棋正版自研手游:龙渊发行
- asp:DropDownList用法
- Spring Boot学习笔记(1)
- 高等数学下-赵立军-北京大学出版社-题解-练习10.5
- 华为Mate 30系列发布会定档:年度机皇 天生优秀!
- 【转载】计算几何题目集锦
- Python机器学习常用模块
- win7修复office图标显示不正确
- db2dual_DB2中类似于ORACLE中的DUAL表的表
- Flutter从入门到能寄几玩儿
- php 字符串转 buffer,ArrayBuffer与字符串的互相转换
- WinSetupFromUSB制作多系统U盘引导启动
- 点击button没有反应
- 欧拉筛(线性筛)超级详解 - Python3实现
- 51单片机知识点汇总
- [C语言]口令比较填空:阅读程序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 下面程序比较用户键盘输入的口令userInput与内设的口令password是否相同。若相同,
- Win7下如何在windows资源管理器中打开FTP
- 小白搭建个人网站最详细的全过程
热门文章
- 响应式布局 meta详解
- 看到这些让员工无处遁形专利,我麻了
- 【MindInsight】在win下安装MindInsight遇到“ No module named apos;fcntlapos;“问题
- 马尔科夫预测MATLAB
- KNN+Dense SIFT+手势识别
- 最近看中的几款Limitless的家具
- 把大脑从衰老的身体里分离出来?“长寿科技”让人类活200年不再遥远
- salt-stack部署
- java 与数据库连接失败_java链接不上数据库,怎么解决!
- Docker教程01