فهرست مطالب:
- مرحله 1: تظاهرات
- مرحله 2: مونتاژ
- مرحله 3: مونتاژ - جدول
- مرحله 4: کتابخانه Adafruit GFX
- مرحله 5: کتابخانه Adafruit ST7735
- مرحله 6: کتابخانه NTPClient
- مرحله 7: ESP32_NTP.ino
- مرحله 8: فایل ها
![وقت خود را هدر ندهید: از NTP استفاده کنید!: 8 مرحله وقت خود را هدر ندهید: از NTP استفاده کنید!: 8 مرحله](https://i.howwhatproduce.com/images/006/image-16812-15-j.webp)
تصویری: وقت خود را هدر ندهید: از NTP استفاده کنید!: 8 مرحله
![تصویری: وقت خود را هدر ندهید: از NTP استفاده کنید!: 8 مرحله تصویری: وقت خود را هدر ندهید: از NTP استفاده کنید!: 8 مرحله](https://i.ytimg.com/vi/Olq8NXgNySA/hqdefault.jpg)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
![Image Image](https://i.howwhatproduce.com/images/006/image-16812-17-j.webp)
![](https://i.ytimg.com/vi/3cCetLjpWwY/hqdefault.jpg)
زمان خود را حساب کنید! این موضوعی است که اغلب در میان مشترکین من مورد بحث قرار می گیرد و به چه دلیلی؟ با توجه به این واقعیت ساده و ضروری که هنگام تهیه دیتاگرامر و برای همه چیز شامل اتوماسیون ، به زمان صحیح نیاز دارید! و روشهای مختلفی برای اندازه گیری زمان وجود دارد: ساعت با باتری ، RTC (ساعت زمان واقعی) ، و سایر روشها. اما چیزی که امروز می خواهم به شما نشان دهم (که تاریخ ، روز هفته و زمان را اطلاع می دهد) NTP (پروتکل زمان شبکه) است که آنلاین است. در این ویدیو ، اطلاعات تاریخ و زمان را به صورت آنلاین بازیابی کرده و اطلاعات را روی صفحه نمایش می دهیم.
مرحله 1: تظاهرات
![مونتاژ مونتاژ](https://i.howwhatproduce.com/images/006/image-16812-18-j.webp)
مرحله 2: مونتاژ
مرحله 3: مونتاژ - جدول
![مونتاژ - جدول مونتاژ - جدول](https://i.howwhatproduce.com/images/006/image-16812-19-j.webp)
مرحله 4: کتابخانه Adafruit GFX
![کتابخانه Adafruit GFX کتابخانه Adafruit GFX](https://i.howwhatproduce.com/images/006/image-16812-20-j.webp)
در Arduino IDE ، به Sketch-> Include Library-> Manage Libraries بروید…
Adafruit GFX Library را نصب کنید
مرحله 5: کتابخانه Adafruit ST7735
![کتابخانه Adafruit ST7735 کتابخانه Adafruit ST7735](https://i.howwhatproduce.com/images/006/image-16812-21-j.webp)
در Arduino IDE ، به Sketch-> Include Library-> Manage Libraries بروید…
Adafruit ST7735 را نصب کنید
مرحله 6: کتابخانه NTPClient
![کتابخانه NTPClient کتابخانه NTPClient](https://i.howwhatproduce.com/images/006/image-16812-22-j.webp)
به https://github.com/taranais/NTPClient بروید و کتابخانه NTPClient اصلاح شده با taranais را بارگیری کنید.
فایل را از حالت فشرده خارج کرده و در کتابخانه های C: / Users / Documents / Arduino / قرار دهید
مرحله 7: ESP32_NTP.ino
شامل و تعریف می شود
#include #include // Biblioteca NTPClient modificada #include // Socket UDP #include // Display #include // Display #include // Pinos do display #define DISPLAY_DC 12 // A0 #تعریف DISPLAY_CS 13 // CS #تعریف DISPLAY_MOSI 14 // SDA #تعریف DISPLAY_CLK 27 // SCK #تعریف DISPLAY_RST 0 // Fuso Horário، no caso horário de verão de Brasília int timeZone = -2؛ // Struct com os dados do dia e hora struct تاریخ {int dayOfWeek؛ روز int ؛ ماه int ؛ سال int ؛ ساعات int ؛ دقیقه int ؛ ثانیه int ؛ }؛ // سوکت UDP با استفاده از این برنامه می توانید از WiFiUDP udp استفاده کنید. // Objeto responsável for 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 = {"یکشنبه" ، "دوشنبه" ، "سه شنبه" ، "چهارشنبه" ، "پنجشنبه" ، "جمعه" ، "شنبه"} ؛ // Objeto responsável pelo display Adafruit_ST7735 display = Adafruit_ST7735 (DISPLAY_CS، DISPLAY_DC، DISPLAY_MOSI، DISPLAY_CLK، DISPLAY_RST)؛
برپایی
void setup () {Serial.begin (115200)؛ setupDisplay ()؛ connectWiFi () ؛ setupNTP ()؛ // Cria uma nova tarefa no core 0 xTaskCreatePinnedToCore (wifiConnectionTask، // Função que será exeada "wifiConnectionTask"، // Nome da tarefa 10000، // Tamanho da memória disponível (em WORDs) NULlum parametre، // 2، ، // prioridade NULL ، // Não precisamos de referência para a tarefa 0)؛ // Número do core}
SetupNTP
void setupNTP () {// Inicializa یا client NTP ntpClient.begin ()؛ // Espera pelo primeiro online update Serial.println ("در انتظار اولین به روزرسانی") ؛ while (! ntpClient.update ()) {Serial.print (".")؛ ntpClient.forceUpdate ()؛ تأخیر (500) ؛ } Serial.println ()؛ Serial.println ("اولین به روز رسانی کامل شد") ؛ }
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 تیک vTaskDelay (100)؛ }}
ConnectWiFi
void connectWiFi () {Serial.println ("اتصال") ؛ // 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 (".")؛ تأخیر (500) ؛ } Serial.println ()؛ Serial.print ("متصل به") ؛ 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 a cor preta display.setCursor (0، 0)؛ // Coloca o cursor no começo display.setTextColor (ST77XX_WHITE ، ST77XX_BLACK) ؛ // Texto branco com fundo preto display.setTextWrap (false) ؛ // Não pula linha automatamente}
حلقه
void loop () {// Recupera os dados sobre a data e horário تاریخ تاریخ = getDate ()؛ // Reseta o cursor display.setCursor (0 ، 0) ؛ // Exibe os dados no 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) ؛ تأخیر (100) ؛ }
GetDate
تاریخ getDate () {// Recupera os dados de data and horário usando or client یا NTP char* strDate = (char*) ntpClient.getFormattedDate (). c_str ()؛ // Passa os dados da string para a struct تاریخ تاریخ؛ 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 ()؛ تاریخ بازگشت ؛ }
مرحله 8: فایل ها
فایلها را بارگیری کنید
من نه
توصیه شده:
UPS خود را Steam Punk کنید تا ساعتهای به روز برای روتر Wi-Fi خود دریافت کنید: 4 مرحله (همراه با تصاویر)
![UPS خود را Steam Punk کنید تا ساعتهای به روز برای روتر Wi-Fi خود دریافت کنید: 4 مرحله (همراه با تصاویر) UPS خود را Steam Punk کنید تا ساعتهای به روز برای روتر Wi-Fi خود دریافت کنید: 4 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/002/image-5522-j.webp)
UPS شما Steam Punk می کند تا ساعتهای به روز برای روتر Wi-fi شما دریافت کند: در مورد اینکه UPS شما قدرت باتری 12 ولت DC خود را به برق AC 220 ولت تبدیل کند ، چیزی اساساً مخالف است تا ترانسفورماتورهای روتر و فیبر ONT شما بتوانند آن را دوباره به 12 ولت DC! شما همچنین با [معمولاً
از ایده های خود محافظت کنید ، از کار خود محافظت کنید: 8 مرحله
![از ایده های خود محافظت کنید ، از کار خود محافظت کنید: 8 مرحله از ایده های خود محافظت کنید ، از کار خود محافظت کنید: 8 مرحله](https://i.howwhatproduce.com/images/004/image-11844-j.webp)
از ایده های خود محافظت کنید ، از کار خود محافظت کنید: من چند روز پیش اطلاعات را در اثر خرابی رایانه از دست دادم. کار یک روز از بین رفت.:/ من داده های خود را در ابر ذخیره می کنم تا از نقص دیسک سخت جلوگیری شود. من از یک نرم افزار نسخه سازی استفاده می کنم تا بتوانم نسخه های قدیمی کار خود را بازیابی کنم. من هر روز یک نسخه پشتیبان تهیه می کنم. اما این بار من
با استفاده از SLabs برای کارکنان خود وقت بگذارید -32: 6 مرحله
![با استفاده از SLabs برای کارکنان خود وقت بگذارید -32: 6 مرحله با استفاده از SLabs برای کارکنان خود وقت بگذارید -32: 6 مرحله](https://i.howwhatproduce.com/images/009/image-24563-j.webp)
با استفاده از SLabs-32 برای کارمندان خود وقت بگذارید: در این دستورالعمل ، ما قصد داریم یک کارمند هوشمند مبتنی بر nfc را در سیستم مدیریت خروجی/خروجی ایجاد کنیم که ساعات کار کارکنان شما را پیگیری می کند. ما اطلاعات زمان فعلی را با استفاده از NTP (پروتکل زمان شبکه) دریافت می کنیم. ) با ماژول Wi-Fi (Esp826
از Mac OSX خود به عنوان یک آداپتور وایرلس برای XBOX 360: 6 مرحله خود استفاده کنید
![از Mac OSX خود به عنوان یک آداپتور وایرلس برای XBOX 360: 6 مرحله خود استفاده کنید از Mac OSX خود به عنوان یک آداپتور وایرلس برای XBOX 360: 6 مرحله خود استفاده کنید](https://i.howwhatproduce.com/images/004/image-11599-46-j.webp)
از Mac OSX خود به عنوان یک آداپتور وایرلس برای XBOX 360 خود استفاده کنید: من راهنمای دیگری در مورد نحوه انجام این کار در اینجا دیدم اما به طرز وحشتناکی اشتباه بود و موارد زیادی را کنار گذاشت ، بنابراین تصمیم گرفتم خودم آن را تهیه کنم
از اتصال داده iPhone خود در رایانه خود استفاده کنید: 6 مرحله
![از اتصال داده iPhone خود در رایانه خود استفاده کنید: 6 مرحله از اتصال داده iPhone خود در رایانه خود استفاده کنید: 6 مرحله](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10966372-use-your-iphones-data-connection-on-your-computer-6-steps-j.webp)
از اتصال داده iPhone خود در رایانه خود استفاده کنید: توجه: از iOS 3 و 4 ، راههای دیگری برای اتصال وجود دارد ، حتی از طریق AT & T (البته هزینه اضافی) قانونی است. & nbsp؛ هر چند این روش هنوز کار می کند ، و همیشه (صرف نظر از به روزرسانی های iOS) تا زمانی که می توانید SSH را در iPhone خود SSH کنید. دارند