From ae2ee90b730b75cbd9f9342f0cda881accd24e4c Mon Sep 17 00:00:00 2001 From: finikokasulanovenda <13515029@std.stei.itb.ac.id> Date: Tue, 10 Apr 2018 04:37:23 +0700 Subject: [PATCH] Add json parser on main 2 --- src/client_connect.cpp/json_parser.cpp.ino | 60 ++++++++++++++++++++++ src/json_parser.cpp/json_parser.cpp.ino | 12 ++--- src/main_2/main_2.ino | 41 +++++++++++++-- 3 files changed, 104 insertions(+), 9 deletions(-) create mode 100644 src/client_connect.cpp/json_parser.cpp.ino diff --git a/src/client_connect.cpp/json_parser.cpp.ino b/src/client_connect.cpp/json_parser.cpp.ino new file mode 100644 index 0000000..7a0e32c --- /dev/null +++ b/src/client_connect.cpp/json_parser.cpp.ino @@ -0,0 +1,60 @@ +#include <ArduinoJson.h> + +bool isSuccess; +int year; +int humidity; +int light; + +char json[] = "{\"success\":true,\"year\":3,\"humidity\":5,\"light\":10}"; + +void ReadJson(); +char* GenerateJSONString(); + +void setup() { + // put your setup code here, to run once: + Serial.begin(9600); + while (!Serial) continue; +} + +void loop() { +// put your main code here, to run repeatedly: + +} + +void ReadJson() { + StaticJsonBuffer<200> jsonBuffer; + + JsonObject& jsonReader = jsonBuffer.parseObject(json); + + if (!jsonReader.success()) { + Serial.println("parseObject() failed"); + return; + } + + isSuccess = jsonReader["success"]; + year = jsonReader["year"]; + humidity = jsonReader["humidity"]; + light = jsonReader["light"]; + + char* jsonString = GenerateJSONString(); + + Serial.println(jsonString); + /*Serial.println(isSuccess); + Serial.println(year); + Serial.println(humidity); + Serial.println(light);*/ +} + +char* GenerateJSONString() { + char buff[12]; + char* totalString, ageText, humidityText, lightText, yearString, humidityString, lightString; + //yearString = itoa(year,buff,10); + //humidityString = itoa(humidity,buff,10); + //lightString = "12"; + //lightString = itoa(light,buff,10); + //ageText = "age : "; + + totalString = "|age : ";//, yearString, " humidity : ", humidityString, " light : ";//, lightString, "|"; + return (totalString); +} + diff --git a/src/json_parser.cpp/json_parser.cpp.ino b/src/json_parser.cpp/json_parser.cpp.ino index 7a0e32c..3d982aa 100644 --- a/src/json_parser.cpp/json_parser.cpp.ino +++ b/src/json_parser.cpp/json_parser.cpp.ino @@ -48,13 +48,13 @@ void ReadJson() { char* GenerateJSONString() { char buff[12]; char* totalString, ageText, humidityText, lightText, yearString, humidityString, lightString; - //yearString = itoa(year,buff,10); - //humidityString = itoa(humidity,buff,10); - //lightString = "12"; - //lightString = itoa(light,buff,10); - //ageText = "age : "; + yearString = itoa(year,buff,10); + humidityString = itoa(humidity,buff,10); + lightString = "12"; + lightString = itoa(light,buff,10); + ageText = "age : "; - totalString = "|age : ";//, yearString, " humidity : ", humidityString, " light : ";//, lightString, "|"; + totalString = "|age : ", yearString, " humidity : ", humidityString, " light : ", lightString, "|"; return (totalString); } diff --git a/src/main_2/main_2.ino b/src/main_2/main_2.ino index 2007a74..8100dce 100644 --- a/src/main_2/main_2.ino +++ b/src/main_2/main_2.ino @@ -1,6 +1,7 @@ #include <HttpClient.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> +#include <ArduinoJson.h> const int ledPin = 2; const int buttonPin = 4; @@ -42,6 +43,13 @@ const byte digit_pattern[10] = unsigned int counter = 0; +bool isSuccess; +int year; +int humidity; +int light; + +char json[] = "{\"success\":true,\"year\":3,\"humidity\":5,\"light\":10}"; + void setup() { // put your setup code here, to run once: Serial.begin(9600); @@ -78,11 +86,11 @@ void loop() { lcd.setCursor(0,0); lcd.autoscroll(); - lcd.print("Hello! Welcome to GreenTyNo :)"); + lcd.println(json); + //lcd.print(ReadJson()); + //lcd.print("Hello! Welcome to GreenTyNo :)"); delay(1000); - - // put your main code here, to run repeatedly: buttonState = digitalRead(buttonPin); @@ -149,3 +157,30 @@ void update_one_digit(int data) digitalWrite(digit_clock_pin, HIGH); } +void ReadJson() { + StaticJsonBuffer<200> jsonBuffer; + JsonObject& jsonReader = jsonBuffer.parseObject(json); + if (!jsonReader.success()) { + Serial.println("parseObject() failed"); + return; + } + isSuccess = jsonReader["success"]; + year = jsonReader["year"]; + humidity = jsonReader["humidity"]; + light = jsonReader["light"]; + + char* jsonString = GenerateJSONString(); + Serial.println(jsonString); +} + +char* GenerateJSONString() { + char buff[12]; + char* totalString, yearString, humidityString, lightString; + yearString = itoa(year,buff,10); + humidityString = itoa(humidity,buff,10); + lightString = itoa(light,buff,10); + + totalString = "|Antyno| Humidity : ", humidityString, " Light : ", lightString, "|"; + return (totalString); +} + -- GitLab