Дам 60$ тому кто поможет.

Тема в разделе "Arduino & Shields", создана пользователем Никита Мещеряков, 17 мар 2019.

Метки:
  1. Пользователь вводит на странице сервера arduino текст такого вида (0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24,) всего около 2400 символов. У меня получилось только принимать числа.
    Код (C++):
    #include <TextFinder.h>
    #include <SPI.h>
    #include <Ethernet.h>
    byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Мак адрес
    IPAddress ip(192, 168, 0, 113); // IP адрес (изменить в title)
    EthernetServer server(80);
    char ge[128];
    void setup()
    {
    //Старт
    Serial.begin(9600);
    Ethernet.begin(mac, ip);
    Serial.print("server is at ");
      Serial.println(Ethernet.localIP());
    server.begin();
    Serial.println("device is run");
    }
    void loop(){
    EthernetClient client = server.available();
    if (client)  {
      TextFinder response(client);
      while (client.connected())
      {
       if (client.available()) {
       if(response.find("GET /")) {
       if (response.find("?login=")) {
       ge = response.getValue();
       Serial.println(ge);
       }
       }
       // Выводим HTML страницу
       client.println("HTTP/1.1 200 OK");
       client.println("Content-Type: text/html");
       client.println();
       client.println();
       client.println("<!DOCTYPE html>");
       client.println("<html lang=\"ru\">");
       client.println("<head>");
       client.println("<meta charset=\"UTF-8\">");
       client.println("<title>Home</title>");
       client.println("</head>");
       client.println("<body>");
       client.println("<h1>Server</h1>");
       client.println("<p>Нажата ссылка: ");
       client.println(ge);
       client.println("</p>");
       client.println("<form id=\"auth\" action="" method=\"get\"></form>");
       client.println("<p><input name=\"login\" form=\"auth\"></p>");
       client.println("<p><input type=\"submit\" form=\"auth\"></p>" );
       client.println("<p><a href=\"?p=1\">Link 1</a><br><a href=\"?p=2\">Link 2</a></p>");
       client.println("</body>");
       client.println("</html>");
       client.stop();   }
      }
    }
    }
    Далее получаем массив из этих символов и надо это массив как-то записать в эту конструкцию
    Код (C++):
    const long DigDug01[2400] progmen{
     
    }
    В итоге должно получаться вот так
    Код (C++):
    const long DigDug02[] PROGMEM =
    {
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c25, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1d25, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1d25, 0xec1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xee1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xfff200, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xfff200, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xfff200, 0xfff200, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xfff200, 0xfff200, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xfff200, 0xfff200, 0xfff200, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xfff200, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24,
    0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xee1c24, 0xed1c24, 0xed1c24, 0xed1c24,
    0xe91824, 0xeb1e23, 0xec1e23, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24, 0xed1c24
    };
    60$=~4000 руб. Кидаете часть кода с записью массива и работает я кидаю половину суммы потом если работает получение значения из интернета 2 часть кидаю вторую часть суммы. Спасибо
     
  2. Нельзя писать в програмную память из программы. А оперативной просто не хватит на 2400 таких значений.
     
  3. Переосмысливать свою задачу.
     
  4. Код (C++):
    // Put Qbert first frame
    for(int passtime = 0; passtime < 8; passtime++) { // Display it 8 times

    FastLED.clear();
    for(int i = 0; i < NUM_LEDS; i++) {
        leds[i] = pgm_read_dword(&(Qbert01[i]));  // Read array from Flash
      }

    FastLED.show();
    delay(500);


    // Put Qbert second frame
    FastLED.clear();
    for(int i = 0; i < NUM_LEDS; i++) {
        leds[i] = pgm_read_dword(&(Qbert02[i]));
      }

    FastLED.show();
    delay(500);

    }
    Вот так далее выглядит чтение этих строк можно конечно попробовать что-нибудь сделать с массивом.
     
  5. b707

    b707 Гуру

    если готовы платить за решение - то разместите тему в "Закажу проект".
    Правда не уверен, что на вашу задачку хватит 60 баксов.

    По сути вопроса - Вы уверены. что запрос HTTP GET подходит для передачи такого обьема информации? Что-то мне кажется, что даже когда вы справитесь с начальной задачей - у вас будут огромные проблемы со стабильностью работы
     
    Последнее редактирование: 18 мар 2019
    Vovka нравится это.