Как изменить arduino esp8266-01 это SSID и пароль wifi через firebase и php? - PullRequest
0 голосов
/ 24 июня 2019

Я настраиваю SSID wifi и пароль arduino, в частности, esp-01, который нужно изменить, отправив данные (SSID и пароль) в firebase, затем в PHP и в arduino

Я перепробовал много возможных решений и прочитал статьи, связанные с тем, что я хотел, чтобы результат, но ни одна из них не работает

Я использую приложение для отправки данных в firebase

Учитывая код для Arduino и PHP (firebase)

Код Arduino

    #include <SoftwareSerial.h>
   #include <DHT.h>;
    SoftwareSerial Serial1(10, 11);
   #define Trash "Trash3"
   #define DHTTYPE DHT11
   #define DHTPIN 2
   #define TRIGGER_PIN 4
   #define ECHO_PIN 3

    DHT dht(DHTPIN, DHTTYPE, 11);

    float humidity, temp_f;
    int distance;
    long duration;

     String buff(64);
     String getStr(128);

    void setup() {

     Serial.begin(9600);
     Serial1.begin(9600);
    delay(2000);
     Serial1.setTimeout(5000);
    dht.begin();
     pinMode(TRIGGER_PIN, OUTPUT);
    pinMode(ECHO_PIN, INPUT);

     if (!connectWiFi()) {
    Serial.println("Can not connect to the WiFi.");
     while (true);
    }
    Serial.println("OK, Connected to WiFi.");

     sendCommand("AT+CIPSTA?");
    sendCommand("AT+CIPSTAMAC?");}

     void loop() {

    temp_f = dht.readTemperature();
     humidity = dht.readHumidity();
    digitalWrite(TRIGGER_PIN, LOW);
     delayMicroseconds(2);
    digitalWrite(TRIGGER_PIN, HIGH);
     delayMicroseconds(10);
    digitalWrite(TRIGGER_PIN, LOW);

     duration = pulseIn(ECHO_PIN, HIGH);
    distance = duration * 0.034 / 2;

     if (sendCommand("AT+CIPSTART=\"TCP\",\"gg.com\",80")) {
    Serial.println("connected to Cloud");

     getStr = "GET /upload.php?trash=";
    getStr += Trash;
     getStr += "&distance=";
    getStr += distance;
     getStr += "&temp_f=";
    getStr += temp_f;
     getStr += "&humidity=";
    getStr += humidity;
     getStr += " HTTP/1.1\r\n";
    getStr += "Host: gg.com\r\n\r\n";

    buff = "AT+CIPSEND=";
     buff += getStr.length();
    if (sendCommand(buff.c_str()) && Serial1.find(">")) { 

      Serial.println(getStr);
      Serial1.print(getStr);
      if (Serial1.find("+IPD,")) { 
        int l = Serial1.parseInt();
        while (l > 0) {
          if (Serial1.available()) {
            Serial.write(Serial1.read());
            l--;
          }
        }
        Serial.println("--------------");
      } else {
        Serial.println("no response");
      }
     } else {
      Serial.println("send error");
     }
      sendCommand("AT+CIPCLOSE");
     } else {
      Serial.println("Error connecting");
     }
      }

     bool connectWiFi() {

       if (!sendCommand("ATE0")) // echo off
     return false;
       if (!sendCommand("AT+CIPMUX=0")) // set single connection mode
     return false;
       if (!sendCommand("AT+CWMODE=1")) // set STA mode
     return false;
       return sendCommand("AT+CWJAP=\"CAPSTONE\",\"capstonemis\"");
     }

     bool sendCommand(const char* cmd) {
       Serial.println(cmd);
     Serial1.println(cmd);
       while (true) {
     buff = Serial1.readStringUntil('\n');
       buff.trim();
     if (buff.length() > 0) {
      Serial.println(buff);
     if (buff == "OK" || buff == "SEND OK" || buff == "ALREADY CONNECTED")
       return true;
     if (buff == "ERROR" || buff == "FAIL" || buff == "SEND FAIL")
       return false;
     }
      }
}

PHP код

<?php
      require 'firebaseLib.php';
      $Trash = $_GET["trash"];
      $Distance = $_GET["distance"];
      $Temperature = $_GET["temp_f"];
      $Humidity= $_GET["humidity"];

        $baseURI = 'https://thesis1-69.firebaseio.com';
        $token = 'gg';
    $devicestatus= array('Distance' => $Distance,'Temperature' => 
      $Temperature,'Humidity' => $Humidity);
    $firebasePath = '/thesis1-69/';
      $full= array($Trash => $devicestatus);
    $fb = new Firebase($baseURI, $token);
      $fb -> update($firebasePath, $full);
     ?>

Я надеюсь, что вы можете помочь мне с целью, которую я хотел закончить огромное спасибо больше силы!

...