mirror of
https://github.com/zzzzDev4/IAS-Better-Tea.git
synced 2025-04-21 07:31:20 +02:00
cleanup, added TeaNetworking class
This commit is contained in:
parent
91be852c99
commit
811163e7a2
4 changed files with 56 additions and 36 deletions
|
@ -1,5 +1,45 @@
|
||||||
#include "TeaNetworking.hpp"
|
#include "TeaNetworking.hpp"
|
||||||
|
|
||||||
|
void TeaNetworking::init(const char *ssid, const char *password)
|
||||||
|
{
|
||||||
|
// networking init
|
||||||
|
WiFi.mode(WIFI_STA);
|
||||||
|
WiFi.begin(ssid, password);
|
||||||
|
Serial.println("");
|
||||||
|
Serial.print("Connecting");
|
||||||
|
int attempts = 0;
|
||||||
|
while (WiFi.status() != WL_CONNECTED)
|
||||||
|
{
|
||||||
|
if (attempts++ > 30)
|
||||||
|
{
|
||||||
|
Serial.println("");
|
||||||
|
Serial.println("Failed to connect to network.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
delay(500);
|
||||||
|
Serial.print(".");
|
||||||
|
}
|
||||||
|
Serial.println("");
|
||||||
|
Serial.print("Connected to WiFi network with IP Address: ");
|
||||||
|
Serial.println(WiFi.localIP());
|
||||||
|
|
||||||
|
// Set time via NTP, as required for x.509 validation
|
||||||
|
configTime(3 * 3600, 0, "pool.ntp.org", "time.nist.gov");
|
||||||
|
Serial.print("Waiting for NTP time sync: ");
|
||||||
|
time_t now = time(nullptr);
|
||||||
|
while (now < 8 * 3600 * 2)
|
||||||
|
{
|
||||||
|
delay(500);
|
||||||
|
Serial.print(".");
|
||||||
|
now = time(nullptr);
|
||||||
|
}
|
||||||
|
Serial.println("");
|
||||||
|
struct tm timeinfo;
|
||||||
|
gmtime_r(&now, &timeinfo);
|
||||||
|
Serial.print("Current time: ");
|
||||||
|
Serial.print(asctime(&timeinfo));
|
||||||
|
}
|
||||||
|
|
||||||
String TeaNetworking::httpsGETRequest(const char *serverName)
|
String TeaNetworking::httpsGETRequest(const char *serverName)
|
||||||
{
|
{
|
||||||
WiFiClientSecure client;
|
WiFiClientSecure client;
|
||||||
|
@ -7,6 +47,8 @@ String TeaNetworking::httpsGETRequest(const char *serverName)
|
||||||
// wait for WiFi connection
|
// wait for WiFi connection
|
||||||
if ((WiFi.status() == WL_CONNECTED))
|
if ((WiFi.status() == WL_CONNECTED))
|
||||||
{
|
{
|
||||||
|
// Create a list of certificates with the server certificate
|
||||||
|
X509List cert(IRG_Root_X1);
|
||||||
client.setTrustAnchors(&cert);
|
client.setTrustAnchors(&cert);
|
||||||
HTTPClient https;
|
HTTPClient https;
|
||||||
Serial.print("[HTTPS] begin...\n");
|
Serial.print("[HTTPS] begin...\n");
|
||||||
|
@ -38,6 +80,6 @@ String TeaNetworking::httpsGETRequest(const char *serverName)
|
||||||
Serial.printf("[HTTPS] Unable to connect\n");
|
Serial.printf("[HTTPS] Unable to connect\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
JSONVar jsonData = JSON.parse(data);
|
JSONVar jsonData = JSON.parse(payload);
|
||||||
return jsonData;
|
return jsonData;
|
||||||
}
|
}
|
|
@ -8,8 +8,7 @@
|
||||||
class TeaNetworking
|
class TeaNetworking
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
void init(const char *ssid, const char *password);
|
||||||
String httpsGETRequest(const char *serverName);
|
String httpsGETRequest(const char *serverName);
|
||||||
private:
|
bool wifiConnected(){return WiFi.status() == WL_CONNECTED;}
|
||||||
// Create a list of certificates with the server certificate
|
|
||||||
X509List cert(IRG_Root_X1);
|
|
||||||
};
|
};
|
42
src/main.cpp
42
src/main.cpp
|
@ -20,6 +20,7 @@ ContinuousServo contServo(SERVO_PIN);
|
||||||
TeaTimer teaTimer(&contServo);
|
TeaTimer teaTimer(&contServo);
|
||||||
SmartDial smartDial(POTENTIOMETER_PIN);
|
SmartDial smartDial(POTENTIOMETER_PIN);
|
||||||
SmartDisplay smartDisplay(&display);
|
SmartDisplay smartDisplay(&display);
|
||||||
|
TeaNetworking teaNet;
|
||||||
|
|
||||||
// networking
|
// networking
|
||||||
const char *shuttleServer = "https://ias-tea-axum.shuttleapp.rs/alltea";
|
const char *shuttleServer = "https://ias-tea-axum.shuttleapp.rs/alltea";
|
||||||
|
@ -38,35 +39,7 @@ void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(9600);
|
Serial.begin(9600);
|
||||||
|
|
||||||
// networking init-----------------------
|
teaNet.init(ssid, password);
|
||||||
WiFi.mode(WIFI_STA);
|
|
||||||
WiFi.begin(ssid, password);
|
|
||||||
Serial.println("Connecting");
|
|
||||||
while (WiFi.status() != WL_CONNECTED)
|
|
||||||
{
|
|
||||||
delay(500);
|
|
||||||
Serial.print(".");
|
|
||||||
}
|
|
||||||
Serial.println("");
|
|
||||||
Serial.print("Connected to WiFi network with IP Address: ");
|
|
||||||
Serial.println(WiFi.localIP());
|
|
||||||
|
|
||||||
// Set time via NTP, as required for x.509 validation
|
|
||||||
configTime(3 * 3600, 0, "pool.ntp.org", "time.nist.gov");
|
|
||||||
Serial.print("Waiting for NTP time sync: ");
|
|
||||||
time_t now = time(nullptr);
|
|
||||||
while (now < 8 * 3600 * 2)
|
|
||||||
{
|
|
||||||
delay(500);
|
|
||||||
Serial.print(".");
|
|
||||||
now = time(nullptr);
|
|
||||||
}
|
|
||||||
Serial.println("");
|
|
||||||
struct tm timeinfo;
|
|
||||||
gmtime_r(&now, &timeinfo);
|
|
||||||
Serial.print("Current time: ");
|
|
||||||
Serial.print(asctime(&timeinfo));
|
|
||||||
//---------------------------------------
|
|
||||||
|
|
||||||
Serial.println("Initializing SPI...");
|
Serial.println("Initializing SPI...");
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
|
@ -101,10 +74,15 @@ void loop()
|
||||||
{
|
{
|
||||||
case NETWORKING_DEBUG:
|
case NETWORKING_DEBUG:
|
||||||
{
|
{
|
||||||
JSONVar myObject = httpsGETRequest(serverName);
|
if (!teaNet.wifiConnected())
|
||||||
|
{
|
||||||
|
state = WAIT_FOR_RFID_SCAN;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
JSONVar myObject = teaNet.httpsGETRequest(shuttleServer);
|
||||||
Serial.println(myObject);
|
Serial.println(myObject);
|
||||||
delay(2000);
|
delay(2000);
|
||||||
state = DISPLAY_SCANNED_TEA_CONFIG;
|
state = WAIT_FOR_RFID_SCAN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case WAIT_FOR_RFID_SCAN:
|
case WAIT_FOR_RFID_SCAN:
|
||||||
|
@ -166,7 +144,7 @@ void loop()
|
||||||
printMsg("DONE");
|
printMsg("DONE");
|
||||||
if (!contServo.isTurning())
|
if (!contServo.isTurning())
|
||||||
{
|
{
|
||||||
delay(3000);
|
delay(2000);
|
||||||
state = State::WAIT_FOR_RFID_SCAN;
|
state = State::WAIT_FOR_RFID_SCAN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#include "ContinuousServo.hpp"
|
#include "ContinuousServo.hpp"
|
||||||
#include "SmartDial.hpp"
|
#include "SmartDial.hpp"
|
||||||
#include "SmartDisplay.hpp"
|
#include "SmartDisplay.hpp"
|
||||||
|
#include "TeaNetworking.hpp"
|
||||||
|
|
||||||
bool toggle_led(void *);
|
bool toggle_led(void *);
|
||||||
void printMsg(const String &s);
|
void printMsg(const String &s);
|
||||||
|
|
Loading…
Add table
Reference in a new issue