• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

# BotsBlog | MicroPython (ESP8266) #2: особенности работы, IDE, Hello World

Статус
В этой теме нельзя размещать новые ответы.

BotHub

Разработчик ботов

BotHub

Разработчик ботов
Резидент
Сообщения
285
Реакции
420
0 руб.
Telegram
Продолжаем серию статей, посвященных языку программирования MicroPython. Из нашей первой статьи мы поняли, как прошивать плату микроконтроллера ESP8266 и установили IDE EsPy, в дальнейшем мы будем работать только через нее. Подключаем плату к компьютеру и запускаем IDE.
EsPy.png
Соединяемся с платой указав нужный порт подключения Device -> Port и нажав кнопку соединения.
EsPy (Connected).png
При удачном соединении мы увидим в терминале информацию о подключении, а при перезапуске устройства и загрузочные сообщения с самой платы.
EsPy (Start).png
Перезагрузку платы можно сделать 3 способами:
  • Комбинация клавиш Ctrl+D
  • Нажатие на иконку перезапуска
    EsPy (Reset).png
  • Кнопка RST на самой плате контроллера
И мы увидим сообщения о загрузке платы, версию MicroPython и версию контроллера. А также мы увидим несколько ошибок, часть из которых мы устраним далее.
EsPy (Terminal reboot).png
Данная микро программа имеет файловую систему, поддерживающую директории, а также текстовые, графические и мультимедийные файлы. Для доступа к файлам и взаимодействии с файловой системой, в IDE присутствует встроенный файловый менеджер.
EsPy (FileManager).png
EsPy (FileManager 2).png
Файловый менеджер имеет, ряд самых востребованных возможностей. А также счетчик количества свободной памяти. А это целых 3,36 MB. Этого объёма достаточно для размещения ваших скриптов и мультимедийных файлов.

Логика работы микропрограммы такова, что при включении или перезагрузке устройства, будут запущены 2 файла, boot.py и main.py. Файл boot.py принято использовать для размещения сценариев подключения к сети, а main.py для инициализации работы пользовательских скриптов. А так же добавление этого файла уберет возникающую ошибку OSError: [Errno 2] ENOENT.
Рассмотрим стандартное содержание файла boot.py
Код:
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import uos, machine
#uos.dupterm(None, 1) # disable REPL on UART(0)
import gc
#import webrepl
#webrepl.start()
gc.collect()

Сейчас нас интересуют 2 закомментированные строки
Код:
#import webrepl
#webrepl.start()
Эти строки включают поддержку, еще одного интерфейса управления файловой системой модуля и его терминала. WebREPL – это интерфейс управления платой, удаленно, через точку доступа самого модуля. Для начала работы с модулем, достаточно добавить следующую строку и перезагрузить устройство.
Код:
import webrepl_setup
Пройдем операцию установки пароля доступа, отвечая на вопросы модуля.
EsPy (Set Passt).png
После перезагрузки устройства в файловой системе появится файл webrepl_cfg.py он содержит пароль доступа к WebREPL.

Для дальнейшей работы с модулем, по средством WebREPL, нужно совершить ряд настроек. Самая первая из них, это удалить строку import webrepl_setup и раскомментировать строки import webrepl, webrepl.start(). А также прописать в скрипте boot.py сценарий, для создания точки доступа. Имя точки доступа и пароль нужно придумать свои.
Код:
import gc
import network
import webrepl
webrepl.start()


ap_wlan = network.WLAN(network.AP_IF)
ap_wlan.active(True)
ap_wlan.config(
    essid='ESSID', # Имя точки доступа
    authmode=network.AUTH_WPA_WPA2_PSK,
    password='PASSWORD' # Пароль от точки доступа
)


gc.collect()

Загружаем boot.py на устройство, перезагружаем его и подключаемся к появившейся точке доступа. После проделанных операций, достаточно перейти в утилиту WebREPL в программе Tools -> WebREPL. И подключиться к плате, ввести созданный ранее пароль доступа к WebREPL, и мы получаем удаленный доступ к плате, без соединения по USB кабелю.
EsPy (WebREPL).png
Для удобной работы с модулем, я написал небольшой сценарий работы с файлом конфигурации, который вам поможет включать и выключать точку доступа, а также подключаться к сети WI-FI вашего роутера, изменив всего несколько строк конфигурации config.py Данный сценарий я прикреплю в конце темы.

MicroPython имеет небольшую коллекцию пакетов, эти пакеты, практически полные аналоги Python «большого брата», но имеет немного ограниченный функционал. Эту специфику нужно иметь ввиду, при разработке ваших программ.
Код:
__main__          http_client       socket            upip
_boot             http_client_ssl   ssd1306           upip_utarfile
_onewire          http_server       ssl               upysh
_webrepl          http_server_ssl   struct            urandom
apa102            inisetup          sys               ure
array             io                time              urequests
binascii          json              uasyncio/__init__ urllib/urequest
btree             lwip              uasyncio/core     uselect
builtins          machine           ubinascii         usocket
collections       math              ucollections      ussl
dht               micropython       ucryptolib        ustruct
ds18x20           neopixel          uctypes           utime
errno             network           uerrno            utimeq
esp               ntptime           uhashlib          uzlib
example_pub_button                  onewire           uheapq            webrepl
example_sub_led   os                uio               webrepl_setup
flashbdev         port_diag         ujson             websocket
framebuf          random            umqtt/robust      websocket_helper
gc                re                umqtt/simple      zlib
hashlib           select            uos

Существует возможность и автоматической установки пакетов, из репозитория модулей PyPi. Но не все модули подходят для нас, только те модули которые написаны специально под MicroPython. Список модулей для MicroPython. При установке в директории памяти платы, будет создана папка lib, в которой и будут хранится все установленные модули. Пример установки:
Код:
import upip


upip.install('nmongo')

В эту же папку можно вносить пакеты и вручную, список уже разработанных пакетов, доступен и в официальном репозитории MicroPython.

Продолжение читайте в новой статье...

Список статей по MicroPython (ESP8266):
  • MicroPython (ESP8266 #1): знакомство, прошивка контролера

Список документации:

VirusTotal для файлов micro_python.zip
 

Вложения

  • micro_python.zip
    962 байт · Просмотры: 201
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу