用ESP8266、OLED显示网络名称、IP及网络时间

标题用ESP8266、OLED显示进度条、网络名称、IP及网络时间

说明:用手头的ESP8266、OLED显示进度条、网络名称、IP及网络时间,参考了网友们的经验,程序简单易懂。纯粹好玩,无用也不收费,不理解网上有人下载别人的东西,再上传收费,为啥?
用料:
ESP8266
四针0.96OLED显示屏,使用I2C接口
接法:
OLED SDA—ESP8266 D2
OLED SCL—ESP8266 D1
程序:

#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <U8g2lib.h>
#define rst  2
U8G2_SSD1306_128X64_NONAME_F_HW_I2C  u8g2(U8G2_R0);
const char *ssid= "wifi名写到这里";
const char *password = "wifi密码写道这里";
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP,"ntp1.aliyun.com",60*60*8,30*60*1000);
void setup(){
  u8g2.begin();
  u8g2.enableUTF8Print();
  WiFi.begin(ssid, password);
  while ( WiFi.status() != WL_CONNECTED ) {
  delay ( 500 );
  }
  timeClient.begin();
  u8g2.setFont(u8g2_font_6x13_tf);
  u8g2.setFontDirection(0);
  u8g2.clearBuffer();
  u8g2.drawFrame(8, 30, 100, 10);
 for (int l=0;l<=100;l++){
   delay( 50 );
   u8g2.drawBox(8, 30, l, 10);
   u8g2.setCursor(50,20);
   u8g2.println(l);
   u8g2.println("%");
   u8g2.sendBuffer();
   delay(50); 
     }
  }
  
void loop() {
u8g2.setFont(u8g2_font_6x13_tf);
  u8g2.setFontDirection(0);
  u8g2.clearBuffer();
  u8g2.setCursor(0,12);
  u8g2.print("WiFi: ");
  u8g2.println(ssid);
  u8g2.setCursor(0,24);
  u8g2.println("Password: ");
  u8g2.println(password);
  u8g2.setCursor(0,36);
  u8g2.println("IP address: ");
  u8g2.setCursor(0,48);
  u8g2.println(WiFi.localIP());
    timeClient.update();
    u8g2.setCursor(0,60);
    u8g2.println("Time: ");
    u8g2.println(timeClient.getFormattedTime());
    u8g2.sendBuffer();
    delay(1000);

}

在这里插入图片描述

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ESP8266是一款功能强大的微控制器,可以通过Arduino开发环境进行编程控制。而OLED(Organic Light-Emitting Diode)是一种能够发光的有机LED显示技术。结合这两者,我们可以使用ESP8266连接到互联网,并在OLED显示屏上显示当前的时间。 首先,我们需要连接ESP8266和OLED显示屏。通过使用合适的引脚,将ESP8266的GPIO引脚与OLED显示屏的相应引脚连接起来。 然后,我们可以使用Arduino编程语言来编写代码,以实现ESP8266联网和OLED显示时间。首先,我们需要确保ESP8266能够成功连接到Wi-Fi网络。我们可以使用ESP8266的WiFi库来连接到网络,并提供Wi-Fi网络名称和密码。 之后,我们可以使用NTP(Network Time Protocol)来获取当前的时间。我们可以使用ESP8266的NTPClient库来向NTP服务器发出请求,并得到当前的时间。 接下来,将获取到的时间数据转换为我们所需要的格式,例如年、月、日、小时、分钟和秒。然后,将这些时间数据使用OLED库来显示OLED显示屏上。 最后,我们可以使用循环结构来实现定时更新时间的功能。通过在程序中添加适当的延时,可以让OLED显示屏上的时间持续更新,并保持正确。 通过上述步骤,我们可以使用ESP8266和Arduino来实现联网的OLED显示屏,用于显示当前的时间。这样,我们就可以通过一个简单的硬件和软件组合,实现这一功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值