Hendrik Langer
5 years ago
5 changed files with 144 additions and 88 deletions
After Width: | Height: | Size: 392 KiB |
@ -0,0 +1 @@ |
|||||
|
index.en.md |
@ -0,0 +1,143 @@ |
|||||
|
--- |
||||
|
title: ESP32 PlatformIO |
||||
|
description: Microcontroller development project setup / template |
||||
|
date: 2020-05-03 |
||||
|
tags: ["esp32", "project", "platformio", "microcontroller", "programming"] |
||||
|
categories: ["tutorial"] |
||||
|
author: hendrik |
||||
|
license: WTFPL |
||||
|
--- |
||||
|
|
||||
|
![ESP32 Lora Board](esp-lora-board.jpg) |
||||
|
|
||||
|
## Install PlatformIO |
||||
|
|
||||
|
```shell |
||||
|
apt install platformio |
||||
|
platformio platform update |
||||
|
``` |
||||
|
|
||||
|
## Project setup |
||||
|
|
||||
|
Choose your development board from the list. You can see all supported boards with the command: `platformio boards espressif32` |
||||
|
|
||||
|
Now create your new project: |
||||
|
|
||||
|
```shell |
||||
|
cd ~/Projects/esp32/ |
||||
|
mkdir new_project |
||||
|
cd new_project |
||||
|
platformio project init --board esp-wrover-kit |
||||
|
``` |
||||
|
|
||||
|
## Configuration |
||||
|
|
||||
|
#### platformio.ini: |
||||
|
```ini |
||||
|
[env:esp-wrover-kit] |
||||
|
platform = espressif32 |
||||
|
board = esp-wrover-kit |
||||
|
framework = arduino |
||||
|
monitor_speed = 115200 |
||||
|
|
||||
|
#build_flags = |
||||
|
# -DBOARD_HAS_PSRAM |
||||
|
# -mfix-esp32-psram-cache-issue |
||||
|
# -DCONFIG_SPIRAM_CACHE_WORKAROUND |
||||
|
# -DCORE_DEBUG_LEVEL=5 |
||||
|
# |
||||
|
#board_build.partitions = huge_app.csv |
||||
|
# |
||||
|
#lib_deps = |
||||
|
# TFT_eSPI |
||||
|
``` |
||||
|
|
||||
|
## Code |
||||
|
|
||||
|
#### src/main.cpp: |
||||
|
```c++ |
||||
|
/** |
||||
|
* Blink |
||||
|
* |
||||
|
* Turns on an LED on for one second, |
||||
|
* then off for one second, repeatedly. |
||||
|
*/ |
||||
|
#include "Arduino.h" |
||||
|
|
||||
|
#ifndef LED_BUILTIN |
||||
|
#define LED_BUILTIN 13 |
||||
|
#endif |
||||
|
|
||||
|
void setup() |
||||
|
{ |
||||
|
// initialize LED digital pin as an output. |
||||
|
pinMode(LED_BUILTIN, OUTPUT); |
||||
|
} |
||||
|
|
||||
|
void loop() |
||||
|
{ |
||||
|
// turn the LED on (HIGH is the voltage level) |
||||
|
digitalWrite(LED_BUILTIN, HIGH); |
||||
|
|
||||
|
// wait for a second |
||||
|
delay(1000); |
||||
|
|
||||
|
// turn the LED off by making the voltage LOW |
||||
|
digitalWrite(LED_BUILTIN, LOW); |
||||
|
|
||||
|
// wait for a second |
||||
|
delay(1000); |
||||
|
} |
||||
|
``` |
||||
|
|
||||
|
now compile and upload your program |
||||
|
|
||||
|
```shell |
||||
|
platformio run |
||||
|
platformio run --target upload |
||||
|
platformio device monitor |
||||
|
``` |
||||
|
|
||||
|
## SPIFFS |
||||
|
create folder `data/` |
||||
|
|
||||
|
```shell |
||||
|
platformio run --target uploadfs |
||||
|
``` |
||||
|
|
||||
|
## Git |
||||
|
|
||||
|
#### .gitignore: |
||||
|
``` |
||||
|
.pio |
||||
|
``` |
||||
|
|
||||
|
and push to your project on github or gitlab: |
||||
|
|
||||
|
```shell |
||||
|
touch README.md |
||||
|
git init |
||||
|
git commit -m "first commit" |
||||
|
git remote add origin https://gitlab.com/username/new_project.git |
||||
|
git push -u origin master |
||||
|
``` |
||||
|
|
||||
|
## License |
||||
|
|
||||
|
#### LICENSE: |
||||
|
``` |
||||
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
||||
|
|
||||
|
Version 2, December 2004 |
||||
|
|
||||
|
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> |
||||
|
|
||||
|
Everyone is permitted to copy and distribute verbatim or modified copies of |
||||
|
this license document, and changing it is allowed as long as the name is changed. |
||||
|
|
||||
|
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
||||
|
|
||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
||||
|
|
||||
|
0. You just DO WHAT THE FUCK YOU WANT TO. |
||||
|
``` |
@ -1 +0,0 @@ |
|||||
platformio.en.md |
|
@ -1,87 +0,0 @@ |
|||||
--- |
|
||||
title: ESP32 PlatformIO |
|
||||
description: ESP32 project setup |
|
||||
date: 2020-04-23 |
|
||||
tags: ["esp32", "project"] |
|
||||
categories: ["tutorial"] |
|
||||
author: hendrik |
|
||||
draft: true |
|
||||
--- |
|
||||
|
|
||||
## Install PlatformIO |
|
||||
|
|
||||
``` |
|
||||
apt install platformio |
|
||||
platformio platform update |
|
||||
``` |
|
||||
|
|
||||
## Project setup |
|
||||
|
|
||||
Choose your development board from the list. You can see all supported boards with the command `platformio boards espressif32` |
|
||||
|
|
||||
Now create your new project: |
|
||||
|
|
||||
``` |
|
||||
cd ~/Projects/esp32/ |
|
||||
mkdir new_project |
|
||||
cd new_project |
|
||||
platformio project init --board esp-wrover-kit |
|
||||
``` |
|
||||
|
|
||||
configuration: |
|
||||
|
|
||||
platformio.ini: |
|
||||
``` |
|
||||
[env:esp-wrover-kit] |
|
||||
platform = espressif32 |
|
||||
board = esp-wrover-kit |
|
||||
framework = arduino |
|
||||
monitor_speed = 115200 |
|
||||
``` |
|
||||
|
|
||||
create the main: |
|
||||
|
|
||||
src/main.cpp: |
|
||||
``` |
|
||||
/** |
|
||||
* Blink |
|
||||
* |
|
||||
* Turns on an LED on for one second, |
|
||||
* then off for one second, repeatedly. |
|
||||
*/ |
|
||||
#include "Arduino.h" |
|
||||
|
|
||||
#ifndef LED_BUILTIN |
|
||||
#define LED_BUILTIN 13 |
|
||||
#endif |
|
||||
|
|
||||
void setup() |
|
||||
{ |
|
||||
// initialize LED digital pin as an output. |
|
||||
pinMode(LED_BUILTIN, OUTPUT); |
|
||||
} |
|
||||
|
|
||||
void loop() |
|
||||
{ |
|
||||
// turn the LED on (HIGH is the voltage level) |
|
||||
digitalWrite(LED_BUILTIN, HIGH); |
|
||||
|
|
||||
// wait for a second |
|
||||
delay(1000); |
|
||||
|
|
||||
// turn the LED off by making the voltage LOW |
|
||||
digitalWrite(LED_BUILTIN, LOW); |
|
||||
|
|
||||
// wait for a second |
|
||||
delay(1000); |
|
||||
} |
|
||||
``` |
|
||||
|
|
||||
now compile and upload your program |
|
||||
|
|
||||
platformio run |
|
||||
platformio run --target upload |
|
||||
platformio device monitor |
|
||||
|
|
||||
## Git |
|
||||
git init |
|
Loading…
Reference in new issue