Это старая версия документа!
В прошлом эксперименте мы сделали полноценный термометр с доступом по IP адресу. Он подключается к существующей сети Wi-Fi, и пользователь тоже подключается к той же сети для соединения с термометром. В такой схеме подключения задействованы три устройства: сам ночник, Wi-Fi роутер и устройство клиента (смартфон или копьютер).
Но наша плата может работать сама в режиме точки доступа. В таком случае можно установить соединение между платой и клиентским устройством (смартфоном или ноутбуком) напрямую. Для этого нужно настроить микроконтроллер на работу в режиме точки доступа.
Схему прошлого эксперимента оставляем без изменений, но немного изменим код.
import time from machine import I2C, Pin import onewire import ds18x20 from micropyserver import MicroPyServer import network import gc _init() gc.collect() ap_id = "WIFI_TEMP" ap_pass = "12345678" # the device is on GPIO12 ow = onewire.OneWire(Pin(12)) # create the onewire object ds = ds18x20.DS18X20(ow) ap = network.WLAN(network.AP_IF) ap.active(True) ap.config(essid=ap_id, password=ap_pass) time.sleep(2) while ap.isconnected() == False: pass print('Device IP:', ap.ifconfig()[0]) def show_message(request, params): ''' request handler ''' 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() ''' add request handler ''' server.add_route("/", show_message) ''' start server ''' server.start()
Создаем объект интерфейса, но на этот раз настраиваем его как точку доступа
ap = network.WLAN(network.AP_IF)
Настраиваем свойства точки доступа. А именно устанавливаем имя сети и пароль
ap.config(essid=ap_id, password=ap_pass)
Других принципиальных отличий программы от программы из предыдущего эксперимента нет.
После запуска программы видим нашу сеть среди списка доступных на смартфоне или на ноутбуке