Оглавление:

Live Tracker Covid19 с использованием ESP8266 и OLED - Панель управления Covid19 в реальном времени: 4 шага
Live Tracker Covid19 с использованием ESP8266 и OLED - Панель управления Covid19 в реальном времени: 4 шага

Видео: Live Tracker Covid19 с использованием ESP8266 и OLED - Панель управления Covid19 в реальном времени: 4 шага

Видео: Live Tracker Covid19 с использованием ESP8266 и OLED - Панель управления Covid19 в реальном времени: 4 шага
Видео: 🦠 Мониторинг Covid-19 на ESP8266 (😷 Статистика по коронавирусу на Arduino) 2024, Июль
Anonim
Image
Image

Посетите веб-сайт Techtronic Harsh:

Повсюду происходит огромная вспышка нового вируса короны (COVID19). Возникла необходимость следить за текущим сценарием COVID-19 в мире.

Итак, находясь дома, я подумал о проекте «World’s Live Covid19 Dashboard» - информационной панели, которая предоставляет обновленную информацию о состоянии мира COVID-19 в реальном времени. Больше не нужно держать телевизор включенным или смотреть на разных веб-сайтах.

Дизайн проекта не был важной частью. Но сделать что-то полезное, используя подручные компоненты, было сложной задачей. Этот проект, несомненно, поможет вам создать простой интерфейс панели инструментов, который будет держать вас в курсе.

Запасы

  • ESP8266
  • OLED-дисплей
  • Соединительные кабели

Шаг 1: Схема:

Настройка
Настройка

Шаг 2: Настройка:

