|
@@ -1,13 +1,14 @@
|
|
# Arduino
|
|
# Arduino
|
|
|
|
|
|
-arduino-cli scripts# install instructions
|
|
|
|
-sudo dnf install python3-pyserial
|
|
|
|
-Add your <username> to dialout in /etc/group
|
|
|
|
-sudo chmod a+rw /dev/ttyUSB0
|
|
|
|
|
|
+* #sudo dnf install python3-pyserial
|
|
|
|
+* #sudo chmod a+rw /dev/ttyUSB0
|
|
|
|
+* #sudo usermod -a -G dialout <username>
|
|
|
|
|
|
-download the binary from arduino
|
|
|
|
-https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz
|
|
|
|
|
|
+* download the binary from arduino
|
|
|
|
+ * https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz
|
|
|
|
+ * Put the binary in your path (~/.local/bin)
|
|
|
|
|
|
|
|
+```
|
|
arduino-cli config init
|
|
arduino-cli config init
|
|
arduino-cli config set board_manager.additional_urls "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json"
|
|
arduino-cli config set board_manager.additional_urls "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json"
|
|
arduino-cli config set library.enable_unsafe_install true
|
|
arduino-cli config set library.enable_unsafe_install true
|
|
@@ -15,18 +16,20 @@ arduino-cli config set library.enable_unsafe_install true
|
|
arduino-cli core update-index
|
|
arduino-cli core update-index
|
|
arduino-cli core install esp32:esp32
|
|
arduino-cli core install esp32:esp32
|
|
|
|
|
|
-
|
|
|
|
-arduino-cli lib install "ESP8266 Influxdb"
|
|
|
|
-arduino-cli lib install "PID"
|
|
|
|
-arduino-cli lib install "Adafruit BME280 Library"
|
|
|
|
-arduino-cli lib install "DallasTemperature"
|
|
|
|
-arduino-cli lib install "HX711 Arduino Library"
|
|
|
|
-
|
|
|
|
|
|
+# Optional libraries
|
|
|
|
+arduino-cli lib install "ESP8266 Influxdb" # send tcp data packets to influx/grafana
|
|
|
|
+arduino-cli lib install "PID" # Reference PID controller for arduino
|
|
|
|
+arduino-cli lib install "Adafruit BME280 Library" # Temp/Press/Humidity sensor
|
|
|
|
+arduino-cli lib install "DallasTemperature" # Temperature sensor
|
|
|
|
+arduino-cli lib install "HX711 Arduino Library" # Load cell library to make scales
|
|
|
|
+```
|
|
|
|
|
|
## To make a new project
|
|
## To make a new project
|
|
-Arduino is a bit bojank. to set up the directories correctly use:
|
|
|
|
-
|
|
|
|
-arduino-cli sketch new blink
|
|
|
|
|
|
+Arduino is a bit bojank. The directory structure is tied to the .arduino directory created with the config created above. The files must be stored with the following names:
|
|
|
|
+* project name `sketch-name`
|
|
|
|
+* path must be `~/Arduino/sketch-name/sketch-name.ino`
|
|
|
|
+* main script must be named `sketch-name.ino`
|
|
|
|
+This directory structure is required for `compile` and `upload` below. To set up the directories automatically use `arduino-cli sketch new blink`
|
|
|
|
|
|
``` ~/Ardruino/blink/blink.ino
|
|
``` ~/Ardruino/blink/blink.ino
|
|
const int LED_BUILTIN = 2;
|
|
const int LED_BUILTIN = 2;
|
|
@@ -41,6 +44,15 @@ void loop() {
|
|
}
|
|
}
|
|
```
|
|
```
|
|
|
|
|
|
|
|
+## Complile the project
|
|
|
|
+
|
|
|
|
+```
|
|
arduino-cli compile -b esp32:esp32:esp32 ~/Arduino/blink
|
|
arduino-cli compile -b esp32:esp32:esp32 ~/Arduino/blink
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+## Upload to the device
|
|
|
|
|
|
|
|
+```
|
|
arduino-cli upload -p /dev/ttyUSB0 -b esp32:esp32:esp32 ~/Arduino/blink
|
|
arduino-cli upload -p /dev/ttyUSB0 -b esp32:esp32:esp32 ~/Arduino/blink
|
|
|
|
+```
|
|
|
|
+
|