parent
0349249527
commit
74639700a6
@ -0,0 +1,43 @@
|
||||
LIBS := EspSoftwareSerial AsyncTCP_SSL TinyGPSPlus-ESP32 HardwareSerial_RS485
|
||||
DEFAULT_PORT := /dev/ttyUSB0
|
||||
BAUD_RATE := 9600
|
||||
SUCCESS_MSG := "SUCCESS!"
|
||||
LIBRARIES_DIR := ${HOME}/Arduino/libraries
|
||||
AC := arduino-cli
|
||||
AC_FLAGS := --libraries "${LIBRARIES_DIR}"
|
||||
ESP32_BOARD_CAT := esp32:esp32
|
||||
ESP32_BOARD_ID := esp32:esp32:esp32doit-devkit-v1
|
||||
CONFIG_FILE := config.yaml
|
||||
|
||||
# attempt to compile program
|
||||
default:
|
||||
$(AC) compile --clean --fqbn ${ESP32_BOARD_ID} ${AC_FLAGS} .
|
||||
echo ${SUCCESS_MSG}
|
||||
|
||||
new-serial:
|
||||
echo "You may leave the serial view at any time with the key combo control+b, then press d"
|
||||
sleep 5
|
||||
tmux new -ds _serial; tmux send-keys -t _serial '# you may exit any time with control+d, then x' Enter 'screen ${DEFAULT_PORT} ${BAUD_RATE}' Enter
|
||||
tmux a -t _serial
|
||||
|
||||
join-serial:
|
||||
tmux a -t _serial
|
||||
|
||||
kill-serial:
|
||||
tmux send-keys -t _serial C-a
|
||||
tmux send-keys -t _serial k
|
||||
tmux send-keys -t _serial y
|
||||
tmux send-keys -t _serial exit Enter
|
||||
|
||||
# upload files to the specified port
|
||||
upload:
|
||||
$(AC) compile --clean --fqbn ${ESP32_BOARD_ID} ${AC_FLAGS} --port ${DEFAULT_PORT} --upload .
|
||||
echo ${SUCCESS_MSG}
|
||||
|
||||
# install all dependencies needed for the project
|
||||
install-deps:
|
||||
$(AC) core update-index --config-file ${CONFIG_FILE}
|
||||
$(AC) core install $(ESP32_BOARD_CAT)
|
||||
$(AC) lib install ${LIBS}
|
||||
cd ${LIBRARIES_DIR}/ && wget https://github.com/me-no-dev/AsyncTCP/archive/refs/heads/master.zip && unzip master.zip
|
||||
echo ${SUCCESS_MSG}
|
@ -0,0 +1,35 @@
|
||||
# ESP32 Code
|
||||
|
||||
If you would like to edit the code, feel free to edit `esp32.c`
|
||||
Feel free to change any options in the Makefile to help it work for your system.
|
||||
For example, where the Arduino libraries are held, the connecting baud rate, etc.
|
||||
Should work by default in most distributions.
|
||||
|
||||
## Installing Dependencies
|
||||
|
||||
To install the dependencies for the board, use the `make install-deps` command.
|
||||
|
||||
You will also need to manually install the following packages/libraries:
|
||||
|
||||
* `pyserial`, a Python library
|
||||
* `pip install pyserial`
|
||||
* `tmux` and `screen` for serial viewing
|
||||
* `apt install tmux screen`
|
||||
* `pacman -S tmux screen`
|
||||
* etc.
|
||||
* `arduino-cli` from your package manager
|
||||
|
||||
## Compiling The Code
|
||||
|
||||
To compile the source file, run the following command: `make`
|
||||
|
||||
## Upload the code
|
||||
|
||||
If you would like to upload the code to a connected device, use the `make upload` command.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you recieve an error about the `serial` package is not found, use the following command to install Python's serialization library:
|
||||
|
||||
```bash
|
||||
$ pip install pyserial
|
@ -0,0 +1,4 @@
|
||||
board_manager:
|
||||
additional_urls:
|
||||
- https://dl.espressif.com/dl/package_esp32_index.json
|
||||
|
@ -0,0 +1,58 @@
|
||||
#include <Arduino.h>
|
||||
#include <types.h>
|
||||
#include <TinyGPS++.h> // the TinyGPS++ librarie
|
||||
//#include <HardwareSerial.h> // to convert serial from the GPS into something TinyGPS can understand
|
||||
#include <WiFi.h> // from the ESP32 plugin
|
||||
#include <AsyncTCP.h> // for basic TCP t/rx
|
||||
#include <ESPAsyncWebServer.h> // for web server impl.
|
||||
//#include <SoftwareSerial.h> // to send data back over USB
|
||||
|
||||
#define GPS_TX_PIN 1
|
||||
#define GPS_RX_PIN 3
|
||||
|
||||
const char* SSID = "Bytetools Technologies Inc.";
|
||||
const char* PASS = "Fuck commies #69420!";
|
||||
|
||||
AsyncWebServer server(80);
|
||||
TinyGPSPlus gps;
|
||||
//HardwareSerial SerialGPS(1);
|
||||
|
||||
// Load variables into globals
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
//SerialGPS.begin(9600, SERIAL_8N1, GPS_RX_PIN, GPS_TX_PIN);
|
||||
WiFi.begin(SSID, PASS);
|
||||
Serial.print("Connecting to wifi");
|
||||
Serial.print(".");
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(1000);
|
||||
Serial.print(".");
|
||||
}
|
||||
Serial.println(WiFi.localIP());
|
||||
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
|
||||
request->send(200, "text/plain", "HELO");
|
||||
});
|
||||
server.begin();
|
||||
}
|
||||
|
||||
// loop forever
|
||||
void loop() {
|
||||
/*
|
||||
//while (SerialGPS.available() > 0) {
|
||||
//gps.encode(SerialGPS.read());
|
||||
if (gps.location.isUpdated()) {
|
||||
Serial.println("HELLO");
|
||||
Serial.print("LAT=");
|
||||
Serial.println(gps.location.lat());
|
||||
Serial.print("LON=");
|
||||
Serial.println(gps.location.lng());
|
||||
Serial.print("ALT=");
|
||||
Serial.println(gps.altitude.meters());
|
||||
} else {
|
||||
Serial.println("INVALID LOCATION");
|
||||
}
|
||||
//}
|
||||
*/
|
||||
//Serial.println("Nothing in buffer.");
|
||||
//delay(1000);
|
||||
}
|
Loading…
Reference in new issue