Nyní mám hotový WEB GUI, kde mám 6 tlačítek, které mění hodnoty v DB u jednotlivých kójí (PIN,dopravce,stav)
PIN = PIN kód který musí dopravce vyťukat na klávesnici, dle toho PINu se mu otevře danná(é) kóje
dopravce = název dopravce
stav=hodnota 0 a 1, pokud je hodnota 1 znamená to že se otevře relay a to otevře elektromagnetický zámek
Nyní se snažím dát nějak dokupy kód do Ard.
Kód: Vybrat vše
#include "Wire.h"
#include "I2CKeyPad.h"
#include <ESP8266WiFi.h>
const uint8_t KEYPAD_ADDRESS = 0x20;
uint8_t lastKey;
uint32_t klavesy=0;
I2CKeyPad keyPad;
const char* ssid = "wifi";
const char* password = "heslo";
char server[] = "192.168.1.249";
WiFiClient client;
int klavesnice_rulez = 0; // 0 = čtečka postaru, cokoli jineho klavesnice rulez, čtečku ignorujeme
void setup()
{
Serial.begin(9600);
Wire.begin();
Wire.setClock(400000);
if (keyPad.begin(KEYPAD_ADDRESS) == false)
{
Serial.println("\nERROR: cannot communicate to keypad.\nPlease reboot.\n");
while(1);
}
// Pripojeni k Wi-Fi
Serial.println();
Serial.print("Pripojuji k ");
Serial.println(ssid);
WiFi.begin(ssid, password);
// Dokud nejsem pripojeny k Wi-Fi,zapisuj do seriove linky tecky progressbaru
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
// Jsem pripojeny k Wi-Fi a mohu pokracovat
Serial.println();
Serial.println("WiFi pripojena!");
// Napis IP adresu, kterou mikropocitac dostal
Serial.print("Pouzij k pripojeni tuto adresu: ");
Serial.print("http://");
Serial.println(WiFi.localIP());
pinMode(D3,OUTPUT);
digitalWrite(D3,LOW);
pinMode(D4,OUTPUT);
digitalWrite(D4,LOW);
}
void nacti_stav1()
{
if (client.connect(server, 80)) { //starts client connection, checks for connection
client.println("GET http://192.168.1.249/Balikovna/balikovna_koje1.php");
client.println("Host: 192.168.1.249");
client.println("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
client.println("Connection: close");
client.println();
delay(1000);
while (client.connected()) {
String line = client.readStringUntil('\n');
// Serial.println(line); //ak chceme vypísať HTTP header
if (line == "\r") {
break;
}
}
String line = client.readStringUntil('\n');
Serial.println("Nacitany payload response:");
Serial.println(line); //odpoveď webservera - naše dáta
if(line=="0"){
digitalWrite(D3, LOW);
Serial.println("Vypnuto");
}
else if(line=="1"){
digitalWrite(D3, HIGH);
Serial.println("Zapnuto");
}
}
else {
Serial.println("Pripojenie na webserver sa nepodarilo");
}
client.stop();
}
void loop()
{
char keys[] = "123A456B789C*0#DNF"; // N = Nokey, F = Fail
uint32_t idx = keyPad.getKey();
if (idx) klavesnice_rulez=1; // po stisku první klávesy si to zprivatizujeme my a pustíme to až se nám zachce
if (klavesnice_rulez) {
// tady bude náš kód
// kod_B
// kod_B je tento kus
if (idx){
if (idx != lastKey & keys[idx] != 'N') {
klavesy=(klavesy*10)+(keys[idx]-48);
lastKey = idx;
Serial.println(klavesy);
if (klavesy > 999999) {klavesy = 0;};
if (keys[idx] == '#') {klavesy=0;}
if (klavesy == 123) {
digitalWrite(D3,HIGH);
delay(1000);
digitalWrite(D3,LOW);
klavesy=0;;
}
if (klavesy == 987) {
digitalWrite(D4,HIGH);
delay(1000);
digitalWrite(D4,LOW);
klavesy=0;;
}
}
delay(100);
klavesnice_rulez = 0;
}
return;
};
do {
nacti_stav1();
return;
}
}
Kód: Vybrat vše
expected 'while' before '}' token
Byl by někdo ochotný a pomohl mi s tím ?