Orodha ya maudhui:
- Hatua ya 1: Vitu Unavyohitaji
- Hatua ya 2: Uunganisho
- Hatua ya 3: Pakua Maktaba
- Hatua ya 4: NTP ni nini
- Hatua ya 5: Sehemu ya Usimbuaji
- Hatua ya 6: Kupata Tarehe na Wakati
Video: Saa ya Mtandaoni: Tarehe ya Kuonyesha na Wakati na OLED Kutumia ESP8266 NodeMCU Na Itifaki ya NTP: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Halo jamani katika mafunzo haya tutaunda saa ya mtandao ambayo itapata muda kutoka kwa mtandao kwa hivyo mradi huu hautahitaji RTC yoyote kuendesha, itahitaji tu muunganisho wa wavuti unaofanya kazi
Na kwa mradi huu unahitaji esp8266 ambayo itakuwa na wifi kupata ufikiaji wa mtandao na onyesho la kuonyesha wakati juu yake na esp8266 itachukua wakati kutoka kwa mtandao kwa kutumia itifaki ya NTP, ntp inasimama kwa itifaki ya wakati wa mtandao, kwa hivyo kimsingi kuna seva za ntp kwenye wavuti ambayo hutumiwa kusawazisha saa za kompyuta na tutatumia seva za bthose kupata wakati katika mradi wetu.
Hatua ya 1: Vitu Unavyohitaji
kwa mradi huu utahitaji mambo yafuatayo:
Esp8266 / nodemcu
Oled ssd1306 0.96"
Waya za jumper
Bodi ya mkate
Cable ya Usb
Hatua ya 2: Uunganisho
Onyesho hili la pini 4 la OLED linawasiliana na moduli ya ESP8266 ikitumia itifaki ya I2C, chini ni mchoro wa mzunguko na meza ya unganisho kuunganisha pini za OLED I2C na NodeMCU kuonyesha wakati wa Mtandaoni.
Hatua ya 3: Pakua Maktaba
Hakikisha umepakua maktaba za SD1306 katika maoni yako ya Arduino kama inavyoonyeshwa kwenye picha na hakikisha pia maktaba ya Adafruit GFX pia, ikiwa sio basi weka maktaba hizi mbili.
Katika IDE yako ya Arduino nenda kwa msimamizi wa Maktaba na utafute NTP na upakue tu maktaba ya mteja wa NTP kama nilivyopakua, rejelea picha kwa usaidizi zaidi.
Hatua ya 4: NTP ni nini
NTP ni mojawapo ya Itifaki ya mtandao ya zamani zaidi (IP) ya kusawazisha saa kati ya mitandao ya kompyuta. Iliundwa na David L. Mills wa Chuo Kikuu cha Delaware mnamo 1981. Itifaki hii inaweza kutumika kusawazisha mitandao mingi kwa Uratibu wa Universal Time (UTC) ndani ya milliseconds chache. UTC ni kiwango cha wakati wa msingi ambacho ulimwengu unasimamia saa na wakati. UTC haibadiliki na inatofautiana kwa maeneo tofauti ya kijiografia. NTP hutumia UTC kama rejeleo la wakati na hutoa wakati sahihi na uliosawazishwa kwenye Wavuti.
NTP inafanya kazi kwa mtindo wa safu ya mteja-seva. Mfano wa juu una saa za kumbukumbu zinazojulikana kama "stratum0" kama saa za atomiki, mawimbi ya redio, GPS, GSM ambayo hupokea wakati kutoka kwa setilaiti. Seva ambazo hupokea wakati kutoka kwa tabaka0 huitwa "stratum1" na seva ambazo hupokea wakati kutoka kwa stratum1 huitwa "stratum2" na kadhalika. Hii inaendelea na usahihi wa wakati unaendelea kupungua kila baada ya kila hatua. NTP huchagua moja kwa moja bora ya vyanzo kadhaa vya wakati ili kusawazisha ambayo inafanya itifaki inayostahimili makosa. Kwa hivyo hapa katika mradi huu, tunapata wakati kutoka kwa seva ya NTP kutumia ESP8266 NodeMCU na kuionyesha kwenye onyesho la OLED. Aina hiyo hiyo ya saa ya mtandao imejengwa kwa kutumia ESP32 katika mafunzo ya awali.
Hatua ya 5: Sehemu ya Usimbuaji
Kuomba tarehe na saa, anzisha mteja wa wakati na anwani ya seva za NTP. Kwa usahihi bora chagua anwani ya seva za NTP ambazo ziko karibu na eneo lako la kijiografia. Hapa tunatumia "pool.ntp.org" ambayo inatoa seva kutoka ulimwenguni kote. Ikiwa unataka kuchagua seva kutoka Asia unaweza kutumia "asia.pool.ntp.org". timeClient pia huchukua kukabiliana na wakati wa UTC katika milliseconds za eneo lako la wakati. Kwa mfano, kukabiliana kwa UTC kwa India ni +5: 30 kwa hivyo tunabadilisha malipo haya kwa milliseconds ambayo ni sawa na 5 * 60 * 60 + 30 * 60 = 19800.
Eneo. Muda wa kukabiliana na UTC (masaa na dakika). Kuweka muda wa UTC (sekunde)
INDIA +5: 30 19800
LONDON 0:00. 0
YORK MPYA -5: 00 -18000
Tafadhali nakili nambari ifuatayo na weka wifi yako & nywila katika nambari hiyo & Ingiza wakati uliowekwa katika nambari kisha uipakie kwenye bodi zako za esp8266.:
# pamoja na "Mteja wa NTP.h" # pamoja na "ESP8266WiFi.h" // hutoa ESP8266 njia maalum za Wi-Fi tunazopigia kuungana na mtandao # pamoja na "WiFiUdp.h" // hushughulikia kutuma na kupokea vifurushi vya UDP
# pamoja na "SPI.h" // SPI ya kuingiliana na OLED na NodeMCu
# pamoja na "Adafruit_GFX.h"
# pamoja na "Adafruit_SSD1306.h"
#fafanua SCREEN_WIDTH 128 // OLED upana wa kuonyesha, kwa saizi
#fafanua SCREEN_HEIGHT 64 // Urefu wa kuonyesha OLED, kwa saizi
#fafanua OLED_RESET -1
Maonyesho ya Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);
constchar * ssid = "yourwifissid";
const char * password = "yourwifipass";
WiFiUDP ntpUDP;
Mteja wa wakati wa NTP (ntpUDP, "pool.ntp.org", 19800, 60000);
Kamba arr_days = {"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"};
Wakati wa tarehe ya kamba; // Unaweza kutaja dimbwi la seva ya wakati na kukabiliana (kwa sekunde, inaweza // kubadilishwa baadaye na setTimeOffset ()). Nyongeza unaweza kutaja // // muda wa sasisho (kwa milliseconds, inaweza kubadilishwa kwa kutumia setUpdateInterval ()).
kuanzisha batili ()
{
Serial. Kuanza (115200);
Kuanza kwa WiFi (ssid, password);
wakati (WiFi.status ()! = WL_CONNECTED)
{
kuchelewesha (500);
Printa ya serial (".");
}
ikiwa (! onyesha. anza (SSD1306_SWITCHCAPVCC, 0x3C))
{
Serial.println (F ("mgawanyo wa SSD1306 umeshindwa"));
kwa (;;); // Usiendelee, kitanzi milele
}
onyesha wazi Cleplay ();
onyesha.setTextSize (2); // Chora maandishi ya kiwango cha 2X
onyesha.setTextColor (NYEUPE);
Onyesha Mshale (5, 2);
onyesha.println ("KARIBU KWA");
kuonyesha.println ("maelekezo");
kuonyesha.println ("Mradi");
onyesha.display ();
kuchelewesha (3000);
mudaMteja.anza ();
}
kitanzi batili ()
{
wakatiMteja.update ();
onyesha wazi Cleplay ();
Serial.println (timeClient.getFormattedTime ());
onyesha.setTextSize (2); // Chora maandishi ya kiwango cha 2X
onyesha.setTextColor (BLUE);
Kuweka Mshale (0, 2);
inthh = timeClient.getHours ();
int mm = mudaMteja.getMinutes ();
int ss = timeClient.getSeconds ();
ikiwa (hh> 12)
{
hh = hh-12;
onyesho.print (hh);
onyesho.print (":");
onyesho.print (mm);
onyesho.print (":");
onyesho.print (ss);
onyesha.println ("PM");
}
mwingine
{
onyesho.print (hh);
onyesho.print (":");
onyesho.print (mm);
onyesho.print (":");
onyesho.print (ss);
onyesha.println ("AM");
}
siku ya siku = timeClient.getDay ();
onyesha.println ("'" + arr_days [day] + "" ");
date_time = timeClient.getFormattedDate ();
tarehe index_date = date_time.indexOf ("T");
Tarehe ya kamba = date_time.substring (0, index_date);
Serial.println (tarehe);
onyesha.println (tarehe);
onyesha.display ();
// Onyesha maandishi ya asili}
Hatua ya 6: Kupata Tarehe na Wakati
ikiwa umeunganisha kila kitu vizuri na Kupakia nambari vizuri pia basi utaweza kuona saa yako ya ntp ikiendesha kwenye onyesho la oled kama yangu katika kuendesha onyesho la oled. Tafadhali rejelea picha kwa pato.
Ilipendekeza:
Saa ya Mtandaoni ya Saa ya Mtandaoni Kutumia ESP8266: Hatua 4 (na Picha)
Saa ya Mtandaoni ya Saa ya Mtandaoni Kutumia ESP8266: Tunajifunza jinsi ya kuunda saa nzuri ndogo ya dijiti inayowasiliana na seva za NTP na kuonyesha mtandao au wakati wa mtandao. Tunatumia WeMos D1 mini kuungana na mtandao wa WiFi, kupata wakati wa NTP na kuionyesha kwenye moduli ya OLED. Video hapo juu t
Kupata Muda Kutoka Mtandaoni Kutumia ESP8266 - Mradi wa Saa ya NTP Na ESP8266 Nodemcu: Hatua 5
Kupata Muda Kutoka Mtandaoni Kutumia ESP8266 | Mradi wa Saa ya NTP Na ESP8266 Nodemcu: Katika mafunzo haya tutaona jinsi ya kupata wakati wa kutumia ESP8266 / nodemcu na Arduino IDE. Kupata wakati ni muhimu sana katika ukataji wa data ili kuweka muhuri wa masomo yako. Ikiwa mradi wako wa ESP8266 una ufikiaji wa mtandao, unaweza kupata wakati wa kutumia Mtandao T
Kutengeneza Saa na M5stick C Kutumia Arduino IDE - RTC Saa Saa Saa Na M5stack M5stick-C: Hatua 4
Kutengeneza Saa na M5stick C Kutumia Arduino IDE | RTC Saa Saa Saa Na M5stack M5stick-C: Halo jamani katika mafundisho haya tutajifunza jinsi ya kutengeneza saa na bodi ya maendeleo ya m5stick-C ya m5stack kutumia Arduino IDE.So m5stick itaonyesha tarehe, saa & wiki ya mwezi kwenye maonyesho
Saa na Udhibiti wa Kijijini wa IR kwa Mipangilio ya Wakati / Tarehe: Hatua 5
Saa na Udhibiti wa Kijijini wa IR kwa Mipangilio ya Saa / Tarehe: Hii ni saa rahisi iliyoundwa kwa kutumia vifaa vinavyopatikana kwa urahisi. Microcontroller inayotumiwa ni ya bei ghali STM32F030F4P6. Onyesho ni LCD ya 16x2 na mkoba wa I2C (PCF8574) Mzunguko wa saa unaweza kujengwa kwa kutumia bodi ndogo za prototyping na TSSOP
Tarehe nzuri, Saa na Kitengo cha Kuonyesha Joto: Hatua 3
Tarehe Nzuri, Kitengo cha Kuonyesha Tarehe, Saa na Joto: Halo marafiki, Katika mafundisho haya, nitaelezea utaratibu wa kutengeneza tarehe, saa na kitengo cha kuonyesha joto kwa sasa kwa kutumia, Arduino pro mini, RTC na nambari nane ya onyesho la sehemu saba katika kitengo chenye kompakt sana, ambayo ni devi muhimu