Tartalomjegyzék:
- 1. lépés: Demonstráció
- 2. lépés: Összeszerelés
- 3. lépés: Összeszerelés - táblázat
- 4. lépés: Adafruit GFX könyvtár
- 5. lépés: Adafruit ST7735 könyvtár
- 6. lépés: NTPClient Library
- 7. lépés: ESP32_NTP.ino
- 8. lépés: Fájlok
Videó: Ne vesztegesse az idejét: használja az NTP -t !: 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Számolja ki az idejét! Ez az előfizetőim körében gyakran vitatott téma, és miért? Annak az egyszerű és nélkülözhetetlen ténynek köszönhetően, hogy amikor adatgyűjtőt készít, és minden, ami automatizálással jár, a megfelelő időre van szüksége! Az idő mérésére pedig többféle módszer létezik: óra akkumulátorral, RTC (valós idejű óra), többek között. De amit ma meg akarok mutatni (amely tájékoztatja a dátumot, a hét napját és az időt), az az NTP (Network Time Protocol), amely online. Ebben a videóban lekérjük a dátumot és az időt az interneten, és megjelenítjük az információkat a kijelzőn.
1. lépés: Demonstráció
2. lépés: Összeszerelés
3. lépés: Összeszerelés - táblázat
4. lépés: Adafruit GFX könyvtár
Az Arduino IDE-ben lépjen a Vázlat-> Könyvtár bevonása-> Könyvtárak kezelése…
Telepítse az Adafruit GFX könyvtárat
5. lépés: Adafruit ST7735 könyvtár
Az Arduino IDE-ben lépjen a Vázlat-> Könyvtár bevonása-> Könyvtárak kezelése menüpontba …
Telepítse az Adafruit ST7735 -öt
6. lépés: NTPClient Library
Nyissa meg a https://github.com/taranais/NTPClient oldalt, és töltse le a taranais által módosított NTPClient könyvtárat.
Csomagolja ki és helyezze a mappát a C: / Users / Documents / Arduino / könyvtárakba
7. lépés: ESP32_NTP.ino
Tartalmazza és határozza meg
#include #include // Biblioteca NTPClient modificada #include // Socket UDP #include // Display #include // Display #include // Pinos do display #define DISPLAY_DC 12 // A0 #define DISPLAY_CS 13 // CS #define DISPLAY_MOSI 14 // SDA #define DISPLAY_CLK 27 // SCK #define DISPLAY_RST 0 // Fuso Horário, no caso horário de verão de Brasília int timeZone = -2; // Struktúra com os dados do dia e hora szerkezet Dátum {int dayOfWeek; int nap; int hónap; int év; int óra; int perc; int másodperc; }; // Socket UDP que a lib utiliza para recuperar dados sobre o horário WiFiUDP udp; // Objeto vastus at recuperar dados sobre horário NTPClient ntpClient (udp, // socket udp "0.br.pool.ntp.org", // URL do servwer NTP timeZone*3600, // Deslocamento do horário em relacão ao GMT 0 60000); // Intervalo entre verificações online // Nomes dos dias da semana char* dayOfWeekNames = {"vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"}; // Objeto responseável pelo display Adafruit_ST7735 display = Adafruit_ST7735 (DISPLAY_CS, DISPLAY_DC, DISPLAY_MOSI, DISPLAY_CLK, DISPLAY_RST);
Beállít
void setup () {Serial.begin (115200); setupDisplay (); connectWiFi (); setupNTP (); // Cria uma nova tarefa no core 0 xTaskCreatePinnedToCore (wifiConnectionTask, // Função que será executab "wifiConnectionTask", // Nome da tarefa 10000, // Tamanho da memória disponível (em WORDs) NULL, // Não vamos pass, // prioridade NULL, // Não precisamos de referência para a tarefa 0); // Número do core}
SetupNTP
void setupNTP () {// Inicializa vagy kliens NTP ntpClient.begin (); // Espera pelo primeiro update online Serial.println ("Várakozás az első frissítésre"); while (! ntpClient.update ()) {Serial.print ("."); ntpClient.forceUpdate (); késleltetés (500); } Sorozat.println (); Serial.println ("Az első frissítés befejeződött"); }
WifiConnectionTask
// Tarefa que verifica se a conexão caiu e tenta reconectarvoid wifiConnectionTask (void* param) {while (true) {// Se a WiFi não está conectada if (WiFi.status ()! = WL_CONNECTED) {// Manda conectar connectWiFi (); } // 100 kullancs késleltetése vTaskDelay (100); }}
ConnectWiFi
void connectWiFi () {Serial.println ("Csatlakozás"); // Troque pelo nome e senha da sua rede WiFi WiFi.begin ("SSID", "12345678"); // Espera enquanto não estiver conectado while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); késleltetés (500); } Sorozat.println (); Serial.print ("Csatlakoztatva"); Serial.println (WiFi. SSID ()); }
SetupDisplay
void setupDisplay () {display.initR (INITR_BLACKTAB); // Inicializa o display display.setRotation (3); // Rotaciona display.setTextSize (2); // Tamanho do texto display.fillScreen (ST77XX_BLACK); // Preenche com pre cor display. SetCursor (0, 0); // Coloca vagy kurzor nem jön display.setTextColor (ST77XX_WHITE, ST77XX_BLACK); // Texto branco com fundo preto display.setTextWrap (false); // Não pula linha automaticamente}
Hurok
void loop () {// Recupera os dados sobre a data e horário Dátum dátuma = getDate (); // A kurzor megjelenítésének visszaállítása.setCursor (0, 0); // Exibe os dados no display display.printf (" %s / n / n %s / n / n %02d/ %02d/ %d / n / n %02d: %02d: %02d", WiFi. SSID ().c_str (), dayOfWeekNames [date.dayOfWeek], date.day, date.month, date.year, date.hours, date.minutes, date.seconds); késleltetés (100); }
GetDate
Date getDate () {// Recupera os dados de data e horário usando o client NTP char* strDate = (char*) ntpClient.getFormattedDate (). C_str (); // Passa os dados da string para a structure Dátum dátum; sscanf (strDate, "%d-%d-%dT%d:%d:%dZ", & date.year, & date.month, & date.day, & date.hours, & date.minutes, & date.seconds); // Dia da semana de 0 a 6, sendo 0 o domingo date.dayOfWeek = ntpClient.getDay (); visszatérítési dátum; }
8. lépés: Fájlok
Töltse le a fájlokat
ÉN NEM
Ajánlott:
Használja a Zümmögőt a Magicbit -en [Magicblocks]: 4 lépés
A zümmögő használata a Magicbit -en [Magicblocks]: Ez az oktatóanyag megtanítja Önt a Magicbit zengőjének használatára a Magicblocks használatával. Ebben a projektben, amely az ESP32 -en alapul, fejlesztési táblaként a magicbit -et használjuk. Ezért bármilyen ESP32 fejlesztői kártya használható ebben a projektben
Használja újra a Philips ébresztőfényt HF3550 + Ipod Touch 4.: 5 lépés
A Philips Wake Up Light HF3550 + Ipod Touch 4th újrafelhasználása: EDIT 2019/10/28 Feltöltöttem egy új, feltört IPA -fájlt (köszönöm irastignac), és frissítettem a névtelen fájl linkjét. Meg kell akadályoznia azt a pillanatot, amikor meg kell adnia az alma azonosítómat. EDIT 2019/10/22 úgy tűnik, hogy a Philips IPA fájl alá van írva az almámmal
Használja az erőt és készítse el saját fénykardját (penge): 9 lépés (képekkel)
Használja az Erőt és készítse el saját fénykardját (penge): Ez az utasítás kifejezetten egy pengét készít egy Ben Solo Legacy fénykardhoz, amelyet a Disneyland Galaxy's Edge -ből vásárolt Anaheimben, Kalifornia államban, azonban hasonló lépéseket lehet tenni a saját penge elkészítéséhez is. fénykard. Kövessetek
Használja újra a régi laptop érintőpadját a léptetőmotor vezérléséhez: 11 lépés (képekkel)
Használja újra a régi laptop érintőpadját a léptetőmotor vezérléséhez: Ezt a projektet néhány hónappal ezelőtt készítettem. Néhány nappal ezelőtt közzétettem egy videót a projektről az r/Arduino -n a Reddit -en. Látva, hogy az emberek érdeklődnek a projekt iránt, úgy döntöttem, hogy elkészítem ezt az Instructable -t, ahol néhány változtatást eszközöltem az Arduino -kódon
Használja az Un Display Grande a 4 Cifre 8886 kijelzőt Con Wemos ESP8266 Arduino NodeMCU: 6 lépés
Használja az Un Display Grande a 4 Cifre 8886 kijelzőt Wemos ESP8266 Arduino NodeMCU: Questo progetto è un semplice esempio che mostra come collegare un display del tipo 8886 -Display e, comodità nostra, un Wemos D1 - ma potrebbe essere un Arduinou un NodeC o qualsiasi altro microcontrollore che state usando per un progetto.Esi