В тази статия ще разгледаме ESP8266 борда и как можем да го програмираме с помощта на интегрираната среда за програмиране Visual Studio Code и добавката на PlatformIO за програмиране на малки едноплаткови компютри в Windows. Ще разгледаме инсталацията на средата и ще подкараме примерна програма на борда, за да го тестваме. По-подробно описание процеса на инсталация, можем да намерим в тази статия тук. Нека започнем.
Какво е Visual Studio Code
Visual Studio Code (VS Code) е безплатен, лек и мощен текстов редактор, който е разработен от Microsoft. Той е проектиран за разработка на софтуер и поддържа различни езици за програмиране като JavaScript, Python, C++, Java, и още много други. Един от най-важните аспекти на VS Code е гъвкавостта му и богатият екосистем от разширения, което го прави подходящ за различни видове разработка – уеб разработка, разработка на мобилни приложения, облачни приложения и други.
Някои от основните функции на Visual Studio Code включват:
- Разширяемост: Възможност за добавяне на разширения, които добавят нови функционалности и подобряват производителността.
- Интелигентност на кода: Подкрепя автоматично допълване на код, анализиране на кода, подчертаване на синтактични грешки и други интелигентни функции.
- Интеграция с Git: Вградена поддръжка за контрол на версиите с Git, което позволява удобно управление на промените в кода.
- Debugger: Позволява отстраняване на грешки в кода, предоставяйки инструменти за отстраняване на грешки, стъпка по стъпка изпълнение и преглед на стойностите на променливите.
- Интеграция с различни облачни услуги и платформи: Поддръжка за разработка и интеграция с облачни услуги като Azure, AWS, Google Cloud и други.
- Конфигурация на работната среда: Потребителите могат да персонализират работната си среда чрез теми, разширения и настройки, съобразени с техните нужди и предпочитания.
Visual Studio Code е популярен сред програмистите заради бързината си, гъвкавостта и голямото количество налични разширения, които правят процеса на програмиране по-продуктивен. За да го ползваме при програмирането на микроконтролери и бордовe, трябва да инсталираме и разширението PlatformIO.
Какво е PlatformIO
PlatformIO е интегрирана среда за разработка (IDE) за микроконтролери, която се фокусира върху платформи като Arduino, ESP8266, ESP32, STM32 и много други. Тя позволява на програмистите да разработват софтуер за микроконтролери по-лесно и ефективно.
Ето някои от основните характеристики на PlatformIO:
- Мултиплатформено разработване: PlatformIO поддържа множество различни микроконтролерни платформи, като Arduino, ESP8266, ESP32, STM32, AVR, Raspberry Pi и др.
- Интеграция с различни IDE: PlatformIO е наличен като разширение за популярни разработчички среди като Visual Studio Code, Atom, Sublime Text и Eclipse. Това позволява на потребителите да избират любимата си среда за разработка.
- Управление на библиотеки: PlatformIO предлага удобен начин за управление на библиотеки от различни източници. Потребителите могат лесно да добавят и използват библиотеки за техните проекти.
- Управление на проекти: Платформата осигурява удобен начин за създаване и управление на проекти за различни микроконтролерни платформи.
- Интегриран отладъчен интерфейс: PlatformIO предоставя вграден отладъчен интерфейс, който позволява на програмистите да отстраняват грешки в техните програми директно от IDE.
- Широк набор от инструменти за сборка и карта на паметта: PlatformIO осигурява инструменти за управление на сборка на програмите, както и графичен интерфейс за визуализация на използваната памет от програмите.
PlatformIO е много популярен сред програмистите, които работят с микроконтролери, заради своята гъвкавост, богати възможности и добра интеграция с популярните среди за разработка.
Инсталация на Visual Studio Code и PlatformIO
Преди да инсталираме средите, трябва да ги свалим. Нека започнем с VS Code. Средата може да бъде свален от тук. След като я свалим, нека да я инсталираме. За нормална Windows инсталация трябва да изберем Windows

Нека кликнем на линка, да свалим приложението и да пуснем инсталационния файл:
След като го инсталираме и натиснем “Finish”, средата ще се стартира и ще се отвори. Ето така изглежда тя.

Сега семе готови с инсталацията на VS Code, некада продължим с PlatformIO.
PlatformIO можем да изтеглим, като отворим Extensions таба на VS Code, потърсим „PlatformIO“ и го инсталираме.

След като кликнем на Install, ще водим прогреса на инсталацията.

Инсталацията трае няколко минути и след това трябва да рестартираме интегрираната среда за програмиране.

След като направим това, ще видим, че инсталацията е била успешна и можем да ползваме PlatformIO. Тя може да се пусне с иконата в ляво на менюто под Extensions или от иконата с къщичката на най-долното меню.

