![Първи стъпки с Python за ESP8266 и ESP32: 6 стъпки Първи стъпки с Python за ESP8266 и ESP32: 6 стъпки](https://i.howwhatproduce.com/images/003/image-6141-j.webp)
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 12:57
![Първи стъпки с Python за ESP8266 и ESP32 Първи стъпки с Python за ESP8266 и ESP32](https://i.howwhatproduce.com/images/003/image-6141-1-j.webp)
Подложка
ESP8266 и неговият по-малък брат ESP32 са евтини Wi-Fi микрочипове с пълен TCP/IP стек и микроконтролер. Чипът ESP8266 за първи път попадна в общността на производителите през 2014 г. Оттогава ниската цена (<5 USD), неговата Wi-Fi възможност, вградена флаш памет от 1 или 4 MB и разнообразие от налични разработки дъски, направи чипа ESP един от най-популярните микроконтролери за WiFi и IoT DIY проекти.
MicroPython е икономична и ефективна реализация на все по -популярния език за програмиране на Python, който включва малка подмножество от стандартната библиотека на Python и е оптимизиран за работа на микроконтролери.
Комбинацията от тези две е много интересна опция за DIY проекти, както за начинаещи, така и за по -напреднали потребители.
Проектът MiPy-ESP
Още през 2015 г. първите ми проекти с ESP8266 започнаха с чипа ESP-01, използвайки Arudions за изпълнение на AT команди на чипове през серийна връзка. След това през следващите години приложих ядрото Arduino за ESP8266 за програмиране на чиповете с езика C ++. Това работи добре, но за ентусиаст на Python откритието ми за реализацията на Python 3 на MicroPython беше страхотна новина.
Проектът MiPy-ESP е гъвкава рамка, прилагаща MicroPython за пълен стек Python IoT проекти на микроконтролери от семейство ESP.
Рамката е разработена от екипа за разработка на софтуер на LeGarage Technical Comittee (LG-TC-SWDT-01), който има за цел да замени вече установения C ++ базиран код за нашите приложения за микроконтролер.
Проектът предоставя основни функции като
- Процедури за мрежово свързване
- Уеб сървър на точка за достъп до чип (за wifi връзка и обслужване на уеб страници с чип за входове/изходи за данни)
- MQTT функционалности
- Регистриране/отстраняване на грешки
- График за събития на микроконтролер
- Хардуерни входно/изходни процедури
С един основен компактен скрипт за код (main.py), всички с глобална конфигурация (config.py).
Този код на микроконтролер работи със стабилна поддръжка на чип връзки към WiFi мрежа и MQTT брокери. Съществуващите модули MicroPython за различен хардуер могат лесно да бъдат интегрирани в системата.
Рамката MiPy-ESP се превърна в гръбнак на всички наши IoT проекти за хоби електроника, включващи микроконтролери от семейство ESP. Тестван е на няколко платки от семейство ESP, като платките NodeMCU, Wemos и Lolin.
Следващият урок е ръководство за това как да започнете с микроконтролерите от семейство ESP и MicroPython с помощта на рамката MiPy-ESP.
Стъпка 1: Платката Wemos D1 Mini ESP8266
![Платката Wemos D1 Mini ESP8266 Платката Wemos D1 Mini ESP8266](https://i.howwhatproduce.com/images/003/image-6141-2-j.webp)
![Платката Wemos D1 Mini ESP8266 Платката Wemos D1 Mini ESP8266](https://i.howwhatproduce.com/images/003/image-6141-3-j.webp)
![Платката Wemos D1 Mini ESP8266 Платката Wemos D1 Mini ESP8266](https://i.howwhatproduce.com/images/003/image-6141-4-j.webp)
![Платката Wemos D1 Mini ESP8266 Платката Wemos D1 Mini ESP8266](https://i.howwhatproduce.com/images/003/image-6141-5-j.webp)
Рамката MiPy-ESP работи с повечето базирани на ESP8266 микроконтролери.
Мини платката за разработка Wemos D1 е базирана на чип ESP-8266EX. На отпечатък от 2.5 x 3.5 cm, той разполага с 4MB флаш памет, 11 цифрови входни/изходни пина, всички пинове поддържат прекъсване, PWM, I2C, SPI, сериен и 1 аналогов вход с максимален вход 3.3V, може да работи на 5V мощност, има микро USB връзка и е съвместим с макет. Ниската цена и малкият му размер го превърнаха в любимата ми ESP платка.
В допълнение, D1 mini pro версията на платката се предлага с възможност за свързване на външна антена, увеличавайки значително обхвата на свързване (+100 m обхват). В допълнение към това, дъската се предлага и с разнообразие от дънни удължителни табла с подобни компактни размери.
Стъпка 2: Подготовка за MicroPython на чипа ESP
![Подготовка за MicroPython на чипа ESP Подготовка за MicroPython на чипа ESP](https://i.howwhatproduce.com/images/003/image-6141-6-j.webp)
В тази първа стъпка ще го направите
- Свържете ESP платката чрез USB към вашия компютър
- Инсталирайте софтуера Esptool за мигане на чипа
- Изтрийте паметта на чипа
- Мигайте чипа с фърмуера на MicroPython
- Инсталирайте Rshell, за да активирате взаимодействието на командния ред с вашия чип
- Инсталирайте mpy-cross (за компилиране на.py файлове в двоичен файл)
Свързването на платката към вашия компютър чрез USB платки с вграден USB-сериен порт прави UART достъпна за вашия компютър и е най-лесният вариант за започване. За платки без USB връзка, FTDI модул с USB към сериен може да се използва за свързване на GPIO пиновете за мигане, свързани с външния свят, но това не е обхванато в този урок.
За MicroPython, използващ кода MiPy-ESP, минималното изискване за размер на флаш чип е 1 MB. Съществува и специална конструкция за платки с 512 kB, но това няма поддръжка за файлова система, от която зависи MiPy-ESP.
Когато използвате USB кабел, платката се захранва от компютъра, докато е свързана. Това също позволява програмиране и отстраняване на грешки през серийната връзка. Когато кодът на проекта е качен и вашият проект е разгърнат, външното захранване се подава върху щифтовете за захранване на платката.
Инсталиране на Esptool Информацията за софтуера на Esptool може да бъде намерена в хранилището на Esptool GitHub. Ако искате да използвате Windows/Linux/OSX (MAC), връзката по -горе също обхваща това. Пакетът Python може да бъде инсталиран от
pip install esptool
За потребителите на Linux пакетите за Esptool се поддържат за Debian и Ubuntu и също могат да бъдат инсталирани с
sudo apt инсталирате esptool
Изтриване на флаш памет на ESP Използвайки Esptool, след това изтривате флаш паметта на ESP с командата
esptool.py --port /dev /ttyUSB0 erase_flash
Изтегляне на фърмуера на MicroPyton Фърмуерът на MicroPython се намира в.bin файл, който може да бъде изтеглен от уебсайта на MicroPython.
Текущият главен клон на проекта на репо е тестван и работи с Micropython v.1.12. За да осигурите успех с рамката MiPY-ESP, изтеглете файла 'esp8266-20191220-v1.12.bin' от тази връзка и напишете фърмуера на чипа чрез командата:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = откриване 0 esp8266-20191220-v1.12.bin
Инсталиране на Rshell Пакетът Rshell позволява взаимодействие с командния ред с вашата среда MicroPython, инсталирана на чипа. Може да се намери в тази връзка. Rshell е проста обвивка, която работи на хоста и използва суровия REPL на MicroPython, за да изпраща фрагменти на python до пиборда, за да получава информация за файловата система и да копира файлове към и от файловата система на MicroPython. REPL означава Read Evaluate Print Loop и е името, дадено на интерактивната подкана MicroPython, до която можете да получите достъп на ESP8266. Използването на REPL е най -лесният начин да тествате кода си и да изпълнявате команди. Инсталирайте Rshell чрез командата:
sudo pip инсталирайте rshell
Инсталирането на mpy-cross компилатора MicroPython може да се приложи с ascii.py файлове, качени във файловата система с чип. MicroPython също дефинира концепцията за.mpy файлове, който е двоичен файлов формат на контейнер, който съдържа предварително компилиран код и който може да бъде импортиран като нормален.py модул. Чрез компилиране на.py файлове в.mpy ще има повече RAM памет за вашия работещ код - и това е необходимо, за да има работещ основен модул на рамката MiPy -ESP.
За внедряване на MiPy-ESP код, крос компилаторът mpy-cross MicroPython компилира скриптовете.py в.mpy преди качване на чип. Инсталирайте пакета mpy-cross, като следвате инструкциите в тази връзка. Като алтернатива, командата mpy-cross може да бъде инсталирана чрез команда Python pip или да се изпълни от пътя на папката mpy-cross, ако клонирате хранилището на MicroPython от GitHub тук.
Вече имате инсталиран MicroPython и всички необходими инструменти, за да започнете да изграждате първия си проект MiPy-ESP
Стъпка 3: Първи стъпки с MiPy-ESP
![Първи стъпки с MiPy-ESP Първи стъпки с MiPy-ESP](https://i.howwhatproduce.com/images/003/image-6141-7-j.webp)
В тази стъпка ще го направите
Изтеглете рамката MyPy-ESP
Изтегляне на рамката MiPy-ESP Проектът MiPy-ESP може да бъде намерен на GitHub в това хранилище на кодове. От GitHub можете да изтеглите файловата структура на хранилището или да я клонирате към вашия компютър чрез
git clone
С кодовото хранилище, инсталирано на вашия компютър, вече имате всички кодови модули, от които се нуждаете, за да изградите готов за ESP IoT проект. Повече подробности за инструментариума в следващата стъпка.
Стъпка 4: Рамкова архитектура на MiPy-ESP
![Рамковата архитектура на MiPy-ESP Рамковата архитектура на MiPy-ESP](https://i.howwhatproduce.com/images/003/image-6141-8-j.webp)
В тази стъпка ще го направите
научете за работния процес на кода MiPy-ESP
Кодова архитектура на MiPy-ESP
Всички рамкови модули на Python се намират в /src папката на хранилището на кодове на MiPY-ESP. Папката src/core съдържа основните модули, които влизат във всеки проект. Папката src/drivers има селекция от модули за различен хардуер, който да бъде свързан към вашия чип. Папката src/utilities съдържа незадължителни помощни модули, които да включите във вашия проект.
Файловете main.py и config.py се намират в папката src/. Това са основните файлове за редактиране за изграждане на вашия проект:
config.py:
Този файл е глобалният конфигурационен файл за вашия проект. Той има различни настройки, всички с описателни коментари във файла.
main.py:
Това е основният скрипт за кодовия цикъл на микроконтролера. Той съдържа специфичен за приложението код в рамката. При зареждане с чип main.py работи и импортира всички модули, зависими от проекта, с дадени данни от файла config.py. Горната диаграма показва оформлението на скрипта main.py.
Фигурата по -горе описва работния процес на main.py:
- При стартиране кодът се опитва да свърже чипа към Wi-Fi мрежа. Предишно приложените мрежи и техните пароли (криптирани на чип) се съхраняват във флаш паметта. Мрежовите SSID и техните пароли могат да бъдат предоставени във файла wifi.json във формат {" SSID1 ":" Парола "," SSID ":" Парола2 "}. Дадените мрежи в този файл се съхраняват, паролите се криптират и файлът се изтрива при стартиране.
- Ако не са намерени вече известни мрежи, кодът настройва уеб сървър на точка за достъп (AP). SSID и парола за чип AP сървър се задават във файла config.py. При влизане в SSID на чипа се показва уеб страница за влизане на чипа в Wi-Fi на 192.168.4.1. Откритите мрежи се показват в менюто или SSID може да бъде въведен ръчно (скрити мрежи) заедно с паролата за Wi-Fi. При успешно свързване на чипа с Wi-Fi, AP сървърът се изключва и кодът main.py преминава към следващите си стъпки.
-
В раздела Настройка на main.py,
- дефинирани са функции за задания и обратни повиквания (и др. MQTT обратно повикване) и редовни събития.
- Задават се различни задания с време за изпълнение на функции.
- Установен е клиент на брокер на MQTT
-
След това кодът влиза в основния цикъл на микроконтролера,
- непрекъсната проверка на мрежови и MQTT брокерски връзки,
- Абонаменти за MQTT,
- хардуерен I/O
- и планирани работни места.
- При загубена мрежова или MQTT брокерска връзка кодът се опитва да се възстанови.
Стъпка 5: Подготовка на кода на вашия проект
![Подготовка на кода на вашия проект Подготовка на кода на вашия проект](https://i.howwhatproduce.com/images/003/image-6141-9-j.webp)
![Подготовка на кода на вашия проект Подготовка на кода на вашия проект](https://i.howwhatproduce.com/images/003/image-6141-10-j.webp)
В тази стъпка ще го направите
- научете за файловата структура на хранилището на MiPy-ESP
- подгответе кода на вашия проект за качване на чип
Структура на папката на хранилището Горната фигура описва структурата на папката на хранилището и изброява текущите модули на рамката. Вашият проект е етапи в папката src/. Основните рамкови модули на MiPy-ESP се намират в src/core, опционални помощни модули в src/помощни програми и хардуерни модули в src/драйвери.
Повечето налични хардуерни библиотеки на MicroPython могат да влизат в драйверите/ папката без никакви модификации. Всички настоящи драйвери са тествани с рамката MiPy-ESP. По отношение на модулите в помощните програми/ папка, ще бъдат добавени още, когато оживеят.
Поставяне на кода на проекта Вашият специфичен за проекта код трябва да бъде поставен в папката src/. Вече са файловете main.py и config.py, които можете да редактирате. Също така копирайте желаните помощни програми за проекти от src/utilities и src/drivers в src/.
В случай, че искате да предоставите известни Wi-Fi мрежи и пароли към чипа, добавете файла wifi.json към src/.
Компилиране и подготовка за качване Предоставен Makefile може да се прилага за подготовка на файлове за прехвърляне на чип чрез компилиране на.py файлове в / src, компилиране на основните модули и прехвърляне на компилираните файлове в нова папка с име build / чрез командата
направете изграждане
Вградените файлове са готови за качване във файловата система на чипа. По подразбиране main.py и config.py не се компилират в двоични файлове, за да имат лесен достъп до тях за проверка на разгърнатите чипове. Командата:
направи чист
Изтрива компилацията/ папката и нейното съдържание.
Стъпка 6: Компилиране и качване на кода в микроконтролера
![Компилиране и качване на кода в микроконтролера Компилиране и качване на кода в микроконтролера](https://i.howwhatproduce.com/images/003/image-6141-11-j.webp)
![Компилиране и качване на кода в микроконтролера Компилиране и качване на кода в микроконтролера](https://i.howwhatproduce.com/images/003/image-6141-12-j.webp)
В този раздел ще
- качете подготвените файлове в build/ от последния раздел
- стартирайте и наблюдавайте работещия код
Качване на компилация/ файлове с Rshell
Качете всички файлове в директория /build на ESP чип с помощта на Rshell. С микроконтролера, свързан към USB, от компилатора/ папката стартирайте Rshell с командата
rshell -p /dev /ttyUSB0
След това проверете файловете с чипове (ако има такива) от
ls /pyboard
Всички файлове на чипа могат да бъдат изтрити от
rm /pyboard/*.*
Копирайте всички файлове на проекта в build/ на чипа:
cp *. * /pyboard
След това стартирайте интерактивния терминал на Python чрез командата
repl
Вече можете да извиквате команди на Python или да импортирате модули и да наблюдавате серийния изход на чипа от модула за регистриране на MiPy-ESP.
Рестартирайте чипа, като натиснете бутона за нулиране или от командния ред чрез
import main
или
машина за внос
и тогава
machine.reset ()
В зависимост от вашите настройки за регистриране/отстраняване на грешки в конфигурационния файл на проекта, репликата сега ще показва съобщения за отстраняване на грешки от чипа ESP през серийната връзка.
Надяваме се, че това трябва да ви помогне да започнете.
Препоръчано:
Първи стъпки с WeMos ESP8266: 6 стъпки
![Първи стъпки с WeMos ESP8266: 6 стъпки Първи стъпки с WeMos ESP8266: 6 стъпки](https://i.howwhatproduce.com/images/001/image-2785-11-j.webp)
Първи стъпки с WeMos ESP8266: В тази инструкция ще стартираме мигащия Led пример на WeMos ESP8266
Първи стъпки с I2C сензорен интерфейс ?? - Свържете вашия MMA8451 с помощта на ESP32: 8 стъпки
![Първи стъпки с I2C сензорен интерфейс ?? - Свържете вашия MMA8451 с помощта на ESP32: 8 стъпки Първи стъпки с I2C сензорен интерфейс ?? - Свържете вашия MMA8451 с помощта на ESP32: 8 стъпки](https://i.howwhatproduce.com/images/002/image-5194-16-j.webp)
Първи стъпки с I2C сензорен интерфейс ?? - Свържете вашия MMA8451 с помощта на ESP32: В този урок ще научите всичко за това как да стартирате, свържете и получите I2C устройство (акселерометър), работещо с контролер (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Първи стъпки с ESP32 CAM - Поточно предаване на видео с помощта на ESP CAM през Wifi - Проект за охранителна камера ESP32: 8 стъпки
![Първи стъпки с ESP32 CAM - Поточно предаване на видео с помощта на ESP CAM през Wifi - Проект за охранителна камера ESP32: 8 стъпки Първи стъпки с ESP32 CAM - Поточно предаване на видео с помощта на ESP CAM през Wifi - Проект за охранителна камера ESP32: 8 стъпки](https://i.howwhatproduce.com/images/002/image-3459-43-j.webp)
Първи стъпки с ESP32 CAM | Поточно предаване на видео с помощта на ESP CAM през Wifi | Проект за камера за сигурност ESP32: Днес ще научим как да използваме тази нова ESP32 CAM платка и как можем да я кодираме и използваме като камера за сигурност и да получим поточно видео през wifi
Първи стъпки с ESP32 - Инсталиране на платки ESP32 в Arduino IDE - ESP32 Blink Code: 3 стъпки
![Първи стъпки с ESP32 - Инсталиране на платки ESP32 в Arduino IDE - ESP32 Blink Code: 3 стъпки Първи стъпки с ESP32 - Инсталиране на платки ESP32 в Arduino IDE - ESP32 Blink Code: 3 стъпки](https://i.howwhatproduce.com/images/002/image-4451-12-j.webp)
Първи стъпки с ESP32 | Инсталиране на платки ESP32 в Arduino IDE | ESP32 Blink Code: В тази инструкция ще видим как да започнем работа с esp32 и как да инсталираме esp32 дъски в Arduino IDE и ще програмираме esp 32 да изпълнява мигащ код, използвайки arduino ide
ESP32 с вграден OLED (WEMOS/Lolin) - Първи стъпки Arduino Style: 4 стъпки
![ESP32 с вграден OLED (WEMOS/Lolin) - Първи стъпки Arduino Style: 4 стъпки ESP32 с вграден OLED (WEMOS/Lolin) - Първи стъпки Arduino Style: 4 стъпки](https://i.howwhatproduce.com/images/003/image-8477-34-j.webp)
ESP32 с интегриран OLED (WEMOS/Lolin) - Първи стъпки Arduino Style: Ако сте като мен, имате възможност да се докоснете до най -новия и най -добър ESP8266/и т.н. … и да го направите. ESP32 не е по -различен, но открих, че все още няма твърде много по отношение на документацията