/*  RX 
 *   
 *  Eingabesstring über serielle Schnittstelle:   {"D8":1,"D9":1,"D10“:0,„D11“:1}
 *  
 *  Ergibt:  1 1 0 1
 */

#include <ArduinoJson.h>

int d8, d9, d10, d11;

String json;


void setup() {
  Serial.begin(9600);
  while (!Serial) {
  }
  Serial1.begin(9600);
  while (!Serial1) {
  }


  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
}

void loop() 
{
    if(Serial1.available() > 0)
    {
        StaticJsonBuffer<200> jsonBuffer;
        
        json = Serial1.readStringUntil('\n');
        JsonObject& root = jsonBuffer.parseObject(json);

        if (!root.success()) {
          Serial1.println("parseObject() failed");
          return;
        }

        d8 = root[ "D8" ];
        d9 = root[ "D9" ];
        d10 = root[ "D10" ];
        d11 = root[ "D11" ];

        digitalWrite( 8, d8 );
        digitalWrite( 9, d9 );
        digitalWrite( 10, d10 );
        digitalWrite( 11, d11 );
        
    }
}