use serial connected to PC communicate with cloud, and send command to actor and receive date from sensor
Dependencies: MbedJSONValue mbed nRF24L01
main.cpp@0:080e790a3390, 2015-11-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |