Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:laboratory_iot:exp59 [2020/06/16 19:17] – labuser29 | products:laboratory_iot:exp59 [2024/12/05 14:36] (текущий) – [Программный код эксперимента] labuser30 | ||
---|---|---|---|
Строка 7: | Строка 7: | ||
Рассмотрим основные части URL | Рассмотрим основные части URL | ||
{{ : | {{ : | ||
+ | |||
+ | * Протокол обращения к ресурсу. Например http, https, ftp и пр. | ||
+ | * Хост. Может быть домен, например, | ||
+ | * Путь до ресурса на сервере | ||
+ | * Параметры | ||
+ | |||
+ | Остановимся подробнее на параметрах. Параметры состоят из пар **имя=значение**, | ||
+ | |||
+ | Если параметр один, то он записывается '' | ||
+ | |||
+ | Как раз с помощью параметра мы и можем передавать нашему серверу значение яркости светодиода. Например так: '' | ||
+ | |||
+ | ==== Схема эксперимента ==== | ||
+ | {{ : | ||
+ | // | ||
+ | |||
+ | ==== Программный код эксперимента ==== | ||
+ | |||
+ | <file python Exp59.py[enable_line_numbers=" | ||
+ | from micropyserver import MicroPyServer | ||
+ | import time | ||
+ | from machine import Pin, PWM | ||
+ | import network | ||
+ | import gc | ||
+ | _init() | ||
+ | gc.collect() | ||
+ | |||
+ | Led = Pin(13, Pin.OUT) | ||
+ | pwmLed = PWM(Led) | ||
+ | |||
+ | 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 index(request, | ||
+ | ''' | ||
+ | if (' | ||
+ | pwmLed.duty(int(params[' | ||
+ | server.send(" | ||
+ | else: | ||
+ | server.send(" | ||
+ | |||
+ | |||
+ | |||
+ | server = MicroPyServer() | ||
+ | ''' | ||
+ | server.add_route("/", | ||
+ | |||
+ | ''' | ||
+ | server.start() | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Первым делом в коде программы нужно заменить '' | ||
+ | </ | ||
+ | |||
+ | При обращении к главной странице сервиса происходит вызов функции '' | ||
+ | <code python[enable_line_numbers=" | ||
+ | server.add_route("/", | ||
+ | </ | ||
+ | |||
+ | Функция '' | ||
+ | |||
+ | <code python[enable_line_numbers=" | ||
+ | if (' | ||
+ | </ | ||
+ | |||
+ | если такого параметра не было передано серверу, | ||
+ | <code python[enable_line_numbers=" | ||
+ | pwmLed.duty(int(params[' | ||
+ | server.send(" | ||
+ | </ | ||
+ | |||
+ | Так как URL передается в виде строки и, соответственно, | ||
+ | |||
+ | Попробуй отправлять запрос на сервер с разными значениями параметра '' | ||
+ | {{ : | ||
+ | {{ : | ||
+ | {{ : |