Проблема отображение данных отправленных с Arduino Mega на Arduino Mrk1000 с использованием последовательной связи

Я занимаюсь личным проектом.
Идея более крупного проекта состоит в том, чтобы кормить мою рыбу с помощью робота.
Моя конкретная проблема заключается в том, что я хотел бы видеть некоторые данные от различных датчиков, которые я буду добавлять. Но в данный момент я хочу иметь возможность использовать последовательную связь между моими 2 платами для передачи целого числа с моей Мега-платы на мою плату MKR1000, а затем для моего MKR1000 подключиться к WI-FI, где я могу видеть информацию на телефоне с IP-адреса.

Ниже приведены 2 фрагмента кода, сначала для Мега-платы, где интергеры превращаются в строки, а затем отправляются в Mrk1000.
Фрагмент кода sencond предназначен для MKR1000. Основная цель состоит в том, чтобы получить данные с Мега-платы, а затем воспроизвести их на клиенте (через Wi-Fi).

ДЛЯ МЕГА СОВЕТА ------------------------------------------------------------------------------------------

            char str[4];
            char str1[4];
            char str2[4];
            char str3[4];
            char str4[4];
            
            void setup() {
              Serial.begin(9600);
            }
            
            void loop() {
              int value= 500; //это было бы гораздо интереснее, если бы это было значение датчика
              int value1= 400;
              int value2= 300;
              int value3= 200;
              int value4= 100;
              
              itoa(value, str, 10); //Превратить значение в массив символов
              itoa(value1, str1, 10);
              itoa(value2, str2, 10);
              itoa(value3, str3, 10);
              itoa(value4, str4, 10);
              Serial.write(str, 4);
              delay(10);
                Serial.write(str1, 4);
                delay(10);
                  Serial.write(str2, 4);
                  delay(10);
                    Serial.write(str3, 4);
                    delay(10);
                      Serial.write(str4, 4);
                      delay(10);
            
            }

ДЛЯ MRK1000 -----------------------------------------------------------------------------------------

            #include <SPI.h>
            #include <WiFi101.h>
            #include <stdio.h>
            #include <math.h>
            
            //#include "arduino_secrets.h"
            ///////пожалуйста, введите ваши конфиденциальные данные на вкладке  tab/arduino_secrets.h
            char ssid[] = "";//SECRET_SSID;        // ваш сетевой SSID (имя)
            char pass[] ="";// SECRET_PASS;    // ваш сетевой пароль (используйте для WPA или используйте в качестве ключа для WEP)
            int keyIndex = 0;                 //  номер индекса вашего сетевого ключа (требуется только для WEP)
            
            char str[4];
            char str1[4];
            
            int status = WL_IDLE_STATUS;
            WiFiServer server(80);
            
            void setup() {
              Serial.begin(9600);      // инициализация последовательной связи
              pinMode(6, OUTPUT);      // установите режим вывода светодиода
              Serial1.begin(9600);
            
              // check for the presence of the shield:
              if (WiFi.status() == WL_NO_SHIELD) {
                Serial.println("WiFi shield not present");
                while (true);       // don't continue
              }
            
              // attempt to connect to WiFi network:
              while ( status != WL_CONNECTED) {
                Serial.print("Attempting to connect to Network named: ");
                Serial.println(ssid);                   // print the network name (SSID);
            
                // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
                status = WiFi.begin(ssid, pass);
                // wait 10 seconds for connection:
                delay(10000);
              }
              server.begin();                           // start the web server on port 80
            printWiFiStatus();                        // you're connected now, so print out the status
            }
            
            int x = 0;       int i = 0;
            void loop() {
              WiFiClient client = server.available();   // listen for incoming clients
                
              if (client) {                             // if you get a client,
                Serial.println("new client");           // print a message out the serial port
                String currentLine = "";                // make a String to hold incoming data from the client
                while (client.connected()) {            // loop while the client's connected
                  if (client.available()) {             // if there's bytes to read from the client,
                    char c = client.read();             // read a byte, then
                    Serial.write(c);                    // print it out the serial monitor
                    if (c == '\n') {                    // if the byte is a newline character
            
                        if (Serial1.available()) {
                            delay(100); //allows all serial sent to be received together
                            while(Serial1.available() && i<4) {
                              str[i++] = Serial1.read();
                            }
                          str[i++]='\0';
                        }
            
                      // if the current line is blank, you got two newline characters in a row.
                      // that's the end of the client HTTP request, so send a response:
                      if (currentLine.length() == 0) {
                        // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
                        // and a content-type so the client knows what's coming, then a blank line:
                        client.println("HTTP/1.1 200 OK");
                        client.println("Content-type:text/html");
                       
                              //strcpy(str, "98993489");
                          int val = atoi(str);
                            //Serial.println(str,4);
                            client.print("str = ");
                            client.print(x);
                        
            
                        
                        client.println();
                        client.print(x); 
                         client.println("<br>");
            
                        // the content of the HTTP response follows the header:
                        client.print("Click <a href=\"/H\">here</a> turn the LED on pin 9 on<br>");
                        client.print("Click <a href=\"/L\">here</a> turn the LED on pin 9 off<br>");
            
            
                        // The HTTP response ends with another blank line:
                        client.println();
                        // break out of the while loop:
                        break;
                      }
                      else {      // if you got a newline, then clear currentLine:
                        currentLine = "";
                      }
                    }
                    else if (c != '\r') {    // if you got anything else but a carriage return character,
                      currentLine += c;      // add it to the end of the currentLine
                    }
            
                    // Check to see if the client request was "GET /H" or "GET /L":
                    if (currentLine.endsWith("GET /H")) {
                      Serial.println("high"); 
                      digitalWrite(9, HIGH);               // GET /H turns the LED on
                             
                      }
                    if (currentLine.endsWith("GET /L")) {
                      Serial.println("low"); 
                      digitalWrite(9, LOW);                // GET /L turns the LED off
                       
                    }
                  }
                }
                // close the connection:
                client.stop();
                Serial.println("client disonnected");
                x++;
              }
            }
            
            void printWiFiStatus() {
              // print the SSID of the network you're attached to:
              Serial.print("SSID: ");
              Serial.println(WiFi.SSID());
            
              // print your WiFi shield's IP address:
              IPAddress ip = WiFi.localIP();
              Serial.print("IP Address: ");
              Serial.println(ip);
            
              // print the received signal strength:
              long rssi = WiFi.RSSI();
              Serial.print("signal strength (RSSI):");
              Serial.print(rssi);
              Serial.println(" dBm");
              // print where to go in a browser:
              Serial.print("To see this page in action, open a browser to http://");
              Serial.println(ip);
            }

, 👍2

Обсуждение

И в чем именно заключается ваша проблема? С отображением по Wi-Fi (на веб-сайте, размещенном на MRK?)? Или с помощью последовательной связи?, @chrisl

с попыткой отображения по Wi-Fi., @sam courtney

Ты совершенно неправильно относишься к своей посылке. Вам не нужно ничего конвертировать*. Просто используйте Serial.println(val1); и т. Д., Затем прочитайте свой серийный номер до завершения \n., @Majenko

3 МКУ за это? ATmega2560, SAMD21 и ESP32?, @Juraj