ዝርዝር ሁኔታ:
- ደረጃ 1: የሚያስፈልጉዎት ነገሮች
- ደረጃ 2 - ግንኙነቶች
- ደረጃ 3 ቤተ -ፍርግሞችን ያውርዱ
- ደረጃ 4 NTP ምንድን ነው?
- ደረጃ 5: ኮድ መስጫ ክፍል
- ደረጃ 6 - ቀን እና ሰዓት ማግኘት
ቪዲዮ: የበይነመረብ ሰዓት - ESP8266 NodeMCU ን ከ NTP ፕሮቶኮል ጋር በመጠቀም - 6 ደረጃዎች ከ OLED ጋር ቀን እና ሰዓት ያሳዩ።
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
ሠላም በዚህ ትምህርት ሰጪዎች ውስጥ እኛ ከበይነመረቡ ጊዜን የሚያገኝ የበይነመረብ ሰዓት እንሠራለን ስለዚህ ይህ ፕሮጀክት ለማሄድ ምንም RTC አያስፈልገውም ፣ የሚሰራ የበይነመረብ ግንኙነት ብቻ ይፈልጋል።
እና ለዚህ ፕሮጀክት የበይነመረብ መዳረሻን ለማግኘት wifi ያለው እና ሰዓቱን ለማሳየት ማሳያ ያለው እና esp8266 የኤንቲፒ ፕሮቶኮልን በመጠቀም ከበይነመረቡ ጊዜን ይወስዳል ፣ ntp ለኔትወርክ ጊዜ ፕሮቶኮል ይቆማል ፣ ስለሆነም በመሠረቱ ntp አገልጋዮች አሉ። በድር ላይ የኮምፒተር ሰዓቶችን ለማመሳሰል በሚጠቀሙበት ድር ላይ እኛ በፕሮጀክታችን ውስጥ ጊዜ ለማግኘት እኛ ሁለቱን አገልጋዮች እንጠቀማለን።
ደረጃ 1: የሚያስፈልጉዎት ነገሮች
ለዚህ ፕሮጀክት የሚከተሉትን ነገሮች ያስፈልግዎታል
Esp8266/nodemcu
Oled ssd1306 0.96"
ዝላይ ሽቦዎች
የዳቦ ሰሌዳ
የዩኤስቢ ገመድ
ደረጃ 2 - ግንኙነቶች
ይህ ባለ 4-ፒን OLED ማሳያ የ I2C ፕሮቶኮልን በመጠቀም ከ ESP8266 ሞጁል ጋር ይገናኛል ፣ ከዚህ በታች የበይነመረብ ጊዜን ለማሳየት የ OLED I2C ፒኖችን ከኖድኤምሲዩ ጋር ለማገናኘት የወረዳ ዲያግራም እና የግንኙነት ሰንጠረዥ ናቸው።
ደረጃ 3 ቤተ -ፍርግሞችን ያውርዱ
በምስሉ ላይ እንደሚታየው የ SD1306 ቤተ -ፍርግሞችን በእርስዎ አርዱዲኖ ሀሳብ ውስጥ ማውረዱዎን ያረጋግጡ እና ከዚያ እነዚህን ሁለት ቤተ -መጻህፍት ካልጫኑ Adafruit GFX ቤተ -መጽሐፍትዎን እንዲሁ ያረጋግጡ።
በእርስዎ Arduino IDE ውስጥ ወደ የቤተመጽሐፍት ሥራ አስኪያጅ ይሂዱ እና NTP ን ይፈልጉ እና እኔ እንዳወረድኩ የ NTP ደንበኛ ቤተ -መጽሐፍትን ያውርዱ ፣ ለተጨማሪ እገዛ ምስልን ይመልከቱ።
ደረጃ 4 NTP ምንድን ነው?
NTP በኮምፒተር አውታረ መረቦች መካከል ሰዓቶችን ለማመሳሰል በጣም ጥንታዊ ከሆኑት የበይነመረብ ፕሮቶኮል (አይፒ) አንዱ ነው። በ 1981 በዴላዌር ዩኒቨርሲቲ በዴቪድ ኤል ሚልስ የተነደፈ ነው። ይህ ፕሮቶኮል በጥቂት ሚሊሰከንዶች ውስጥ ብዙ አውታረ መረቦችን ወደ የተቀናጀ ዩኒቨርሳል ሰዓት (UTC) ለማመሳሰል ሊያገለግል ይችላል። UTC ዓለም ሰዓትን እና ጊዜን የሚቆጣጠርበት የመጀመሪያ የጊዜ መስፈርት ነው። UTC አይለወጥም እና ለተለያዩ ጂኦግራፊያዊ አካባቢዎች አይለያይም። NTP UTC ን እንደ የጊዜ ማጣቀሻ ይጠቀማል እና በበይነመረብ ላይ ትክክለኛ እና የተመሳሰለ ጊዜን ይሰጣል።
NTP የሚሠራው በተራ በተራ ደንበኛ-አገልጋይ ሞዴል ላይ ነው። ከፍተኛው ሞዴል እንደ ሳተላይት ጊዜን የሚቀበል የአቶሚክ ሰዓቶች ፣ የሬዲዮ ሞገዶች ፣ ጂፒኤስ ፣ ጂ.ኤስ.ኤም እንደ “stratum0” በመባል የሚታወቁ የማጣቀሻ ሰዓቶች አሉት። ከ stratum0 ጊዜን የሚቀበሉ አገልጋዮች እንደ “stratum1” ይባላሉ እና ከ stratum1 ጊዜን የሚቀበሉ አገልጋዮች “stratum2” እና የመሳሰሉት ይባላሉ። ይህ ይቀጥላል እና ከእያንዳንዱ ደረጃ በኋላ የጊዜ ትክክለኛነት እየቀነሰ ይሄዳል። ኤንቲፒ ለማመሳሰል ከብዙ የሚገኙ የጊዜ ምንጮች ምርጡን በራስ-ሰር ይመርጣል ይህም ጥፋትን መቋቋም የሚችል ፕሮቶኮል ያደርገዋል። ስለዚህ እዚህ ፕሮጀክት ውስጥ ESP8266 NodeMCU ን በመጠቀም በ OLED ማሳያ ላይ ከ NTP አገልጋይ ጊዜ እያገኘን ነው። ይህ ዓይነቱ የበይነመረብ ሰዓት በቀድሞው ትምህርት ውስጥ ESP32 ን በመጠቀም የተገነባ ነው።
ደረጃ 5: ኮድ መስጫ ክፍል
ቀን እና ሰዓት ለመጠየቅ የጊዜ ደንበኛን በ NTP አገልጋዮች አድራሻ ያስጀምሩ። ለተሻለ ትክክለኛነት ወደ ጂኦግራፊያዊ አከባቢዎ ቅርብ የሆኑትን የ NTP አገልጋዮች አድራሻ ይምረጡ። እዚህ ከመላው ዓለም አገልጋዮችን የሚሰጥ “pool.ntp.org” ን እንጠቀማለን። ከእስያ አገልጋዮችን ለመምረጥ ከፈለጉ “asia.pool.ntp.org” ን መጠቀም ይችላሉ። timeClient እንዲሁ በሰዓት ሰቅዎ በሚሊሰከንዶች ውስጥ የ UTC ጊዜ ማካካሻ ይወስዳል። ለምሳሌ ፣ የህንድ የ UTC ማካካሻ +5: 30 ነው ስለዚህ ይህንን ማካካሻ ከ 5*60*60 +30*60 = 19800 ጋር በሚሊሰከንዶች ውስጥ እንለውጣለን።
አካባቢ። የ UTC ጊዜ ማካካሻ (ሰዓታት እና ደቂቃዎች)። የ UTC ጊዜ ማካካሻ (ሰከንዶች)
ህንድ +5: 30 19800
ለንደን 0:00። 0
ኒው ዮርክ -5: 00 -18000
እባክዎን የሚከተለውን ኮድ ይቅዱ እና በኮድ ውስጥ የእርስዎን wifi እና ይለፍ ቃል ያስገቡ እና በኮድ ውስጥ የጊዜ ማካካሻ ያስገቡ ከዚያም ወደ esp8266 ሰሌዳዎችዎ ይስቀሉት።:
#"NTPClient.h" #ያካትቱ "ESP8266WiFi.h" // ከአውታረ መረብ ጋር ለመገናኘት የምንጠራውን ESP8266 የተወሰኑ የ Wi-Fi አሰራሮችን ያቀርባል #የ "UDP ጥቅሎችን" መላክ እና መቀበልን ያጠቃልላል።
#OLED ን ከ NodeMCu ጋር ለማጣመር “SPI.h” // SPI ን ያካትቱ
#"አዳፍሩት_GFX.h" ን ያካትቱ
#"አዳፍ ፍሬ_SSD1306.h" ን ያካትቱ።
#ጥራት SCREEN_WIDTH 128 // OLED ማሳያ ስፋት ፣ በፒክሰሎች
#ጥራት SCREEN_HEIGHT 64 // OLED ማሳያ ቁመት ፣ በፒክሰሎች
#OLED_RESET -1 ን ይግለጹ
Adafruit_SSD1306 ማሳያ (SCREEN_WIDTH ፣ SCREEN_HEIGHT ፣ እና ሽቦ ፣ OLED_RESET);
constchar *ssid = "yourwifissid";
const char *password = "yourwifipass";
WiFiUDP ntpUDP;
NTPClient timeClient (ntpUDP ፣ “pool.ntp.org” ፣ 19800 ፣ 60000);
ሕብረቁምፊ arr_days = {"እሁድ" ፣ "ሰኞ" ፣ "ማክሰኞ" ፣ "ረቡዕ" ፣ "ሐሙስ" ፣ "አርብ" ፣ "ቅዳሜ"};
ሕብረቁምፊ ቀን_ ሰዓት; // የሰዓት አገልጋዩን ገንዳ እና ማካካሻውን መግለፅ ይችላሉ (በሰከንዶች ውስጥ ፣ በኋላ በ setTimeOffset ()) // በኋላ ሊለወጥ ይችላል። በተጨማሪም ፣ የ // የዝማኔ ክፍተትን (በሚሊሰከንዶች ውስጥ ፣ setUpdateInterval ()) በመጠቀም ሊለወጡ ይችላሉ።
ባዶነት ማዋቀር ()
{
Serial.begin (115200);
WiFi.begin (ssid ፣ የይለፍ ቃል);
ሳለ (WiFi.status ()! = WL_CONNECTED)
{
መዘግየት (500);
Serial.print (".");
}
ከሆነ (! display.begin (SSD1306_SWITCHCAPVCC ፣ 0x3C))
{
Serial.println (ኤፍ ("SSD1306 ምደባ አልተሳካም"));
ለ (;;;); // አይቀጥሉ ፣ ለዘላለም loop
}
display.clearDisplay ();
display.setTextSize (2); // ባለ 2 ኤክስ ልኬት ጽሑፍ ይሳሉ
display.setTextColor (ነጭ);
display.setCursor (5, 2);
display.println ("እንኳን ደህና መጡ");
display.println ("አስተማሪዎች");
display.println ("ፕሮጀክት");
display.display ();
መዘግየት (3000);
timeClient.begin ();
}
ባዶነት loop ()
{
timeClient.update ();
display.clearDisplay ();
Serial.println (timeClient.getFormattedTime ());
display.setTextSize (2); // ባለ 2 ኤክስ ልኬት ጽሑፍ ይሳሉ
display.setTextColor (BLUE);
display.setCursor (0, 2);
int hh = timeClient.getHours ();
int mm = timeClient.getMinutes ();
int ss = timeClient.getSeconds ();
ከሆነ (hh> 12)
{
hh = hh-12;
display.print (hh);
display.print (":");
ማሳያ.ሕትመት (ሚሜ);
display.print (":");
display.print (ss);
display.println ("PM");
}
ሌላ
{
display.print (hh);
display.print (":");
ማሳያ.ሕትመት (ሚሜ);
display.print (":");
display.print (ss);
display.println ("AM");
}
int ቀን = timeClient.getDay ();
display.println ("''+arr_days [ቀን]+" ''));
date_time = timeClient.getFormattedDate ();
int index_date = date_time.indexOf ("T");
ሕብረቁምፊ ቀን = date_time.substring (0 ፣ index_date);
Serial.println (ቀን);
display.println (ቀን);
display.display ();
// የመጀመሪያ ጽሑፍን አሳይ}
ደረጃ 6 - ቀን እና ሰዓት ማግኘት
ሁሉንም ነገር በትክክል ካገናኙ እና ኮዱን በትክክል ከሰቀሉ ከዚያ የ ntp ሰዓትዎ በተቀባው ማሳያ ውስጥ በሚሮጥበት ጊዜ እንደ እኔ በተቀባ ማሳያ ላይ ሲሠራ ማየት ይችላሉ። ለውጤት እባክዎን ምስሉን ይመልከቱ።
የሚመከር:
DIY አርዱዲኖን በመጠቀም በኤልሲዲ ማያ ገጽ ላይ ያለውን የሙቀት መጠን ያሳዩ - 10 ደረጃዎች
DIY Arduino ን በመጠቀም በኤልሲዲ ማያ ገጽ ላይ ያለውን የሙቀት መጠን ያሳዩ - በዚህ ፕሮጀክት ውስጥ እንደ አርዱዲኖ ፣ የሙቀት ዳሳሽ ፣ ወዘተ ያሉ አንዳንድ አካላትን በመጠቀም ወረዳ እንሠራለን በዚህ ወረዳ ውስጥ ዲሲው በ LCD ላይ ያለማቋረጥ ይታያል ፣ 100 ሚሊሰከንዶች መዘግየት አለ በአዲሱ ዲግሪ እይታ መካከል
አርዱዲኖ አይዲኢን በመጠቀም ከ M5stick C ጋር ሰዓት መስራት - የ RTC እውነተኛ ሰዓት ሰዓት በ M5stack M5stick-C: 4 ደረጃዎች
አርዱዲኖ አይዲኢን በመጠቀም ከ M5stick C ጋር ሰዓት መስራት | የ RTC እውነተኛ ሰዓት ሰዓት ከ M5stack M5stick-C ጋር: በዚህ አስተማሪዎች ውስጥ ሠላም እኛ አርዱዲኖ IDE.So m5stick ቀንን ፣ ጊዜን & በማሳያው ላይ የወሩ ሳምንት
ለ IoT ፕሮጀክቶች የበይነመረብ ሰዓት (NTP) 6 ደረጃዎች
ለ IoT ፕሮጀክቶች የበይነመረብ ሰዓት (NTP) - ይህ ፕሮጀክት ተጨማሪ የ RTC ሃርድዌር ሳያስፈልግ ከበይነመረቡ ለ IoT ፕሮጀክቶች ጊዜ እንዲያገኙ ይረዳዎታል። በዚህ መማሪያ ውስጥ ኖኪያ ኤልሲዲ 5110 ን እንዴት መጠቀም እንደሚቻል ፣ የ NTP መረጃን ከበይነመረብ ማግኘት እና በተወሰኑ መጋጠሚያዎች ላይ በኤልሲዲ ላይ እናሳያለን። እናድርግ
Raspberry Pi እና MQTT ፕሮቶኮል በመጠቀም የዲጂታል ማስታወቂያ ሰሌዳ 8 ደረጃዎች
Raspberry Pi እና MQTT ፕሮቶኮል በመጠቀም የዲጂታል ማስታወቂያ ሰሌዳ - የማስታወቂያ ሰሌዳዎች እንደ ቢሮ ፣ ትምህርት ቤቶች ፣ ሆስፒታሎች እና ሆቴሎች ባሉ በሁሉም ቦታዎች ጥቅም ላይ ይውላሉ። አስፈላጊ ማስታወቂያዎችን ለማሳየት ወይም መጪ ዝግጅቶችን ወይም ስብሰባዎችን ለማስተዋወቅ ደጋግመው ሊጠቀሙባቸው ይችላሉ። ግን ማስታወቂያው ወይም ማስታወቂያዎቹ ፕሪን መሆን አለባቸው
ESP32 እና OLED ማሳያ - የበይነመረብ ሰዓት - DHT22: 10 ደረጃዎች (ከስዕሎች ጋር)
ESP32 እና OLED ማሳያ - የበይነመረብ ሰዓት - DHT22 - ይህ አስተማሪ ተወዳዳሪ ነው - " GIFs Challenge 2017 ", ከወደዱት እባክዎን ከላይ ባለው ሰንደቅ ላይ ጠቅ በማድረግ ድምጽዎን ይስጡ። በጣም እናመሰግናለን