Newer
Older
# IMC Arduino Firmware
ESP32 firmware for the IMC, based on Arduino and the `ESP32-Ethernet-Kit_A_V1.2`.
This project depends on [`Arduino_SNMP`](https://github.com/patricklaf/SNMP).
### Quirks
Despite communication being over Ethernet, the project makes use of the ESP32 Wifi stack, hence some
references to Wifi here and there (eg. `WiFiUdp`).
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
### Installation
Either use the Arduino IDE and use its library manager to find the SNMP library, or use `arduino-cli`:
```bash
# Download arduino-cli
wget https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz
# Extract the downloaded archive
tar -xzf arduino-cli_latest_Linux_64bit.tar.gz
# Verify installation
arduino-cli config init
```
Then set up the required environment. Edit `~/.arduino15/arduino-cli.yaml` and add the following:
```bash
board_manager:
additional_urls:
- https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- http://arduino.esp8266.com/stable/package_esp8266com_index.json
```
Update the arduino index with:
```bash
arduino-cli core update-index
```
The required libraries are:
arduino-cli lib install ethernet
arduino-cli lib install SNMP
The project can be compiled so:
arduino-cli compile --fqbn esp32:esp32:esp32wroverkit icbm.ino -v
And uploaded so:
arduino-cli upload -p /dev/ttyUSB1 --fqbn esp32:esp32:esp32wroverkit .