PlatformIO

De Wiki d'en Jordi Binefa
La revisió el 17:25, 7 maig 2019 per Jordi (discussió | contribucions)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Dreceres ràpides: navegació, cerca

Instal·lació

Debian 9

assegureu-vos que teniu instal·lat, com a mínim, la versió 2.7 de Python. Al moment de fer aquesta entrada (6 de maig de 2019), PlatformIO no funciona emprant Python3, ha d'estar instal·lat el Python2

Des del terminal:

curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/scripts/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-  udev.rules
sudo service udev restart
sudo usermod -a -G dialout $USER
sudo usermod -a -G plugdev $USER
pip install -U platformio

Genereu els directoris per a allotjar PlaformIO:

cd ~
mkdir .platformio
cd .platformio/
mkdir penv
cd ~/.platformio/penv
python -c "import os; print os.path.join(os.getenv('PLATFORMIO_HOME_DIR', os.path.join(os.path.expanduser('~'), '.platformio')), 'penv')"
cd ~/.platformio/penv

Per a fer l'execució sobre un entorn virtual:

apt-get install python-virtualenv
pip install virtualenv

Per a entrar a l'entorn virtual (directori base: ~/.platformio/penv):

. ~/.platformio/penv/bin/activate

Genereu el directori de treball:

mkdir nomPrj
cd nomPrj

Instal·leu-ho des del pip:

pip install -U platformio

Per a visualitzar el maquinari compatible per a enregistrar el microprogramari (firmware) des del PlatformIO:

platformio boards esp32
platformio boards esp8266
platformio boards nano

Per a veure els ports físics visibles per PlatformIO:

python -m serial.tools.list_ports

Genereu l'estructura de carpetes. En aquest exemple s'escullen tres arquitectures nanoatmega328 (Arduino Nano), nodemcuv2 (ESP8266) in esp32doit-devkit-v1 per a l'ESP32:

platformio init --board nanoatmega328 --board nodemcuv2 --board esp32doit-devkit-v1

Heu d'afegir a platformio.ini que ho connectareu a /dev/ttyUSB0 i si la velocitat és diferent a 9600 bauds pel monitor sèrie també ho heu d'especificar:

nano platformio.ini

i afegiu upload_port = /dev/ttyUSB0 al final de cada entorn:

[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
framework = arduino
upload_port = /dev/ttyUSB0
monitor_speed = 115200
[env:nodemcuv2]
platform = espressif8266
board = nodemcuv2
framework = arduino
upload_port = /dev/ttyUSB0
monitor_speed = 115200
[env:esp32doit-devkit-v1]
platform = espressif32
board = esp32doit-devkit-v1
framework = arduino
upload_port = /dev/ttyUSB0
monitor_speed = 115200

A la carpeta lib copieu les biblioteques necessàries per al projecte. A la carpeta src copieu el codi amb extensió .ino i el reanomeneu per main.cpp. Al main.cpp afegiu #include <Arduino.h> a l'inici de l'arxiu i declareu els prototipus de les funcions emprades al principi de l'arxiu.

Un cop preparat, aneu al directori pare d'src i lib. Connecteu l'ESP32 al port USB (/dev/ttyUSB0) i per a compilar-ho, i pujar-ho, executeu:

platformio run -e esp32doit-devkit-v1 -t upload

Altres Sistemes Operatius

Lloc web oficial d'instal·lació de PlatformIO