added OTA

This commit is contained in:
2021-10-24 14:06:59 +02:00
parent 62ce317dda
commit af26d5c071
11 changed files with 123 additions and 18 deletions

View File

@@ -18,3 +18,5 @@ lib_deps =
monitor_speed = 115200
lib_ldf_mode = deep+
extra_scripts = ./littlefsbuilder.py
upload_protocol = espota
upload_port = 192.168.2.254

View File

@@ -28,7 +28,7 @@ void handleGame(void)
if (hall_idle_count > HALLIDLESAMPLES)
{
hall_is_Idle = false;
hall_idle_count = 8;
hall_idle_count = HALLPLAYSAMPLES;
}
else
{
@@ -47,7 +47,7 @@ void handleGame(void)
hall_idle_count--;
}
}
debugD("HallSensor: val=%d, delta=%d, count=%d, idle=%s\n",
Serial.printf("HallSensor: val=%d, delta=%d, count=%d, idle=%s\n",
hall_sample,
hall_delta,
hall_idle_count,

View File

@@ -5,8 +5,9 @@
#include "SerialDebug.h"
#define HALLINTERVAL 100
#define HALLIDLETHRESHOLD 3
#define HALLIDLESAMPLES 3
#define HALLIDLETHRESHOLD 4
#define HALLIDLESAMPLES 4
#define HALLPLAYSAMPLES 8
void initGame(void);
void handleGame(void);

View File

@@ -6,6 +6,7 @@
#include "audio.h"
#include "rfid.h"
#include "config.h"
#include "ota.h"
#include "game.h"
@@ -18,8 +19,9 @@ void setup()
initStorage();
initConfig();
initOta();
initAudio();
//initRfid();
initRfid();
initGame();
@@ -30,7 +32,8 @@ void loop()
debugHandle();
handleAudio();
//handleRfid();
handleGame();
handleRfid();
//handleGame();
handlePower();
handleOta();
}

View File

@@ -0,0 +1,11 @@
#include "network.h"
void initNetwork(void)
{
}
void handleNetwork(void)
{
}

View File

@@ -0,0 +1,4 @@
#pragma once
void initNetwork(void);
void handleNetwork(void);

View File

@@ -0,0 +1,60 @@
#include "ota.h"
const char *ssid = SECRET_SSID;
const char *password = SECRET_PASS;
void initOta(void)
{
// pinMode(led, OUTPUT);
// Serial.begin(115200);
// Serial.println("Booting");
WiFi.mode(WIFI_STA);
WiFi.begin(SECRET_SSID, SECRET_PASS);
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
Serial.println("Connection Failed! Retry...");
delay(1000);
}
// Port defaults to 3232
// ArduinoOTA.setPort(3232);
// Hostname defaults to esp3232-[MAC]
ArduinoOTA.setHostname("muziekdoos");
// No authentication by default
// ArduinoOTA.setPassword("admin");
// Password can be set with it's md5 value as well
// MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
// ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");
ArduinoOTA
.onStart([]() {
String type;
if (ArduinoOTA.getCommand() == U_FLASH)
type = "sketch";
else // U_SPIFFS
type = "filesystem";
// NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
Serial.println("Start updating " + type);
})
.onEnd([]() {
Serial.println("\nEnd");
})
.onProgress([](unsigned int progress, unsigned int total) {
Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
})
.onError([](ota_error_t error) {
Serial.printf("Error[%u]: ", error);
if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
else if (error == OTA_END_ERROR) Serial.println("End Failed");
});
ArduinoOTA.begin();
Serial.println("Ready");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void handleOta(void)
{
ArduinoOTA.handle();
}

View File

@@ -0,0 +1,10 @@
#pragma once
#include "ArduinoOTA.h"
#include "secrets.h"
// #include <WiFi.h>
// #include <AsyncTCP.h>
// #include <ESPAsyncWebServer.h>
// #include <AsyncElegantOTA.h>
void initOta(void);
void handleOta(void);

View File

@@ -12,18 +12,27 @@ void initPowerOn(void)
{
//disable brownout
//WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector
if(digitalRead(PWR_BTN))
{
//enable LDO
pinMode(PWR_HOLD, OUTPUT);
pinMode(PWR_BTN, INPUT);
digitalWrite(PWR_HOLD, HIGH);
powerbutton_released = false;
//dac_sdMode
pinMode(DAC_SDMODE, OUTPUT);
digitalWrite(DAC_SDMODE, HIGH);
//powerstate = poweringOn;
//buttonPower.begin();
}
else
{
ESP.deepSleep(10000);
}
//enable LDO
pinMode(PWR_HOLD, OUTPUT);
pinMode(PWR_BTN, INPUT);
digitalWrite(PWR_HOLD, HIGH);
powerbutton_released = false;
//dac_sdMode
pinMode(DAC_SDMODE, OUTPUT);
digitalWrite(DAC_SDMODE, HIGH);
//powerstate = poweringOn;
//buttonPower.begin();
}
@@ -43,6 +52,8 @@ void handlePower(void)
debugHandle();
while(digitalRead(PWR_BTN)) {}
digitalWrite(PWR_HOLD, LOW);
delay(1000);
ESP.restart();
}
else{
powerbutton_released = true;

View File

@@ -28,7 +28,6 @@ void initRfid()
void handleRfid()
{
uint32_t timeNow = millis();
//int8_t TagType = TRACK_NOTHING;
if (timeNow - last_rfid_update > RFIDINTERVAL)
{

View File

@@ -0,0 +1,4 @@
#pragma once
#define SECRET_SSID "poes"
#define SECRET_PASS "Rijnstraat214"