Инсталация на Python
За да програмирате ESP8266 борда с PlatformIO IDE, трябва да имате инсталиран Python 3.5 или по-нова версия. За този пример ще използваме Python 3.12.3. Нека отидем тук и да изтеглим Python 3.12.3 или най-новата версия.

След като се свали, нека стартираме инсталацията и инсталираме приложението. Важно при инсталацията е да изберем опциите „Add python.exe to PATH “ и „Use admin privileges when installing py.exe“, както и да се съгласим с Windows да инсталира Python с администраторски права.
След като приключим с инсталацията, можем да тестваме дали Python e инсталиран. За да направим това, трябва да отворим командната конзола на Windows.
Това можем да направим като отворим старт менюто на Windows и напишем cmd.

И след това в нея напишем
>python –V

Ако видим правилната версия, значи Python е инсталиран.
Какво е ESP8266
ESP8266 е малък, нискомощен микроконтролер, който е изключително популярен в областта на интернет на нещата (IoT). Той интегрира Wi-Fi възможности и мощен микроконтролер, като по този начин позволява на устройства като микроконтролери, микрокомпютри, сензори и други електронни устройства да комуникират безжично с интернет. ESP8266 е разработен от китайската компания Espressif Systems и се отличава с ниската си цена, ниска консумация на енергия и леснота на употреба. Този модул е много полезен за проекти, които изискват интернет връзка, като например умни домове, мониторинг и управление на сензори, IoT устройства за събиране на данни и други подобни.
На тази страница може да се намери подробно описание на борда. Също така подробно описание на самия чип може да се намери на страницата на производителя, която е тук.
Но да напишем малко код.
Програмиране ESP8266 с PlatformIO
Нека създадем нов проект в PlatformIO. Това можем да направим, като изберем таба за PlatformIO от ляво, след това изберем „Create New Project“ и след това „New Project“.

След като изберем „New Project“, може да конфигурираме проекта така:

И да натиснем “Finish”
Зъздаването на проекта трае няколко минути. След като се създаде, може да видим файловата структора на проекта. В нея има доста файлове, но само някой от тях ще ни трябва. Основният файл за проектаа е „platformio.ini“. Той съдържа информация за проекта и настройките на борда, който използваме. Друга важна част от проекта е файла „main.cpp“, който е в папката src. В него трябва да напишем кода, който искаме да пуснем на микрочипа.

Ако искаме да дефинираме скорост на предаване към серийния монитор, просто трябва да добавим следния ред във файла platformio.ini.
monitor_speed = 115200 ето така.

Нека сега да добавим следният код в файла, за когото говорехме по-нагоре „main.cpp“. Той е взет от тази страница.
/*********
Rui Santos
Complete project details at https://RandomNerdTutorials.com/vs-code-platformio-ide-esp32-esp8266-arduino/
*********/
#include <Arduino.h>
#define LED 2
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(LED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED, HIGH);
Serial.println("LED is on");
delay(1000);
digitalWrite(LED, LOW);
Serial.println("LED is off");
delay(1000);
}
Кода кара лед-а на платката да мига на интервал от 1 секунда. Ето така изглежда кода в интегрираната среда.

За да изпълним кода на ESP8266 борда, трябва да го качим на него. Това можем да направим от менюто Project Tasks->General->Upload или от бутона стрелка в долният край на средата за програмиране.

След като изберем един от двата начина (бутона стрелка или менюто Upload), в прозореца долу в ляво ще видим че кода е качен на ESP8266 чипа и е изпълнен. Можем да погледнем платката и да видим, че лед-а й мига на равни интервали от 1 секунда. Това можем да видим и от серийният монитор като го пуснем от бутона долу на дъното на програмата, приличащ на щепсел.

Доста добро описание на графичния интерфейс на VS Code можем да намерим на официалната страница тук. Там можем да открием какви функции имат менютата, различните бутони и изгледи на интегрираната среда за програмиране. За повече информация за функциите на PlatformIO можем да посетим тяхната страница тук. В нея можем да намерим описание на различните бутони и функции на интерфейса, както и начини за профилиране и анализ на ресурсите на борда.
Заключение
В тази статия видяхме как да програмираме ESP8266 борд, като използваме алтернативната на Arduino IDE, PlatformIO интегрирана среда за програмиране. PlatformIO може да бъде използван за други микропроцесори като напримерно ESP32 и други. Тя е лека и предлага доста функционалности като е Debugger и доста по-интуитивен потребителски интерфейс. PlatformIO е една доста добра алтернатива на Arduino IDE и дори в някои отношения по-добра.
Весело програмиране!
Hey people!!!!!
Good mood and good luck to everyone!!!!!