Оглавление:

Covid19 Stat IoT Display: 5 шагов
Covid19 Stat IoT Display: 5 шагов

Видео: Covid19 Stat IoT Display: 5 шагов

Видео: Covid19 Stat IoT Display: 5 шагов
Видео: IoT Happy Hour #5: Fold for Covid 2024, Июль
Anonim
Image
Image
Необходимые вещи
Необходимые вещи

В настоящее время мир находится в пандемии коронавируса и, как и многие другие страны, его блокировка в Индии, поэтому у меня возникла идея создать дисплей IoT, который будет обновлять статистику короны страны в реальном времени. Я использую API, который предоставляет данные по Индии, но вы можете использовать любой API с небольшим изменением кода.

Шаг 1. Необходимые вещи

Необходимые вещи
Необходимые вещи
Необходимые вещи
Необходимые вещи

Вот что вам понадобится для отображения Интернета вещей:

  • NodeMCU (ESP8266)
  • ЖК-модуль 16x2 (I2C)
  • Макетная плата (необязательно)
  • Некоторые провода / перемычки
  • USB-кабель

Шаг 2: Подключения

Подключения
Подключения
Подключения
Подключения
Подключения
Подключения

Связь довольно проста. Для подключения осталось всего 4 провода. Вы можете использовать макетную плату, чтобы поместить в нее esp8266, а затем подключиться к ЖК-модулю, или вы можете просто использовать прямые перемычки между гнездом и гнездом для подключения.

Подключения (ESP-> LCD):

  1. VIN -> VCC (для 5 В)
  2. GND -> GND
  3. D2 -> ПДД
  4. D1 -> SCL

Теперь просто подключите esp8266 с помощью кабеля USB к ПК, теперь нам просто нужно загрузить код.

Шаг 3. Кодирование

Кодирование
Кодирование

Теперь это самая важная часть. Многие из вас будут задумываться о том, как это работает?

Итак, он сначала подключается к Wi-Fi, а затем подключается к API для сбора данных JSON, затем он декодирует данные JSON и сохраняет эти значения в переменной, затем ЖК-дисплей отображает значения, и это продолжается в цикле.

Я использовал API https://coronago.xyz/api/data.json, который получает данные с https://www.covid19india.org/, он предоставляет данные только для Индии, но есть много API для других стран., вы можете использовать любой API, но убедитесь, что он доступен по протоколу

Во-первых, вам необходимо установить поддержку платы ESP8266 для Arduino IDE. Следуйте этому руководству.

Второе, что нужно сделать, это установить все необходимые библиотеки, вы можете легко установить их из диспетчера библиотек Arduino.

Затем откройте код, измените учетные данные Wi-Fi и загрузите код.

код находится здесь, в моем репозитории GitHub -

Шаг 4. Объяснение кода и использование другого API

Объяснение кода и использование другого API
Объяснение кода и использование другого API

Код довольно простой

В части настройки void он инициализирует ЖК-модуль и отображает начальное сообщение, а затем подключается к сети Wi-Fi.

В части цикла он извлекает данные JSON из API и декодирует их, сохраняя в переменной, а затем отображает их на последовательном мониторе и на ЖК-дисплее.

для использования другого API необходимо изменить адрес в этой строке кода

http.begin ("https://coronago.xyz/api/data.json"); // API

Другое дело, что API должен работать с HTTP-соединением, HTTPS-соединение не будет работать в этом коде, и вы получите ошибку -1.

API возвращает такие данные JSON

Теперь следующий код просто декодирует JSON и сохраняет значения в переменной, это полностью зависит от API и данных JSON, которые он возвращает. Но это легко изменить, для получения дополнительной информации вы можете проверить это руководство.

StaticJsonBuffer JSONBuffer; // Пул памяти JsonObject & parsed = JSONBuffer.parseObject (payload); // Разбираем сообщение подтверждено = parsed ["подтверждено"]; восстановлено = проанализировано ["восстановлено"]; deaths = parsed ["смерти"]; current_active = разобранный ["активный"];

После этого код просто отображает переменные на последовательном мониторе и на ЖК-дисплее.

Serial.print ("подтверждено:"); Serial.println (подтверждено); Serial.print ("восстановлено:"); Serial.println (восстановлен); Serial.print ("currenty_active:"); Serial.println (текущий_активный); Serial.print ("смертей:"); Serial.println (смертей); if (httpCode == 200) {// отображаем данные в lcd lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Подтверждено:"); lcd.print (подтверждено); lcd.setCursor (0, 1); lcd.print ("Смертей:"); lcd.print (погибших); задержка (2500); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Активный:"); lcd.print (текущий_активный); lcd.setCursor (0, 1); lcd.print ("Восстановлено:"); lcd.print (восстановлен); задержка (2500);

}

Шаг 5: Заключение

Это отличный проект для постоянного мониторинга статистики, и можете ли вы создать его, чтобы скоротать время в этой ситуации блокировки.

Если вам нужна помощь, вы можете спросить меня в комментариях или открыть вопрос в моем Github.

github.com/Soumojit28/covid19-iot-display для любых проблем, связанных с кодом.

Спасибо.

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