Wt32-eth01 - нужна прошивка и скетч

Тема в разделе "Закажу проект", создана пользователем Zus, 26 янв 2022.

  1. Zus

    Zus Нуб

    Добрый день.
    Имеется в наличии плата WT32-ETH01
    Необходимо под нее сформировать прошивку/скетч для проверки следующего курла

    Код (Text):
    curl --request POST \
      --url https://booking-api.winstrike.gg/ping \
      --header 'content-type: application/json' \
      --data '{
    "computerId": "5y8xji4cj2"
    }'
    Ранее на другой плате (only WiFi) работало в следующем формате:

    Код (Text):

    /*
      HTTPS GET/POST Request for NodeMCU/ESP8266
      Powered by: https://www.aeq-web.com
    */

    #include <ESP8266WiFi.h>
    #include <WiFiClientSecure.h>
    #include <ESP8266WebServer.h>
    #include <ESP8266HTTPClient.h>
    #include <ArduinoJson.h>
    ///////////////////////////////BASIC SETINGS////////////////////////////
    const char *ssid = "*******"; //Wifi Network Name
    const char *password = "********"; //Wifi Network Key
    const char *host = "booking-api.winstrike.gg"; //Domain to Server
    String path = "/ping"; //Path of Server
    const int httpsPort = 443; //HTTPS PORT (default: 443)
    int refreshtime = 15; //Make new HTTPS request after x seconds
    int count = 0;
    ///////////////////////////////BASIC SETINGS////////////////////////////

    String datarx; //Received data as string
    long crontimer;

    void setup() {
      delay(1000);
      Serial.begin(115200);
      WiFi.mode(WIFI_OFF);
      delay(1000);
      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid, password);
      Serial.print("Connecting");
      pinMode(D5, OUTPUT);
      digitalWrite(D5, 0);
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
      }
      Serial.print("Connected: ");
      Serial.println(ssid);
    }

    void loop() {
      if (crontimer < millis() / 1000) {
        crontimer = (millis() / 1000) + refreshtime;
        callhttps(); //
      }
    }

    void callhttps() {
      WiFiClientSecure httpsClient;
      httpsClient.setTimeout(15000);
      delay(1000);
      int retry = 0;
      while ((!httpsClient.connect(host, httpsPort)) && (retry < 15)) {
        delay(100);
        Serial.print(".");
        retry++;
      }
      if (retry == 15) {
        Serial.println("Connection failed");
      }
      else {
        Serial.println("Connected to Server");
      }
      httpsClient.print(String("POST ") + path + " HTTP/1.1\r\n" +
                        "Host: " + host + "\r\n" +
                        "content-type: application/json" + "\r\n" +
                        "Content-Length: 31" + "\r\n\r\n" +
                        "{\n \"computerId\": \"g2x112tc1g\"\n}");
      String section = "header";
      while (httpsClient.connected()) {
        String line = httpsClient.readStringUntil('\n');
        if (line == "\r") {
          break;
        }

      }

      while (httpsClient.available()) {
        datarx += httpsClient.readStringUntil('\n');
        Serial.begin(115200);
        String input = datarx ;

        StaticJsonDocument<200> doc;
        DeserializationError err = deserializeJson(doc, input);

        if (err) {
          Serial.print("ERROR: ");
          Serial.println(err.c_str());
          return;
        }

        String console = doc["active"];

        Serial.println(console);

        if (console == "true") {
          digitalWrite(D5, 1);
          digitalWrite(D6, 0);
          delay(100);
          Serial.println();
          Serial.println("Console UNLOCKED");
        }
        else if (console == "false") {
          digitalWrite(D5, 0);
          digitalWrite(D6, 1);
          delay(100);
          Serial.println();
          Serial.println("Console LOCKED");
        }

      }
      Serial.println(datarx);
      datarx = "";
    }
    ;

    Надо адаптировать новую плату под подобную задачу:
    1. Использование необходимо как WiFi так и Eth в DHCP
    2. Она должна проверять каждую минуту запрос курла
    3. При ответе курла true должно разово замыкаться два контакта на плате (возможно использовать землю и контакт, не знаю на сколько это правильно сильно не пинайте)
    4. При ответе курла false должно происходить РАЗМЫКАНИЕ двух контактов на плате которые заранее были замкнуты при загрузке. (возможно использовать землю и контакт, не знаю на сколько это правильно сильно не пинайте)


    tg: @Azincheev
     

    Вложения:

    • a61d0b.jpg
      a61d0b.jpg
      Размер файла:
      59,1 КБ
      Просмотров:
      131
  2. Zus

    Zus Нуб

    Подскажите, тишина такая ... или же это сложно ? или же я что-то не так указал в объяснении ? или же я просто дурак ))) а то ответов ноль )))
     
  3. Airbus

    Airbus Радиохулиган Модератор

    Думают. Заинтересуйте материально—быстрее думать начнут
     
  4. Zus

    Zus Нуб

    5 т.р.
     
  5. man9913

    man9913 Гик

    напокупают всякого китайского дерьма и думают что кому-то кроме них будет интересно в нём копаться.
    надо было брать малину третью когда её цена 35$ была и делать на ней все что угодно, от роутеров, серверов сайтов и бд до тв приставки.
    кстати, сейчас в продаже вроде есть недорогой "китайаналог"(в смысле необходимых интерфейсов под вашу задачу) малинки под названием orange pi zero/zero2.
     
    Последнее редактирование: 30 янв 2022
  6. Zus

    Zus Нуб

    кста, мимо проходил. Все сделал сам в итоге. Разобрался)

    А по поводу китайского фуфла если верить тому же гитхабу то не такая уж и редкость такая плата .. да и по алику этих плат становится все больше и больше ....тот же приведенный вами аналог стоит в среднем 2.5т.р а плата обходится в 800 и закрывает все необходимые задачи + имеет меньших размер и меньшее потребление по питанию.
     
  7. man9913

    man9913 Гик

    во-первых, стОит она 1500 с купоном, во-вторых, на порядок мощнее и функциональнее с полноценным линуксом и задача подобная вашей на ней решается чуть ли не парой команд. а в-третьих, наличие плат на алике совсем не показатель популярности и востребованности(там горы барахла, китайцы клепают и впаривают его в надежде поднять хайп, но далеко не всё в итоге становится востребовано). несомненно ваша плата имеет право на существование, но как можете судить по отсутствию здесь предложений на вашу заявку, кроме вас такая "штука" мало у кого есть и мало кому нужна.
    а насчет потребления - надо уметь настраивать.
     
    Последнее редактирование: 15 фев 2022
    parovoZZ нравится это.