Измерение переменного напряжения (250 Вольт AC) с использованием ESP8266 12E, Android-приложения и Adafruit IO MQTT

Измерение и мониторинг электрических параметров — это тема, которая становится всё более актуальной с развитием интернета вещей (IoT). Применение различных микроконтроллеров и платформ для исследования окружающего мира открывает перед нами новые горизонты. В данной статье мы подробно рассмотрим, как измерять переменное напряжение 250 VAC с помощью модуля ESP8266 12E, а также как создать Android-приложение для отображения результатов и интегрировать всё это с Adafruit IO через MQTT.

Если вам интересны различные аспекты программирования, электроники и IoT, то вы на правильном пути! Давайте начнем наш увлекательный путь в мир электронных проектов и узнаем все тонкости измерения переменного напряжения.

Что такое ESP8266 12E и его особенности

Модуль ESP8266 12E — это компактный и недорогой Wi-Fi микроконтроллер, который позволил многим любителям электроники и разработчикам быстро реализовать свои идеи в области IoT. Он стал популярен среди многих энтузиастов благодаря своей высокой производительности и множеству доступных библиотек.

Преимущества использования ESP8266 12E

ESP8266 12E предлагает множество преимуществ, включая:

  • Доступная стоимость: Модуль стоит относительно недорого, что делает его отличным вариантом для проектов с ограниченным бюджетом.
  • Wi-Fi возможности: Позволяет подключить устройство к интернету, что открывает большие перспективы для удаленного мониторинга и управления.
  • Простота в использовании: Множество доступных библиотек и примеров кода делают его доступным для новичков.

Характеристики ESP8266 12E

Вот некоторые ключевые характеристики, которые стоит учитывать при работе с ESP8266:

Характеристика Значение
Напряжение питания 3.3V
Максимальный ток 80 мА
Wi-Fi стандарт 802.11 b/g/n
Память 4 МБ Flash

Подготовка компонентов для проекта

Прежде чем начать измерение переменного напряжения, нам понадобится несколько компонентов и инструментов. Основными элементами нашего проекта будут ESP8266, датчик напряжения и необходимые соединительные провода. Давайте разберем детали.

Необходимые компоненты

Чтобы построить наш проект, вам понадобятся следующие компоненты:

  • ESP8266 12E
  • Датчик напряжения (например, ZMPT101B)
  • Макетная плата и провода для соединений
  • Компьютер для программирования ESP8266
  • Смартфон с Android для приложения
  • Wi-Fi роутер

Безопасность при работе с высоковольтными системами

Работа с переменным напряжением опасна, и необходимо соблюдать определенные меры предосторожности. Никогда не работайте с высоковольтным оборудованием без соответствующих знаний и навыков. Используйте изолированные инструменты и всегда следите за тем, чтобы ваши соединения были надежными.

Подключение датчика напряжения к ESP8266

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

Схема подключения

Датчик ZMPT101B имеет несколько выводов, которые нужно правильно подключить к ESP8266. Вот как выполнить подключение:

Вывод датчика ZMPT101B Подключение к ESP8266
VCC 3.3V (ESP8266)
GND GND (ESP8266)
OUT GPIO (например, A0)

Настройка питания для датчиков

Прежде чем мы перейдем к коду, нужно обратить внимание на питание датчика. Убедитесь, что ваш датчик напряжения получает необходимое напряжение и что все соединения выполнены правильно. Избегайте короткого замыкания и проверьте, чтобы провода были надежно зафиксированы.

Код для измерения напряжения на ESP8266

Теперь, когда все готово, давайте перейдем к программированию. Мы будем использовать Arduino IDE для написания кода, который позволит нам считывать данные с датчика.

Установка библиотеки

Первым делом, вам необходимо установить соответствующие библиотеки для работы с Wi-Fi и MQTT. Откройте Arduino IDE и перейдите в «Управление библиотеками». Найдите и установите:

  • ESP8266WiFi
  • PubSubClient (для MQTT)

Пример кода

cpp
#include
#include

const char* ssid = “your_SSID”;
const char* password = “your_PASSWORD”;
const char* mqtt_server = “io.adafruit.com”;
const char* mqtt_username = “your_username”;
const char* mqtt_password = “your_aio_key”;

