- Co to jest PlatformIO?
- Konfiguracja PlatformIO dla Arduino Uno
- Programowanie Arduino UNO za pomocą PlatformIO IDE
- Programowanie płytki STM32 za pomocą PlatformIO IDE
Tworzenie w Arduino i Arduino IDE zawsze było łatwe i przyjemne dzięki prostemu interfejsowi użytkownika. Arduino IDE jest oprogramowaniem typu open source i darmowym środowiskiem programistycznym ze wszystkimi funkcjami, takimi jak pisanie, kompilowanie i przesyłanie kodu do tablic Arduino. Jest oparty na Javie i działa na głównych systemach operacyjnych, takich jak Windows, OS X i Linux. Ale przy całej swojej prostocie i dużej społeczności nie ma niektórych funkcji, których doświadczony programista będzie potrzebował do szybkiego rozwoju, co może skrócić okres programowania. Istnieje wiele środowisk programistycznych dostępnych dla Arduino, ale wszystkie mają pewne zalety i wady. Dzisiaj zaczniemy od środowiska programistycznego PlatformIO, które jest łatwe w użyciu i ma dodatkowe funkcje w porównaniu do środowiska Arduino.
Co to jest PlatformIO?
PlatformIO to oparty na Pythonie ekosystem open source do tworzenia IoT i wieloplatformowe IDE z ujednoliconym debugerem działającym w systemach Windows, Mac i Linux. PlatformIO jest wyposażony w menedżera bibliotek dla platform takich jak Arduino lub MBED, a także testy jednostkowe i aktualizacje oprogramowania układowego. PlatformIO obsługuje wiele platform, frameworków, płyt, takich jak Arduino, ESP32, ESP8266 i zawiera wiele przykładów i bibliotek. Jest niezależny od platformy, na której jest uruchomiony, i wymaga jedynie Pythona zainstalowanego na komputerze.
Zalety PlatformIO
PlatformIO charakteryzuje się szybkim rozwojem dzięki funkcjom takim jak C / C ++ Code Completion i Smart Code Linter do szybkiego rozwoju zawodowego, którego nie ma w Arduino IDE. Oprócz tego PlatformIO oferuje wsparcie motywu z ciemnymi i jasnymi kolorami do rozwoju w dowolnym momencie. Jest również wyposażony w inteligentną nawigację po kodzie i formatowanie kodu. Podstawowe funkcje obejmują wieloplatformowy system kompilacji, menedżer bibliotek, monitor portu szeregowego itp.
Unified Debugger ze wsparciem dla wielu architektur i platform programistycznych pozwala na debugowanie wielu wbudowanych płyt z Zero Configuration. PlatformIO Unified Debugger ma takie funkcje, jak warunkowe punkty przerwania, wyrażenia i punkty obserwacyjne, przeglądarka pamięci, gorący restart aktywnej sesji debugowania. PlatformIO Core jest napisane w Pythonie 2.7 i działa na Windows, macOS, Linux, FreeBSD, a nawet na komputerach o rozmiarze karty kredytowej ARM, takich jak Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, itp. Oprócz tego PlatformIO ma Eksplorator plików, który pomaga organizowanie plików, gdy projekt osiągnie określony poziom i organizacja staje się konieczna.
Konfiguracja PlatformIO dla Arduino Uno
Korzystanie z PlatformIO jest bardzo proste i wymaga kilku kroków, aby rozpocząć. PlatformIO wymaga Pythona zainstalowanego na komputerze, ponieważ jak wyjaśniono powyżej, rdzeń PlatformIO został napisany w Pythonie 2.7. Zauważ, że PlatformIO nie obsługuje Pythona 3, więc zaleca się zainstalowanie wersji Python 2, a następnie przystąpienie do konfiguracji PlatformIO IDE. PlatformIO to IDE, a ponadto zapewnia oficjalne pakiety (wtyczki, rozszerzenia) dla najpopularniejszych IDE i edytorów tekstu.
Dzisiaj zainstalujemy PlatformIO w takim edytorze tekstu jak Atom i Visual Studio Code. W oficjalnej dokumentacji Platform IDE stwierdza się, że PlatformIO IDE for VS Code (Visual Studio Code) oferuje lepszą wydajność systemu, a użytkownikom łatwiej jest zacząć. Więc skonfigurujemy PlatformIO w Visual Studio Code. VS Code to dobrze znany edytor tekstu z wieloma rozszerzeniami, które pozwalają nam rozwijać się w różnych językach programowania.
Zacznijmy konfigurować PlatformIO, aby rozpocząć tworzenie kodu w Arduino UNO. Wymagane są kroki, które wyjaśniono poniżej:
- Najpierw zainstaluj Visual Studio Code z jego oficjalnej strony internetowej. Kroki instalacji programu Visual Studio Code nie zostaną tutaj wyjaśnione, ale można je znaleźć w witrynie VS Code. Wymagane są ogólne kroki, takie jak instalacja każdego innego oprogramowania w systemie operacyjnym Windows.
- Po pomyślnym zainstalowaniu Visual Studio Code będzie wyglądać następująco.
- Następny krok obejmuje instalację PlatformIO przy użyciu rozszerzeń kodu VS. W tym celu musisz przejść do ikony rozszerzeń w lewym górnym rogu kodu VS. W lewym górnym rogu znajduje się kwadratowa ikona pudełka, która jest piątą ikoną. Po prostu kliknij to, a obok tego pojawi się jedno pole wyszukiwania, w którym możesz znaleźć wiele rozszerzeń dla różnych języków programowania, takich jak C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript i Node.js itp.
- Wyszukaj „PlatformIO” w polu wyszukiwania rozszerzenia, a zobaczysz ikonę PlatformIO z nazwą i opisem. Po prostu kliknij i zainstaluj. Instalowanie łańcuchów narzędzi i innych zależności może zająć trochę czasu. Zależności obejmują środowisko C / C ++, ponieważ programowanie Arduino odbywa się głównie w C / C ++.
- Po zakończeniu instalacji zobaczysz następujący interfejs. Interfejs zawiera całą niezbędną nawigację, taką jak tworzenie nowego projektu, import projektu Arduino, otwieranie projektu, przykłady projektów itp. Zaleca się ponowne uruchomienie VS Code Editor po instalacji PlatformIO.
To kończy etapy instalacji PlatformIO. Teraz PlatformIO jest zainstalowane i gotowe do użycia. Podobnie jak Arduino IDE, zaczniemy od Blink Program i spróbujemy wgrać Blink Program do Arduino UNO.
Programowanie Arduino UNO za pomocą PlatformIO IDE
Interfejs PlatformIO zostanie wyjaśniony jednocześnie podczas programowania Arduino UNO. Tutaj programujemy Arduino do migania diody za pomocą PlatformIO. To samo można zrobić za pomocą Arduino IDE. Wykonaj poniższe czynności, aby utworzyć nowy projekt dla migającej diody LED.
- Wybierz zakładkę „Nowy projekt” z menu szybkiego dostępu.
- Nazwij projekt (tutaj jest to „Blink”). Wyszukaj i wybierz płytkę, którą jest Arduino UNO. Ponieważ pracujemy we frameworku Arduino, wybraną ramą będzie Arduino. Po wypełnieniu wszystkich szczegółów kliknij Zakończ.
- Projekt zacznie być tworzony poprzez zbieranie zasobów i innych zależności.
- Gdy projekt zostanie pomyślnie utworzony, pojawi się komunikat „Projekt został pomyślnie zainicjowany” ze wszystkimi wypełnionymi danymi.
- Aby otworzyć utworzony projekt, po prostu przewiń w dół Menu główne PlatformIO, a zobaczysz całą listę projektów utworzonych od początku. W prawym rogu utworzonego projektu kliknij „Otwórz”, aby otworzyć projekt i rozpocząć edycję.
- Po otwarciu projektu początkowo będzie wyglądał jak ukryty, ale nie martw się, PlatformIO ma funkcję eksploratora plików, w której zostaną znalezione wszystkie pliki bieżącego projektu. Po prostu przejdź do lewego górnego rogu i otwórz „Bez tytułu (miejsce pracy)”. Po kliknięciu wszystkie pliki pojawią się w menu rozwijanym. Aby znaleźć edytor tekstu do edycji „kodu”, wybierz „src” i otwórz „main.cpp”. Tryb edytora tekstu pojawi się na ekranie głównym wraz z otwarciem nowej karty. Tutaj możesz napisać wszystkie kody bieżącego trwającego projektu.
- Po prostu napisz Blink Code dla Arduino UNO. Zauważ, że PlatformIO nie ma domyślnego dostępu do bibliotek Arduino, więc za każdym razem, gdy piszesz kod dla Arduino, zawsze dołączaj bibliotekę Arduino, tj. „#Include” na początku programu.
- Następnym krokiem byłoby skompilowanie i przesłanie kodu. W tym celu przyjrzyjmy się funkcjom udostępnianym przez PlatformIO. Również PlatformIO domyślnie wybiera port COM. Ale możesz także zmienić port, jeśli nie jest to żądany port COM. Zmiana portu COM zostanie wyjaśniona w dalszej części tego samouczka. PlatformIO ma funkcje takie jak kompilacja, przesyłanie, przesyłanie do urządzenia zdalnego, czyszczenie, testowanie, uruchamianie zadania, monitor szeregowy, nowy terminal. Wszystkie funkcje można znaleźć w lewym dolnym rogu Edytora. Gdy najedziesz kursorem na ikony, zostaną wyświetlone funkcje.
- Aby zbudować szkic, kliknij „Zbuduj” i aby przesłać szkic, kliknij ikonę „Prześlij”. Po zakończeniu przesyłania zobaczysz czas potrzebny na przesłanie wraz ze wszystkimi innymi szczegółami i komunikatem „Sukces”. Kod został pomyślnie przesłany i będzie można zobaczyć miganie diody LED na płytce Arduino.
Aby wybrać lub zmienić dowolny port COM, po prostu przejdź do ekranu głównego PlatformIO, a następnie przejdź do urządzeń, tutaj możesz zobaczyć wszystkie dostępne podłączone urządzenia. Wybierz odpowiedni port COM i wykonaj tę samą procedurę, aby przesłać szkic.
Programowanie płytki STM32 za pomocą PlatformIO IDE
Programowanie płytki STM32 będzie przebiegać dokładnie tak samo, jak opisane powyżej programowanie Arduino UNO. Różnica będzie polegała na wyborze płyty dla STM32 podczas otwierania nowego projektu dla STM32. Zaletą PlatformIO jest to, że nie wymaga on żadnego zewnętrznego pakietu dla każdej tablicy do pobrania osobno, automatycznie pobiera wszystkie pakiety i ułatwia nam wybór tablicy i przejście do edytora. Użyjemy zewnętrznego JLink / JTAG / STLink / Serial Programmer do przesłania szkicu do STM32. STM32 można również programować za pomocą Arduino IDE. Wykonaj następujące kroki, aby zaprogramować go za pomocą PlatformIO.
- Po prostu nazwij projekt (tutaj jest to „Blink STM32”). Następnie wybierz kartę dla STM32, czyli „ BluePill F103C8 (Generic) ”. Następnie wybierz Framework jako Arduino. Kliknij Zakończ i poczekaj chwilę, ponieważ początkowo pobranie pakietów i zależności dla płyty STM32 zajmie trochę czasu.
- Po skonfigurowaniu następny czas tworzenia projektu będzie mniejszy niż pierwszy. Teraz po prostu przejdź do Untitled (Workspace) -> src -> main.cpp w lewym eksploratorze plików.
- Teraz kolejne kroki będą ważne, gdyż należy zdecydować, jakiego programatora użyć do programowania płytki STM32. Dostępnych jest wielu programistów, takich jak JTAG, STLink, JLink, Serial itp. Wszystkie będą działać, ale musisz skonfigurować stronę lub plik konfiguracyjny „platformio.ini”.
- W tym projekcie używamy programatora szeregowego CP210x USB do UART Bridge. Zrobiliśmy już programowanie płytki STM32F103C8 za pomocą portu USB, o większość kroków zostanie podjęta tylko z tego miejsca. Możesz odwiedzić link i dowiedzieć się więcej na ten temat.
- Po pierwsze, podłącz programator szeregowy do płyty STM32 z następującym mapowaniem pinów i podłącz go do komputera.
Programator USB na szeregowy |
Płyta STM32 |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Teraz przejdź do eksploratora projektów i otwórz stronę „platformio.ini” i zmień instrukcję, jak pokazano na rysunku. Upload_protocol powie to, co programista powinien użyć (STLink, JLink, Serial etc). Upload_port wybiera port COM. Możesz znaleźć, przechodząc do „Urządzenia” na stronie głównej. Zmień port COM zgodnie z portem COM.
- Przejdź do „main.cpp” i zmień program na program Blink . Teraz po prostu prześlij program, a wyświetli się komunikat o powodzeniu i czas przesyłania. Teraz dioda LED zacznie migać podłączona do pinu PC13 płyty STM32.
To kończy pełny samouczek dotyczący programowania Arduino UNO, a także płytki STM32 przy użyciu PlatformIO. Jeśli napotkasz jakiekolwiek trudności podczas wykonywania czynności, napisz na nasze forum lub skomentuj poniżej.