Пользователь вводит на странице сервера 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 часть кидаю вторую часть суммы. Спасибо
Нельзя писать в програмную память из программы. А оперативной просто не хватит на 2400 таких значений.
Код (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); } Вот так далее выглядит чтение этих строк можно конечно попробовать что-нибудь сделать с массивом.
если готовы платить за решение - то разместите тему в "Закажу проект". Правда не уверен, что на вашу задачку хватит 60 баксов. По сути вопроса - Вы уверены. что запрос HTTP GET подходит для передачи такого обьема информации? Что-то мне кажется, что даже когда вы справитесь с начальной задачей - у вас будут огромные проблемы со стабильностью работы