WiFiClient espClient;
PubSubClient client(espClient);

#define V_SENSOR A0 // Подключение датчика напряжения к A0

void setup() {
Serial.begin(115200);
setup_wifi();
client.setServer(mqtt_server, 1883);
}

void setup_wifi() {
delay(10);
Serial.println();
Serial.print(“Подключение к WiFi”);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(“.”);
}
Serial.println(“”);
Serial.println(“WiFi подключен”);
}

void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();

float voltage = readVoltage();
char msg[50];
snprintf(msg, 50, “Измеренное напряжение: %.2f V”, voltage);
client.publish(“your_feed”, msg);
delay(2000);
}

float readVoltage() {
int sensorValue = analogRead(V_SENSOR);
float voltage = sensorValue * (5.0 / 1023.0);
return voltage;
}

void reconnect() {
while (!client.connected()) {
Serial.print(“Попытка подключения к MQTT…”);
if (client.connect(“ESP8266Client”, mqtt_username, mqtt_password)) {
Serial.println(“подключен”);
} else {
Serial.print(“Ошибка с кодом “);
Serial.print(client.state());
delay(2000);
}
}
}

Объяснение кода

Этот код выполняет несколько задач:

  • Подключается к Wi-Fi сети.
  • Подключается к серверу MQTT Adafruit IO.
  • Считывает данные с датчика напряжения.
  • Публикует измеренное напряжение в формате сообщения на заданную тему.

Создание Android-приложения для отображения данных

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

Использование App Inventor

Одним из самых доступных инструментов для создания Android-приложений является App Inventor. Это визуальная среда, которая позволяет создавать приложения, не требуя глубоких знаний программирования. Давайте посмотрим, как вы можете использовать его для создания простого приложения для отображения данных о напряжении.

Шаги по созданию приложения

  1. Перейдите на сайт App Inventor и зарегистрируйтесь.
  2. Создайте новый проект.
  3. Добавьте кнопку для обновления данных.
  4. Добавьте текстовое поле для отображения напряжения.
  5. Используйте компонент Web для подключения к API Adafruit IO.
  6. Настройте логику приложения, чтобы получать данные и отображать их в текстовом поле.

Интеграция с Adafruit IO и MQTT

Теперь, когда у нас есть как считывание напряжения, так и приложение для его отображения, давайте погрузимся в саму суть работы с Adafruit IO. Это облачная платформа, которая позволяет хранить и обрабатывать данные, и ее интеграция с нашим проектом — ключевой момент.

Регистрируйтесь на Adafruit IO

Первым шагом будет создание учетной записи на Adafruit IO. Зайдите на сайт Adafruit и зарегистрируйтесь. Вы получите бесплатный план, который прекрасно подойдет для начала работы.

Создание фидов

Фиды представляют собой каналы, через которые ваши данные будут поступать в Adafruit IO. Для нашего проекта создайте новый фид, используя название вашей темы (например, “tension”). Этот фид будет получать данные о напряжении, которые мы опубликуем с помощью ESP8266.

Ключи API и настройки

Сохраните свои ключи API и логин, так как они понадобятся для работы с вашим ESP8266, чтобы успешно аутентифицироваться на платформе.

Тестирование системы

Теперь, когда все настройки завершены, пора протестировать нашу систему. Убедитесь, что все соединения выполнены правильно, и запустите ваш код на ESP8266. Подключите устройство к Wi-Fi и убедитесь, что оно успешно подключается к Adafruit IO.

Мониторинг данных

Откройте приложение на своем смартфоне и убедитесь, что ваши данные отображаются корректно. Вы также можете проверить Adafruit IO через веб-интерфейс, чтобы увидеть, как данные обновляются. Это увлекательно, когда данные из вашего устройства непрерывно поступают на экран!

Заключение

В итоге, вы создали инновационный проект, который позволяет вам измерять переменное напряжение и отображать данные на Android-приложении, используя ESP8266 и Adafruit IO с MQTT. Это небольшое путешествие демократизировало знания, необходимые для работы с IoT.

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

Помните: экспериментируйте, учитесь и делитесь своими достижениями с окружающими. Успехов вам, и до новых встреч в мире электроники и IoT!

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии