Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot:exp65 [2021/04/25 18:15] – [Программный код эксперимента] labuser29products:laboratory_iot:exp65 [2024/12/05 15:57] (текущий) – [Программный код эксперимента] labuser30
Строка 1: Строка 1:
-===== Эксперимент 57. Wi-Fi термометр =====+===== Эксперимент 65. Wi-Fi термометр =====
  
-В прошлых экспериментах мы научились создавать веб- сервер на Python и получать данные от пользователя. Мы управляли цветом светодиода. Теперь наоборот, мы создадим веб сервер, который сообщает нам полезную информацию. Пусть это будут данные о температуре. Создадим прострой термометр, к которому мы сможем обратиться с помощью браузера.+В прошлых экспериментах мы научились создавать веб-сервер на Python и получать данные от пользователя. Мы управляли цветом светодиода. Теперь наоборот, мы создадим веб сервер, который сообщает нам полезную информацию. Пусть это будут данные о температуре. Создадим прострой термометр, к которому мы сможем обратиться с помощью браузера.
  
 ==== Схема эксперимента ==== ==== Схема эксперимента ====
Строка 66: Строка 66:
 {{ :products:esp-iot:micropyserver.zip |}} {{ :products:esp-iot:micropyserver.zip |}}
 </WRAP> </WRAP>
 +
 +Код подключения к сети и создания веб- сервера был изучен в предыдущих экспериментах, поэтому здесь повторно останавливаться на этом не будем.
 +
 +Создаем шину 1-Wire на 12 выводе микроконтроллера и создаем объект датчика температуры DS18B20 (подробно о работе с [[theory:1wire|шиной 1-Wire]] и [[products:laboratory_iot:exp39|датчиком DS18B20]])
 +<code python[enable_line_numbers="2", start_line_numbers_at="11"]>
 +# the device is on GPIO12
 +ow = onewire.OneWire(Pin(12))
 + 
 +# create the onewire object
 +ds = ds18x20.DS18X20(ow)
 +</code>
 +
 +Когда происходит обращение к веб-серверу по адресу / (корневая директория, главная страница), то вызывается функция ''show_message''. В ней считываются данные с датчика о текущей температуре и возвращаются клиенту. Для получения новых данных необходимо повторно обратиться к серверу обновив страницу в браузере.