Добавил:
liisakochik@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Мага. 1 семестр / IoT_Кочубей_Зубченко_1308_2

.pdf
Скачиваний:
1
Добавлен:
04.01.2026
Размер:
392.35 Кб
Скачать

МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) Кафедра вычислительной техники

ОТЧЕТ по лабораторной работе №2

по дисциплине «Интернет вещей» Тема: Клиентское приложение на базе ESP32

Студентка гр. 1308

_______________

Кочубей Е.Д.

Студентка гр. 1308

_______________

Зубченко П.А.

Преподаватель

_______________

Фаткиева Р.Р.

Санкт-Петербург

2025

Цель работы

Получение практических навыков в работе с микроконтроллерами,

связанных с передачей данных по стандарту IEEE 802.11.

Ход работы

Подключение

Работа проводилась на онлайн платформе Wokwi, которая позволяет проводить симуляцию на различных микроконтроллерах.

Для разработки используем микроконтроллер ESP32 и цифровой датчик температуры и влажности DHT22.

Рисунок 1 – схема подключения компонентов

Датчик температуры и влажности воздуха подключается в цифровой порт 15, а также получает питание 3V3 и заземляется GND. Зелёный светодиод подключается к 14 цифровому порту через резистор 220 Ом.

2

Моделирование

При запуске симуляции схема подключается к WiFi, к MQTT-

брокеру, а затем отсылает текущие показатели датчика.

Рисунок 2 – результаты запуска программы

При изменении параметров датчика (температуры и влажности)

светодиод загорается, что означает успешную отправку данных на брокер.

Если параметры не изменяются, то светодиод не горит.

Рисунок 3 – процесс изменения параметров

Рисунок 4 – сообщение об обновлении параметров и сами данные

3

Листинг

import network

 

 

 

import time

 

 

 

 

from machine import Pin

 

 

import dht

 

 

 

 

import ujson

 

 

 

 

from umqtt.simple import MQTTClient

 

 

# MQTT Server Parameters

 

 

MQTT_CLIENT_ID = "micropython-weather-demo"

 

 

MQTT_BROKER

 

= "broker.mqttdashboard.com"

 

 

MQTT_USER

 

= ""

 

 

MQTT_PASSWORD

= ""

 

 

MQTT_TOPIC

 

= "wokwi-weather"

 

 

sensor = dht.DHT22(Pin(15))

 

 

led = Pin(14, Pin.OUT)

 

 

led.on()

 

 

 

 

print("Connecting to WiFi", end="")

 

 

sta_if = network.WLAN(network.STA_IF)

 

 

sta_if.active(True)

 

 

sta_if.connect('Wokwi-GUEST', '')

 

 

while not sta_if.isconnected():

 

 

print(".", end="")

 

 

time.sleep(0.1)

 

 

print(" Connected!")

 

 

print("Connecting to MQTT server... ", end="")

 

 

client

=

MQTTClient(MQTT_CLIENT_ID,

MQTT_BROKER,

user=MQTT_USER,

password=MQTT_PASSWORD) client.connect() print("Connected!") prev_weather = "" while True:

print("Measuring weather conditions... ", end="") sensor.measure()

message = ujson.dumps({

"temp": sensor.temperature(), "humidity": sensor.humidity(),

})

if message != prev_weather: print("Updated!") led.on()

print("Reporting to MQTT topic {}: {}".format(MQTT_TOPIC, message)) client.publish(MQTT_TOPIC, message)

prev_weather = message else:

led.off() print("No change")

time.sleep(1)

4

Выводы

Входе лабораторной работы были успешно освоены навыки работы

смикроконтроллеров ESP32, а также с передачей данных по стандарту

IEEE802.11.

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

5