Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| products:laboratory_iot:exp65 [2021/04/25 17:33] – создано labuser29 | products:laboratory_iot:exp65 [2024/12/05 15:57] (текущий) – [Программный код эксперимента] labuser30 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ===== Эксперимент | + | ===== Эксперимент |
| + | |||
| + | В прошлых экспериментах мы научились создавать веб-сервер на Python и получать данные от пользователя. Мы управляли цветом светодиода. Теперь наоборот, | ||
| + | |||
| + | ==== Схема эксперимента ==== | ||
| + | |||
| + | {{ : | ||
| + | // | ||
| + | |||
| + | {{ : | ||
| + | // | ||
| + | |||
| + | |||
| + | ==== Программный код эксперимента ==== | ||
| + | <file python Exp39.py[enable_line_numbers=" | ||
| + | import time | ||
| + | from machine import I2C, Pin | ||
| + | import onewire | ||
| + | import ds18x20 | ||
| + | from micropyserver import MicroPyServer | ||
| + | import network | ||
| + | import gc | ||
| + | _init() | ||
| + | gc.collect() | ||
| + | |||
| + | # the device is on GPIO12 | ||
| + | ow = onewire.OneWire(Pin(12)) | ||
| + | |||
| + | # create the onewire object | ||
| + | ds = ds18x20.DS18X20(ow) | ||
| + | |||
| + | wlan_id = " | ||
| + | wlan_pass = " | ||
| + | |||
| + | wlan = network.WLAN(network.STA_IF) | ||
| + | wlan.active(True) | ||
| + | wlan.connect(wlan_id, | ||
| + | time.sleep(1) | ||
| + | |||
| + | while wlan.isconnected() == False: | ||
| + | pass | ||
| + | |||
| + | print(' | ||
| + | |||
| + | def show_message(request, | ||
| + | ''' | ||
| + | roms = ds.scan() | ||
| + | ds.convert_temp() | ||
| + | time.sleep_ms(750) | ||
| + | |||
| + | for rom in roms: | ||
| + | temp = str(ds.read_temp(rom)) | ||
| + | server.send(temp) | ||
| + | |||
| + | server = MicroPyServer() | ||
| + | ''' | ||
| + | server.add_route("/", | ||
| + | ''' | ||
| + | server.start() | ||
| + | </ | ||
| + | |||
| + | <WRAP center round alert 60%> | ||
| + | Перед запуском программы необходимо убедиться, | ||
| + | </ | ||
| + | <WRAP center round download 60%> | ||
| + | {{ : | ||
| + | </ | ||
| + | |||
| + | Код подключения к сети и создания веб- сервера был изучен в предыдущих экспериментах, | ||
| + | |||
| + | Создаем шину 1-Wire на 12 выводе микроконтроллера и создаем объект датчика температуры DS18B20 (подробно о работе с [[theory: | ||
| + | <code python[enable_line_numbers=" | ||
| + | # the device is on GPIO12 | ||
| + | ow = onewire.OneWire(Pin(12)) | ||
| + | |||
| + | # create the onewire object | ||
| + | ds = ds18x20.DS18X20(ow) | ||
| + | </ | ||
| + | |||
| + | Когда происходит обращение к веб-серверу по адресу / (корневая директория, | ||