Часто нам необходимо управлять IoT устройствами удаленно, при помощи сети и для этого нам нужен простой инструмент который позволит быстро сделать это.
Рассмотрим небольшой пример как при помощи веб-сервера использующего библиотеку MicroPyServer написанную на языке программирования Python управлять ESP8266/ESP32 через WiFi или интернет.
Что такое MicroPyServer?
MicroPyServer -это простой веб-сервер написанный на Python , который позволяет управлять вашим устройством посредством запросов из браузера. MicroPyServer — популярное решения для быстрого создания программ управления вашими IoT устройствами.
Пример включения/выключения светодиода
Рассмотрим простой пример в котором нам надо удаленно управлять светодиодом подключённым к выводу GPIO13 (вывод D7 для Wemos D1 mini) модуля ESP8266 при помощи запросов из браузера.
from machine import Pinfrom micropyserver import MicroPyServerimport espimport timeimport network''' Connect to WiFi '''wlan_id = "Your WiFi"wlan_pass = "Your wifi password"
wlan = network.WLAN(network.STA_IF)wlan.active(True)if wlan.isconnected() == False:wlan.connect(wlan_id, wlan_pass)while wlan.isconnected() == False:time.sleep(1)print('Device IP:', wlan.ifconfig()[0])
def do_on(request):''' on request handler '''pin.value(1)server.send("ON")
def do_off(request):''' off request handler '''pin.value(0)server.send("OFF")
pin = machine.Pin(13, machine.Pin.OUT)server = MicroPyServer()''' add request handlers '''server.add_route("/on", do_on)server.add_route("/off", do_off)''' start server '''server.start()
Как работает:
Открываем браузер и набрав урл http://IP_вашего_устройства/on вы включите светодиод, а набрав урл http://IP_вашего_устройства/off вы его выключите. Все очень просто и легко. При помощи таких подходов вы можете реализовывать не только передачу управляющих инструкций на свое устройство, но отдачу данных с ваше устройства при помощи любых форматов и протоколов, т.к. вам ничто не мешает сделать это.
Вывод
MicroPyServer — это мощный и простой инструмент который позволит вам управлять вашими IoT устройствами по сети Интернет или локальной сети через Wi-Fi.
Описание и исходники библиотеки MicroPyServer тут : https://github.com/troublegum/micropyserver