use serial connected to PC communicate with cloud, and send command to actor and receive date from sensor

Dependencies:   MbedJSONValue mbed nRF24L01

Committer:
Andthen
Date:
Fri Nov 27 09:47:12 2015 +0000
Revision:
0:080e790a3390
use serial connected to communicate with cloud, and use nrf24l01 remote control  and read sensor and actor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Andthen 0:080e790a3390 1 #include "mbed.h"
Andthen 0:080e790a3390 2 #include "MbedJSONValue.h"
Andthen 0:080e790a3390 3 #include <string>
Andthen 0:080e790a3390 4 //------------------------------------
Andthen 0:080e790a3390 5 // Hyperterminal configuration
Andthen 0:080e790a3390 6 // 9600 bauds, 8-bit data, no parity
Andthen 0:080e790a3390 7 //------------------------------------
Andthen 0:080e790a3390 8
Andthen 0:080e790a3390 9 void Jserialize(void);
Andthen 0:080e790a3390 10 void Jparse(void);
Andthen 0:080e790a3390 11
Andthen 0:080e790a3390 12 Serial pc(SERIAL_TX, SERIAL_RX);
Andthen 0:080e790a3390 13
Andthen 0:080e790a3390 14 DigitalOut myled(LED1);
Andthen 0:080e790a3390 15
Andthen 0:080e790a3390 16 int main()
Andthen 0:080e790a3390 17 {
Andthen 0:080e790a3390 18 int i = 1;
Andthen 0:080e790a3390 19 Jserialize();
Andthen 0:080e790a3390 20 Jserialize();
Andthen 0:080e790a3390 21 while(1) {
Andthen 0:080e790a3390 22 wait(1);
Andthen 0:080e790a3390 23 pc.printf("This program runs since %d seconds.\r\n", i++);
Andthen 0:080e790a3390 24 myled = !myled;
Andthen 0:080e790a3390 25 }
Andthen 0:080e790a3390 26 }
Andthen 0:080e790a3390 27
Andthen 0:080e790a3390 28 void Jserialize(void)
Andthen 0:080e790a3390 29 {
Andthen 0:080e790a3390 30
Andthen 0:080e790a3390 31 MbedJSONValue demo;
Andthen 0:080e790a3390 32 std::string s;
Andthen 0:080e790a3390 33
Andthen 0:080e790a3390 34 //fill the object
Andthen 0:080e790a3390 35 demo["my_array"][0] = "demo_string";
Andthen 0:080e790a3390 36 demo["my_array"][1] = 10;
Andthen 0:080e790a3390 37 demo["my_boolean"] = false;
Andthen 0:080e790a3390 38
Andthen 0:080e790a3390 39 //serialize it into a JSON string
Andthen 0:080e790a3390 40 s = demo.serialize();
Andthen 0:080e790a3390 41 printf("json: %s\r\n", s.c_str());
Andthen 0:080e790a3390 42 }
Andthen 0:080e790a3390 43
Andthen 0:080e790a3390 44 void Jparse(void)
Andthen 0:080e790a3390 45 {
Andthen 0:080e790a3390 46 MbedJSONValue demo;
Andthen 0:080e790a3390 47
Andthen 0:080e790a3390 48 const char * json = "{\"my_array\": [\"demo_string\", 10], \"my_boolean\": true}";
Andthen 0:080e790a3390 49
Andthen 0:080e790a3390 50 //parse the previous string and fill the object demo
Andthen 0:080e790a3390 51 parse(demo, json);
Andthen 0:080e790a3390 52
Andthen 0:080e790a3390 53 std::string my_str;
Andthen 0:080e790a3390 54 int my_int;
Andthen 0:080e790a3390 55 bool my_bool;
Andthen 0:080e790a3390 56
Andthen 0:080e790a3390 57 my_str = demo["my_array"][0].get<std::string>();
Andthen 0:080e790a3390 58 my_int = demo["my_array"][1].get<int>();
Andthen 0:080e790a3390 59 my_bool = demo["my_boolean"].get<bool>();
Andthen 0:080e790a3390 60
Andthen 0:080e790a3390 61 printf("my_str: %s\r\n", my_str.c_str());
Andthen 0:080e790a3390 62 printf("my_int: %d\r\n", my_int);
Andthen 0:080e790a3390 63 printf("my_bool: %s\r\n", my_bool ? "true" : "false");
Andthen 0:080e790a3390 64 }