Настройка
Настройка
Настройка
Настройка
  1. Посетите веб-сайт панели мониторинга Covid19 в реальном времени. Здесь я использую
  2. Войдите / Зарегистрируйтесь на https://thingspeak.com. Перейдите в приложение и создайте новое действие ThingHttp.

    • Укажите имя по вашему выбору, URL-адрес (https://trackcorona.live), метод как GET и в строке синтаксического анализа вам необходимо вставить XPath с веб-сайта trackcorna.live в нужное поле, которое вам нужно отобразить.
    • В приведенном выше примере (изображение) я анализирую строку для подтвержденных случаев, все, что вам нужно сделать, это

      • Щелкните правой кнопкой мыши количество подтвержденных случаев> Проверить,
      • Снова щелкните правой кнопкой мыши в коде> Копировать> CopyXPath
      • Вставьте это в поле строки синтаксического анализа действия ThinkHttp и сохраните его.
      • Аналогичным образом сделайте это для всех выздоровевших, смертей, смертности и смертности.
      • Посетите исходный код и замените SSID своим именем Wi-Fi, пароль - своим паролем Wi-Fi и ключ API - своим ThingHttp API.
  3. Загрузите код. Вот и все!!

Шаг 3: Исходный код:

/ * © Techtronic Harsh

Youtube:

Instructables: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Веб-сайт: https://techtronicharsh.com Telegram:

*/

#include // Использование функций ESP8266 #include #include #include #include #include

Adafruit_SSD1306 display = Adafruit_SSD1306 (128, 32 и Wire);

const char * ssid = "*******"; // SSID вашего маршрутизатора, то есть имя WiFi const char * password = "*******"; // Ваш пароль WiFi const char * host = "api.thingspeak.com"; // Читаем данные с этого хоста const int httpPortRead = 80; / * Просто измените ключ API с помощью вашего API через ThingHttp * / const char * url1 = "/ apps / thinghttp / send_request? Api_key = TGC4KNQ98REOA4JH"; // Подтверждено const char * url2 = "/ apps / thinghttp / send_request? Api_key = Y0ALN1QGDTNLLNNM"; // Восстановленный const char * url3 = "/ apps / thinghttp / send_request? Api_key = 0J24MB3W9F9Q0E7M"; // Смерть const char * url4 = "/ apps / thinghttp / send_request? Api_key = R2BKR1DRVS5YT2PH"; // Скорость восстановления const char * url5 = "/ apps / thinghttp / send_request? Api_key = VYMVMGK9S8W21EXQ"; // Летальность

Строковые случаи, смерть, восстановление, скорость восстановления, смертность;

Клиент WiFiClient; // Создаем WiFi-клиент и

HTTPClient

void setup () {

Serial.begin (9600); // Запускаем последовательную связь WiFi.disconnect (); // Отключение и повторное подключение к установленному вами Wi-Fi delay (1000); WiFi.begin (ssid, пароль); Serial.println («Подключен к сети Wi-Fi»); // Отображение обратной связи на последовательном мониторе Serial.println (WiFi.localIP ()); display.begin (); display.display (); задержка (1000);

display.clearDisplay ();

display.display ();

display.setTextSize (1);

display.setTextColor (БЕЛЫЙ);

}

пустой цикл ()

{// Чтение 1: Чтение подтвержденных случаев

if (http.begin (host, httpPortRead, url1)) // Подключаемся к хосту и URL

{int httpCode = http. GET (); // Проверяем обратную связь, есть ли ответ if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Cases = http.getString (); Serial.print («Подтвержденные случаи:»); Serial.println (Кейсы); display.setCursor (0, 0); display.println («COVID19 LIVE»); display.println (""); display.println («Подтвержденные случаи:»); display.println (Кейсы); display.display (); задержка (4000); display.clearDisplay (); }} else // Если мы не можем получить данные {Serial.printf ("[HTTP] GET… не удалось, ошибка:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else // Если мы не можем подключиться к HTTP {Serial.printf ("[HTTP} Невозможно подключиться / n"); }

// Чтение 2: Чтение восстановленных

если (http.begin (хост, httpPortRead, url2))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recover = http.getString (); Serial.print ("Восстановлено:"); Serial.println (Восстановить); display.setCursor (0, 0); display.println («COVID19 LIVE»); display.println (""); display.println ("Восстановлено:"); display.println (Восстановить); display.display (); задержка (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET… не удалось, ошибка:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Невозможно подключиться / n"); }

// Чтение 3: Чтение смертей

если (http.begin (хост, httpPortRead, url3))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Смерть = http.getString (); Serial.print ("Смертей:"); Serial.println (Смерть); display.setCursor (0, 0); display.println («COVID19 LIVE»); display.println (""); display.println ("Смертей:"); display.println (Смерть); display.display (); задержка (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET… не удалось, ошибка:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Невозможно подключиться / n"); }

// Чтение 4: Чтение скорости восстановления

если (http.begin (хост, httpPortRead, url4))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Recoveryrate = http.getString (); Serial.print ("Скорость восстановления:"); Serial.println (скорость восстановления); display.setCursor (0, 0); display.println («COVID19 LIVE»); display.println (""); display.println ("Скорость восстановления:"); display.print (Скорость восстановления); display.println ("%"); display.display (); задержка (4000); display.clearDisplay (); }} else {Serial.printf ("[HTTP] GET… не удалось, ошибка:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Невозможно подключиться / n"); }

// Чтение 5: Чтение уровня смертности

если (http.begin (хост, httpPortRead, url5))

{int httpCode = http. GET (); if (httpCode> 0) {if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {Deathrate = http.getString (); Serial.print ("Уровень смертности:"); Serial.println (Смертность); display.setCursor (0, 0); display.println («COVID19 LIVE»); display.println (""); display.println ("Уровень смертности:"); display.print (Смертность); display.println ("%"); display.display (); задержка (4000); display.clearDisplay (); display.display (); }} else {Serial.printf ("[HTTP] GET… не удалось, ошибка:% s / n", http.errorToString (httpCode).c_str ()); } http.end (); } else {Serial.printf ("[HTTP} Невозможно подключиться / n"); } while (WiFi.status ()! = WL_CONNECTED) // В случае потери Wi-Fi-соединения {WiFi.disconnect (); задержка (1000); WiFi.begin (ssid, пароль); Serial.println («Повторное подключение к WiFi..»); display.setCursor (0, 0); display.println («Techtronic Harsh»); display.println (""); display.println («Подключение….»); display.display (); задержка (10000); display.clearDisplay (); display.display (); }

}

/ * © Techtronic Harsh

Youtube:

Instructables: https://www.instructables.com/member/… Instagram: https://instagram.com/techtronicharsh Веб-сайт: https://techtronicharsh.com Telegram:

*/

Шаг 4: Работа:

Выполните подключения в соответствии с принципиальной схемой и загрузите код после выбора соответствующей платы и COM-порта. Если отображается ошибка, убедитесь, что вы добавили библиотеку в соответствии с приведенной выше инструкцией.

Если для работы на OLED требуется много времени, убедитесь, что вы правильно подключились к интернет-службам, то есть к Wi-Fi или точке доступа.

Рекомендуемые: