This commit is contained in:
lulzette 2020-02-23 21:50:43 +03:00
parent 3a2aedb11a
commit 42eae6ec9c
2 changed files with 72 additions and 37 deletions

View File

@ -1,6 +1,6 @@
{ {
"board": "esp8266:esp8266:generic", "board": "esp8266:esp8266:generic",
"configuration": "CpuFrequency=80,FlashFreq=40,FlashMode=qio,UploadSpeed=921600,FlashSize=512K0,ResetMethod=ck,Debug=Disabled,DebugLevel=None____", "configuration": "xtal=80,vt=flash,exception=disabled,ssl=all,ResetMethod=ck,CrystalFreq=26,FlashFreq=40,FlashMode=qio,eesz=4M1M,led=2,sdk=nonosdk221,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=921600",
"sketch": "frontend.ino", "sketch": "frontend.ino",
"port": "/dev/ttyUSB0" "port": "/dev/ttyUSB0"
} }

View File

@ -5,8 +5,6 @@
#include "SSD1306Brzo.h" #include "SSD1306Brzo.h"
#include "wifi.h" #include "wifi.h"
#include <ESP8266HTTPClient.h> #include <ESP8266HTTPClient.h>
#include <ArduinoJson.h>
#include <FS.h>
String inTemp,outTemp,pressure,humid; String inTemp,outTemp,pressure,humid;
const unsigned short int onTime=6, offTime=23, beepDelay=60, timeOffset=3; const unsigned short int onTime=6, offTime=23, beepDelay=60, timeOffset=3;
@ -19,20 +17,27 @@ int alarmStop(0);
WiFiUDP ntpUDP; WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP); NTPClient timeClient(ntpUDP);
SSD1306Brzo display(0x3C, 5, 4); SSD1306Brzo display(0x3C, 5, 4);
void demo();
void setup(){ void setup(){
Serial.begin(115200);
//==DISPLAY INIT== //==DISPLAY INIT==
display.init(); display.init();
display.flipScreenVertically(); display.flipScreenVertically();
display.setContrast(255); display.setContrast(255);
// display.invertDisplay();
display.clear();
display.fillRect(0,0,128,64);
display.display();
delay(3000);
if (!digitalRead(0)) //button
demo(120000);
Serial.begin(115200);
//==WIFI CONNECT== //==WIFI CONNECT==
WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
//==NTP INIT== //==NTP INIT==
timeClient.begin(); timeClient.begin();
timeClient.setTimeOffset(timeOffset*3600); timeClient.setTimeOffset(timeOffset*3600);
netTasks(); netTasks();
// SPIFFS.begin();
} }
void loop(){ void loop(){
@ -46,14 +51,13 @@ void loop(){
noTone(15); noTone(15);
lastBeep = timeClient.getHours()*60; lastBeep = timeClient.getHours()*60;
netTasks(); netTasks();
// demo(12000);
} }
else { else {
delay(500); delay(500);
} }
checkAlarm(); checkAlarm();
} }
void checkAlarm() void checkAlarm()
{ {
for (int i(0);i<10;i++) for (int i(0);i<10;i++)
@ -78,7 +82,6 @@ void checkAlarm()
} }
} }
} }
void netTasks() { void netTasks() {
HTTPClient http; HTTPClient http;
WiFi.forceSleepWake(); WiFi.forceSleepWake();
@ -141,24 +144,37 @@ void mainScreen() {
} }
display.display(); display.display();
} }
void displayStatus(int state){ void displayStatus(){
display.clear(); bool run(true);
display.setTextAlignment(TEXT_ALIGN_CENTER); display.setFont(ArialMT_Plain_10);
switch (state) { display.setTextAlignment(TEXT_ALIGN_LEFT);
case 0: int x(0),y(0);
display.drawString(64, 22, "Connected!"); bool xd(false);//false - right, true - left
break;
case 1: while (run)
display.drawString(64, 22, "Connecting..."); {
break; display.clear();
case 2: if (WiFi.status() != WL_CONNECTED) {
display.drawString(64, 22, "Not connected!"); display.fillRect(x,y,30,50);
display.setFont(ArialMT_Plain_10); if (x > 128-30)
display.setTextAlignment(TEXT_ALIGN_LEFT); xd = true;
display.drawString(0, 53, "we will die in 10s! :0"); if (x < 0)
break; xd = false;
if (xd) {
x--;
} else {
x++;
}
display.drawString(1, 52, ssid);
}
if (WiFi.status() == WL_CONNECTED) {
run = false;
}
display.display();
} }
display.display();
} }
void updateNtp() { void updateNtp() {
while (!timeClient.update()) while (!timeClient.update())
@ -174,15 +190,34 @@ bool nightMode() {
void wifiConnect(bool boot) { void wifiConnect(bool boot) {
int beginMillis = millis(); int beginMillis = millis();
WiFi.begin(ssid, password); WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED && millis() - beginMillis < 30000) { displayStatus();
delay(250);
Serial.print(".");
}
if (WiFi.status() != WL_CONNECTED) {
delay(10000);
ESP.reset();
} else {
Serial.print("Connected to " + String(ssid) + "; IP address: ");
Serial.println(WiFi.localIP());
}
} }
void demo(int duration)
{
short xp(0),yp(0),xd(1),yd(1);
unsigned int startTime = millis();
bool run(true);
while (run) {
if ((xp > 128) || (xp < 0))
{
xd = xd * -1;
}
if ((yp > 64) || (yp < 0))
{
yd = yd * -1;
}
xp+=xd;
yp+=yd;
delay(10);
display.clear();
display.fillCircle(xp,yp,10);
display.display();
if (millis() - startTime > duration)
run = false;
}
}