Hallo zusammen
Im Zuge eines Projektes muss ich die empfangenen Daten des Json-Paketes auslesen und in einen Array schreiben. Diesen Array muss ich dann weitersenden zu meinem Arduino UNO. Von dort wird dieser Array von anderen Personen weiterverarbeitet.
Doch leider komme ich hier nicht mehr weiter. Kann mir jemand ein Beispiel geben oder eine Hilfestellung, wie so ein Code aussehen könnte?
Ich bin wirklich für jede Antwort dankbar.
Hier wäre mein bisheriger Code auf dem ESP8266.
#include <ArduinoJson.h>
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
int medi_raum[3];
//Wifi-Informationen
const char* ssid = "*********";
const char* password = "LabAUP05fdg";
//MQTT-Server Informationen
const char*mqtt_broker = "10.100.205.23"; //MQTT-Server Adresse
const int mqttPort = 1883; //Port-Nummer
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
delay(1000);
//pinMode(LED,OUTPUT);
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.println("Connecting to WiFi..");
}
Serial.print("Connected to WiFi :");
Serial.println(WiFi.SSID());
client.setServer(mqtt_broker, mqttPort);
client.setCallback(MQTTcallback);
while (!client.connected()) {
Serial.println("Connecting to MQTT...");
if (client.connect("ESP8266"))
Serial.println("connected");
else {
Serial.print("failed with state ");
Serial.println(client.state()); //If you get state 5: mismatch in configuration
delay(2000);
}
}
client.publish("esp/test", "Hello from ESP8266");
client.subscribe("esp/test");
}
void MQTTcallback(char* topic, byte* payload, unsigned int length) {
StaticJsonDocument<256> doc;
deserializeJson(doc, payload, length);
JsonArray Medikament = doc["Medikament"];
int Medikament_0 = Medikament[0];
int Medikament_1 = Medikament[1];
int Medikament_2 = Medikament[2];
int Medikament_3 = Medikament[3];
medi_raum[0]=Medikament_0;
medi_raum[1]=Medikament_1;
medi_raum[2]=Medikament_2;
medi_raum[3]=Medikament_3;
}
void loop() {
client.loop();
}
Du solltest aber auch beschreiben, wie dein Array aufgebaut ist, wie du es an den Uno weiterleiten willst und was bisher funktioniert und was nicht funktioniert.
Da fängt mein Problem eben an. Ich habe mich in die SoftwareSerial - Bibliothek eingelesen, doch ich komme da nicht mehr weiter.
Das Ziel ist es über die serielle Schnittstelle die Daten zu übermitteln.
Muss ich die ausgelesenen Daten zuerst übermitteln und dann auf dem Arduino Uno in den Array schreiben?
Warum überhaupt auf den Uno senden ?
Und ich würde die Daten erst seriell senden und dann ein Array bilden.
Ob es auch anders möglich ist, da kann dir sich noch wer was sagen.