Пр-4_Работа с базой данных. Получение данных с мобильного телефона
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ им. проф. М.А. БОНЧ-БРУЕВИЧА» (СПБГУТ) Факультет информационных сетей и систем Кафедра сетей связи и передачи данных |
||||
|
||||
Практическая работа 4
|
||||
По дисциплине: |
Интернет вещей и самоорганизующиеся сети |
|||
|
|
|||
Тема работы: |
Работа с базой данных. Получение данных с |
|||
|
мобильного телефона |
|||
|
||||
|
||||
Номер группы: |
4 |
|
Работу выполнил студент |
|
|
|
|
группы: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Проверил: |
|
|
|
|
Доцент кафедры ССиПД |
|
|
|
|
Комарова Ксения Александровна |
|
Санкт-Петербург 2022 |
Задание
С телефона отправляем температуру (поле «температура»), время (поле «время») и считываем температуру за окном (смотри прошлую лабораторную работу). Определяем необходимую интенсивность нагрева помещения исходя из разницы температур.
Соответствие разниц температур должно храниться в таблице (например, если разница от 0 до 5 градусов – 0 градусов; от 5 до 10 – 30 градусов и тд).
Изменить значение интенсивности нагрева, записать в таблицу (поля: текущее время и интенсивность нагрева, температура за окном, температура в доме).
Если значение интенсивности нагрева изменилось – сделать соответствующую запись в таблице и поменять текущее значение интенсивности нагрева.
Во freeboard выводим для таблицы «Значения интенсивности нагрева» два поля «время» и «интенсивность». Во второй панели с помощью sparkline вывести текущую погоду с телефона и погоду за окном.
Выполнение
Запустим необходимое ПО: node-red, сервер mqtt (mosquitto), сервер mysql
Создадим базу данных и таблицу
Соберем схему
Группа «температура за окном» имитирует поступление температуры с датчика каждые 5 секунд через блок inject.
Блок function 1 генерирует случайное число в диапазоне от 0 до 30
Далее происходит запись в топик temp/outdoor
В группе «запись в базу данных» мы подписаны на два топика temp/outdoor и temp/indoor, за счет блока function 2 в случаи поступления данных с телефона происходит запись в базу данных через блок sql.
В группе «вывод данных» за счет периодичной работы блока inject на блок sql каждую секунду приходит запрос на считывание последней записи в таблице. Далее эти данные отправляются в блок dashboard на панель контроля.