BotHub
Разработчик ботов
Продолжаем серию статей, посвященных языку программирования MicroPython. Из нашей первой статьи мы поняли, как прошивать плату микроконтроллера ESP8266 и установили IDE EsPy, в дальнейшем мы будем работать только через нее. Подключаем плату к компьютеру и запускаем IDE.
Соединяемся с платой указав нужный порт подключения Device -> Port и нажав кнопку соединения.
При удачном соединении мы увидим в терминале информацию о подключении, а при перезапуске устройства и загрузочные сообщения с самой платы.
Перезагрузку платы можно сделать 3 способами:
Данная микро программа имеет файловую систему, поддерживающую директории, а также текстовые, графические и мультимедийные файлы. Для доступа к файлам и взаимодействии с файловой системой, в IDE присутствует встроенный файловый менеджер.
Файловый менеджер имеет, ряд самых востребованных возможностей. А также счетчик количества свободной памяти. А это целых 3,36 MB. Этого объёма достаточно для размещения ваших скриптов и мультимедийных файлов.
Логика работы микропрограммы такова, что при включении или перезагрузке устройства, будут запущены 2 файла, boot.py и main.py. Файл boot.py принято использовать для размещения сценариев подключения к сети, а main.py для инициализации работы пользовательских скриптов. А так же добавление этого файла уберет возникающую ошибку OSError: [Errno 2] ENOENT.
Рассмотрим стандартное содержание файла boot.py
Сейчас нас интересуют 2 закомментированные строки
Эти строки включают поддержку, еще одного интерфейса управления файловой системой модуля и его терминала. WebREPL – это интерфейс управления платой, удаленно, через точку доступа самого модуля. Для начала работы с модулем, достаточно добавить следующую строку и перезагрузить устройство.
Пройдем операцию установки пароля доступа, отвечая на вопросы модуля.
После перезагрузки устройства в файловой системе появится файл webrepl_cfg.py он содержит пароль доступа к WebREPL.
Для дальнейшей работы с модулем, по средством WebREPL, нужно совершить ряд настроек. Самая первая из них, это удалить строку import webrepl_setup и раскомментировать строки import webrepl, webrepl.start(). А также прописать в скрипте boot.py сценарий, для создания точки доступа. Имя точки доступа и пароль нужно придумать свои.
Загружаем boot.py на устройство, перезагружаем его и подключаемся к появившейся точке доступа. После проделанных операций, достаточно перейти в утилиту WebREPL в программе Tools -> WebREPL. И подключиться к плате, ввести созданный ранее пароль доступа к WebREPL, и мы получаем удаленный доступ к плате, без соединения по USB кабелю.
Для удобной работы с модулем, я написал небольшой сценарий работы с файлом конфигурации, который вам поможет включать и выключать точку доступа, а также подключаться к сети WI-FI вашего роутера, изменив всего несколько строк конфигурации config.py Данный сценарий я прикреплю в конце темы.
MicroPython имеет небольшую коллекцию пакетов, эти пакеты, практически полные аналоги Python «большого брата», но имеет немного ограниченный функционал. Эту специфику нужно иметь ввиду, при разработке ваших программ.
Существует возможность и автоматической установки пакетов, из репозитория модулей PyPi. Но не все модули подходят для нас, только те модули которые написаны специально под MicroPython. Список модулей для MicroPython. При установке в директории памяти платы, будет создана папка lib, в которой и будут хранится все установленные модули. Пример установки:
В эту же папку можно вносить пакеты и вручную, список уже разработанных пакетов, доступен и в официальном репозитории MicroPython.
Продолжение читайте в новой статье...
Список статей по MicroPython (ESP8266):
Список документации:
VirusTotal для файлов micro_python.zip
Соединяемся с платой указав нужный порт подключения Device -> Port и нажав кнопку соединения.
При удачном соединении мы увидим в терминале информацию о подключении, а при перезапуске устройства и загрузочные сообщения с самой платы.
Перезагрузку платы можно сделать 3 способами:
- Комбинация клавиш Ctrl+D
- Нажатие на иконку перезапуска
- Кнопка RST на самой плате контроллера
Данная микро программа имеет файловую систему, поддерживающую директории, а также текстовые, графические и мультимедийные файлы. Для доступа к файлам и взаимодействии с файловой системой, в IDE присутствует встроенный файловый менеджер.
Файловый менеджер имеет, ряд самых востребованных возможностей. А также счетчик количества свободной памяти. А это целых 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()
Код:
import webrepl_setup
После перезагрузки устройства в файловой системе появится файл 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 кабелю.
Для удобной работы с модулем, я написал небольшой сценарий работы с файлом конфигурации, который вам поможет включать и выключать точку доступа, а также подключаться к сети 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
Вложения
Последнее редактирование: