Лабораторная работа №1 "Реализация ППО для МК на языке MicroPython"
Цель работы
Ознакомиться с основами разработки прикладного программного обеспечения для микроконтроллеров на языке MicroPython
Теоретические сведения
MicroPython — это легковесная реализация Python 3, предназначенная для встроенных систем с ограниченными ресурсами. Он позволяет разработчикам использовать знакомые концепции и библиотеки Python для ускорения разработки приложений для микроконтроллеров.
ESP32 — это мощный микроконтроллер с поддержкой Wi-Fi и Bluetooth, широко используемый в разработке IoT-устройств. ESP32 поддерживает развертывание программ на MicroPython, что делает его удобным в учебных и прототипирующих целях.
Распиновка ESP32

Модуль machine:
import machine
machine.freq()          # прочесть текущую частоту CPU
machine.freq(240000000) # задать частоту CPU на 240 МГц
Модуль esp:
esp.osdebug(None)       # выключить отладочные сообщения ОС
esp.osdebug(0)          # перенаправить отладочные сообщения ОС
                        # на порт UART0
# низкоуровневые методы для взаимодействия с flash-памятью:
esp.flash_size()
esp.flash_user_start()
esp.flash_erase(sector_no)
esp.flash_write(byte_offset, buffer)
esp.flash_read(byte_offset, buffer)
Модуль esp32:
import esp32
esp32.hall_sensor()     # прочесть данные встроенного датчика Холла
esp32.raw_temperature() # прочесть внутреннюю температуру MCU
                        # (в Фаренгейтах)
esp32.ULP()             # получить доступ к ULP-сопроцессору
                        # (от англ. «ultra-low power», что значит
                        # «ультранизкое энергопотребление»)
Контакты и GPIO
from machine import Pin
p0 = Pin(0, Pin.OUT)    # создать выходной контакт на GPIO0
p0.on()                 # задать контакту значение «вкл» 
p0.off()                # задать контакту значение «выкл»
p0.value(1)             # задать контакту значение «вкл» («1»)
p2 = Pin(2, Pin.IN)     # создать входной контакт на GPIO2
print(p2.value())       # прочесть значение («0» или «1»)
p4 = Pin(4, Pin.IN, Pin.PULL_UP) # включить встроенный
                                 # подтягивающий резистор
p5 = Pin(5, Pin.OUT, value=1) # создать выходной контакт
                              # со значением «вкл» («1»)
Задание
- Управление встроенным светодиодом
    
- собрать схему
 - написать код программы (включение светодиода на 1 секунду, выключение светодиода на 1 секунду)
 
 - Реализовать вывод значений внутренней температуры на экран (В Фаренгейтах и в Цельсиях)
 - Реализовать вывод данных со встроенного датчика Холла (провести эксперимент с поднесением к ESP32 диэлектрика, магнита)
 
Результаты работы продемонстрировать преподавателю
Отчет
В отчете представить скриншоты и описание действий по пунктам, представленным в задании Отчет по ГОСТу
Защита
- Источник
 - что такое MicroPython, как устроено, как работает?
 - применение микроконтроллеров в АТПП