Оглавление:
- Шаг 1: демонстрация
- Шаг 2: Сборка
- Шаг 3: Сборка - стол
- Шаг 4: Ubidots
- Шаг 5: Библиотека SimpleDHT
- Шаг 6. Библиотека PubSubClient
- Шаг 7. Библиотека TinyGSM
- Шаг 8: библиотека TFT_eSPI
- Шаг 9: Библиотека TFT_eSPI
- Шаг 10: Ubidots
- Шаг 11: изменение данных в.ino
- Шаг 12: GPRS_ESP32_DHT.ino - Объявления и переменные
- Шаг 13: закрепление
- Шаг 14: настройка
- Шаг 15: SetupDisplay
- Шаг 16: Настройка GSM
- Шаг 17: Подключите MQTTServer
- Шаг 18: цикл
- Шаг 19: ReadDHT
- Шаг 20: опубликуйте MQTT
- Шаг 21: CreateJsonString
- Шаг 22: ShowDataOnDisplay
- Шаг 23: файлы
Видео: Интернет вещей с сотовой сетью с ESP32: 23 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Сегодня мы обсудим GPRS-модем, а точнее ESP32, и его использование в сотовой телефонной сети. Это то, что работает очень хорошо. Затем, используя протокол MQTT, мы отправим данные на панель управления Ubidots. Используйте в этой сборке дисплей для обратной связи схемы в дополнение к SIM800L и микросхеме сотового телефона. Таким образом, в этом проекте мы будем отправлять данные о температуре и влажности через GPRS и MQTT и визуализировать данные в виде линейной диаграммы.
Шаг 1: демонстрация
Шаг 2: Сборка
Шаг 3: Сборка - стол
Шаг 4: Ubidots
Шаг 5: Библиотека SimpleDHT
В среде Arduino IDE перейдите в Sketch-> Include Library-> Manage Libraries…
Установить SimpleDHT
Шаг 6. Библиотека PubSubClient
В среде Arduino IDE перейдите в Sketch-> Include Library-> Manage Libraries…
Установить PubSubClient
Шаг 7. Библиотека TinyGSM
В среде Arduino IDE перейдите в Sketch-> Include Library-> Manage Libraries…
Установить TinyGSM
Шаг 8: библиотека TFT_eSPI
В среде Arduino IDE перейдите в Sketch-> Include Library-> Manage Libraries…
Установить TFT_eSPI
Шаг 9: Библиотека TFT_eSPI
Измените контакты дисплея в папке lib.
Закрепление находится в файле User_Setup.h в
C: / Users / \ Documents / Arduino / библиотеки / TFT_eSPI
Измените эти значения по умолчанию на следующие значения на изображении.
Шаг 10: Ubidots
Войдите в Ubidots со своей учетной записью и нажмите «Устройства».
Нажмите кнопку "+" в правом верхнем углу.
Нажмите "Пусто"
Введите имя устройства. Обратите внимание на «метку устройства», поскольку она будет использоваться в «теме», которую мы будем использовать в.ino.
В списке устройств появится только что созданное устройство. Нажмите здесь.
На появившемся экране нажмите «Добавить переменную». Появится всплывающее окно. Щелкните "Raw".
Щелкните текстовое поле и введите имя свойства.
Это должно быть именно то, что мы отправим в json-файле.ino. Повторите это для другого свойства.
Вернитесь на панель управления, щелкнув логотип Ubidots.
На панели управления нажмите «Добавить новый виджет».
В списке виджетов выберите «Двойная ось».
Шаг 11: изменение данных в.ino
Шаг 12: GPRS_ESP32_DHT.ino - Объявления и переменные
#define TINY_GSM_MODEM_SIM800 // Тип модема, который используется для использования # include #include #include #include #include // Token de usuário que pegamos no Ubidots #define TOKEN "BBFF-abcdefghijklmnopqr0madestuvtwd (esp32_gprs é o nome do dispositivo no Ubidots) #define TOPIC "/v1.6/devices/esp32_gprs" // id do dispositivo que pegamos no painel do Ubidots #define DEVICE_ID "5c01234567890abc12345678" // URL-адрес сервера MFQTD_MQTine mqtt: //things.ubidots.com "// Порт для MQTT #define MQTT_PORT 1883 // Установлен на DHT22 #define DHT_PIN 27
Шаг 13: закрепление
// Изображение пользователя User_Setup.h в библиотеке TFT_eSPI display = TFT_eSPI (); // Intervalo entre os envios e refresh da tela #define INTERVAL 10000 // Последовательный канал, используемый для связи через модем. Использовать семпер 1 HardwareSerial SerialGSM (1); TinyGsm модем GSM (SerialGSM); TinyGsmClient gsmClient (modemGSM); // Клиент MQTT, передает URL-адрес сервера, // порт клиента GSM PubSubClient client (MQTT_SERVER, MQTT_PORT, gsmClient); // Tempo em que o último envio / refresh foi feito uint32_t lastTime = 0; влажность поплавка; // Переменная, если хотите, чтобы температура поплавка; // Вариант использования оружия или доблести температуры SimpleDHT22 dht; // Objeto que realizará a leitura da umidade e temperatura
Шаг 14: настройка
void setup () {Serial.begin (115200); setupDisplay (); // Инициализация и настройка отображения setupGSM (); // Инициализация и настройка модема GSM connectMQTTServer (); // Conectamos ao mqtt server // Espera 2 segundos e limpamos o display delay (2000); display.fillScreen (TFT_BLUE); display.setCursor (0, 0); }
Шаг 15: SetupDisplay
void setupDisplay () {display.init (); display.setRotation (1); display.fillScreen (TFT_BLUE); // Limpa o display com a cor azul display.setTextColor (TFT_WHITE, TFT_BLUE); // Coloca o texto como branco com fundo azul display.setTextWrap (true, true); // Ativa quebra de linha display.setTextSize (1); display.setCursor (0, 0, 2); // Posicção x, y e fonte do texto display.println ("Настройка отображения завершена"); }
Шаг 16: Настройка GSM
void setupGSM () {display.println («Настройка GSM…»); // Инициализируется серийный номер модема SerialGSM.begin (9600, SERIAL_8N1, 4, 2, false); задержка (3000); // Самая подробная информация о модеме Serial.println (modemGSM.getModemInfo ()); // Инициализация модема if (! ModemGSM.restart ()) {display.println ("Не удалось перезапустить модем GSM"); задержка (10000); ESP.restart (); возвращение; } // Espera pela rede if (! ModemGSM.waitForNetwork ()) {display.println ("Не удалось подключиться к сети"); задержка (10000); ESP.restart (); возвращение; } // Conecta à rede gprs (APN, usuário, senha) if (! ModemGSM.gprsConnect ("", "", "")) {display.println ("GPRS Connection Failed"); задержка (10000); ESP.restart (); возвращение; } display.println («Успешная установка GSM»); }
Шаг 17: Подключите MQTTServer
void connectMQTTServer () {display.println («Подключение к серверу MQTT…»); // Укажите определенное устройство в очереди if (client.connect (DEVICE_ID, TOKEN, "")) {// Установите соединение с получением display.println ("Connected"); } else {// Se ocorreu algum erro display.print ("error ="); display.println (client.state ()); задержка (10000); ESP.restart (); }}
Шаг 18: цикл
void loop () {// Задать формулу и температуру readDHT (); // Укажите, как выполнить серверный MQTT if (! Client.connected ()) {// Mandamos conectar connectMQTTServer (); } // Tempo decorrido desde o boot em milissegundos unsigned long now = millis (); // Промежуточный интервал от envio if (now - lastTime> INTERVAL) {// Публикация для сервера mqtt publishMQTT (); // Mostramos os dados no display showDataOnDisplay (); // Atualizamos o tempo em que foi feito o último envio lastTime = now; }}
Шаг 19: ReadDHT
void readDHT () {float t, h; // Faz a leitura da umidade e temperatura e apenas atualiza as varáveis se foi bem sucedido if (dht.read2 (DHT_PIN, & t, & h, NULL) == SimpleDHTErrSuccess) {temperature = t; влажность = ч; }}
Шаг 20: опубликуйте MQTT
void publishMQTT () {// Создание очереди json для сервера MQTT String msg = createJsonString (); Serial.print ("Опубликовать сообщение:"); Serial.println (сообщение); // Publicamos no tópico int status = client.publish (TOPIC, msg.c_str ()); Serial.println ("Status:" + String (status)); // Статус 1 se sucesso ou 0 se deu erro}
Шаг 21: CreateJsonString
String createJsonString () {String data = "{"; если (! иснан (влажность) &&! иснан (температура)) {данные + = "\" влажность / ":"; data + = String (влажность, 2); данные + = ","; data + = "\" температура / ":"; data + = String (температура, 2); } данные + = "}"; вернуть данные; }
Шаг 22: ShowDataOnDisplay
void showDataOnDisplay () {// Сбросить положение курсора, установить его и задать температуру display.setCursor (0, 0, 2); display.println ("Влажность:" + строка (влажность, 2)); display.println ("Температура:" + String (temperature, 2)); }
Шаг 23: файлы
Скачайте файлы
Я НЕТ
Рекомендуемые:
Узкополосный Интернет вещей: интеллектуальное освещение и замеры прокладывают путь к лучшей и здоровой экосистеме: 3 шага
Узкополосный Интернет вещей: интеллектуальное освещение и замеры прокладывают путь к лучшей и здоровой экосистеме: автоматизация нашла свое применение почти во всех секторах. Автоматизация увидела свет, начиная с производства и заканчивая здравоохранением, транспортом и цепочкой поставок. Что ж, все это, несомненно, привлекательно, но есть одно, которое кажется
Интернет вещей с NodeMCU и MQTT: 4 шага
IoT с NodeMCU и MQTT: [En] Однажды для промышленного применения мне нужно было сделать печатную плату с 8 сухими контактами, немного поигравшись с MQTT, и я решил адаптировать ее для работы с помощью NodeMCU esp-f v4. Чтобы упростить создание недорогой домашней автоматизации. [Pt-Br] Cert
(IoT) Интернет вещей с Ubidots (ESP8266 + LM35): 4 шага
(IoT) Интернет вещей с Ubidots (ESP8266 + LM35): сегодня мы собираемся научиться использовать платформу Ubidots для удобной визуализации данных через Интернет
PoochPak: умный жилет для собак с подключением к сотовой сети: 4 шага
PoochPak: умный жилет для собак с подключением к сотовой сети: В области автоматизации мы часто фокусируемся на разработке людей, работающих в цикле, чтобы воспользоваться преимуществами когнитивных способностей компьютеров и человеческого разума. Но у собак есть набор навыков, которые делают их очень подходящими для определенных задач, которые люди не могут эффективно выполнить
Часы ESP32 с использованием Wi-Fi, ESP-NOW и сотовой связи: 4 шага
Часы ESP32 с использованием Wi-Fi, ESP-NOW и сотовой связи: это часы Wi-Fi на основе ESP32, которые я сделал для беспроводного конкурса. Я решил сделать эти часы слишком беспроводными, чтобы они использовали три различных формы беспроводной связи (WiFi, ESP-NOW и сотовая связь). Телефон подключен к вышке сотовой связи и