test2
Dependencies: C12832 mbed-http
Fork of Mbed-to-cybozu-kintone_get_sample by
Revision 0:5c7abfb1236c, committed 2018-08-01
- Comitter:
- JKsoft_main
- Date:
- Wed Aug 01 00:02:58 2018 +0000
- Child:
- 1:b1a105041b2b
- Commit message:
- First Release
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.gitignore Wed Aug 01 00:02:58 2018 +0000 @@ -0,0 +1,4 @@ +.build +.mbed +projectfiles +*.py*
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/C12832.lib Wed Aug 01 00:02:58 2018 +0000 @@ -0,0 +1,1 @@ +http://os.mbed.com/users/chris/code/C12832/#7de323fa46fe
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Wed Aug 01 00:02:58 2018 +0000 @@ -0,0 +1,57 @@ +# Getting started with Blinky on mbed OS + +This guide reviews the steps required to get Blinky working on an mbed OS platform. + +Please install [mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli). + +## Import the example application + +From the command-line, import the example: + +``` +mbed import mbed-os-example-blinky +cd mbed-os-example-blinky +``` + +### Now compile + +Invoke `mbed compile`, and specify the name of your platform and your favorite toolchain (`GCC_ARM`, `ARM`, `IAR`). For example, for the ARM Compiler 5: + +``` +mbed compile -m K64F -t ARM +``` + +Your PC may take a few minutes to compile your code. At the end, you see the following result: + +``` +[snip] ++----------------------------+-------+-------+------+ +| Module | .text | .data | .bss | ++----------------------------+-------+-------+------+ +| Misc | 13939 | 24 | 1372 | +| core/hal | 16993 | 96 | 296 | +| core/rtos | 7384 | 92 | 4204 | +| features/FEATURE_IPV4 | 80 | 0 | 176 | +| frameworks/greentea-client | 1830 | 60 | 44 | +| frameworks/utest | 2392 | 512 | 292 | +| Subtotals | 42618 | 784 | 6384 | ++----------------------------+-------+-------+------+ +Allocated Heap: unknown +Allocated Stack: unknown +Total Static RAM memory (data + bss): 7168 bytes +Total RAM memory (data + bss + heap + stack): 7168 bytes +Total Flash memory (text + data + misc): 43402 bytes +Image: .\.build\K64F\ARM\mbed-os-example-blinky.bin +``` + +### Program your board + +1. Connect your mbed device to the computer over USB. +1. Copy the binary file to the mbed device. +1. Press the reset button to start the program. + +The LED on your platform turns on and off. + +## Troubleshooting + +If you have problems, you can review the [documentation](https://os.mbed.com/docs/latest/tutorials/debugging.html) for suggestions on what could be wrong and how to fix it.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/easy-connect.lib Wed Aug 01 00:02:58 2018 +0000 @@ -0,0 +1,1 @@ +https://github.com/ARMmbed/easy-connect/#aaf89690919fc378799e680119a58a222402799f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Wed Aug 01 00:02:58 2018 +0000
@@ -0,0 +1,153 @@
+#include "mbed.h"
+#include <sstream>
+#include "easy-connect.h"
+#include "https_request.h"
+#include "ssl_ca_pem.h"
+#include "C12832.h"
+
+C12832 lcd(D11, D13, D12, D7, D10);
+DigitalIn up(A2);
+DigitalIn down(A3);
+DigitalIn left(A4);
+DigitalIn right(A5);
+DigitalIn fire(D4);
+PwmOut spkr(D6);
+
+Serial pc(USBTX,USBRX);
+
+const char API_TOKEN[] = "api-token";
+const char URL[] = "https://{domain}.cybozu.com/k/v1/record.json";
+
+int app_id = 2;
+
+// JSON simplicity parser
+char* j_paser( const char *buf , char *word , char *out )
+{
+ int i = 0;
+ char *p;
+ char _word[64] = "\"\0";
+
+ strcat(_word , word );
+ strcat(_word , "\"" );
+
+ p = strstr( (char*)buf , _word ) + 2 + strlen(_word);
+
+ while( (p[i] != ',')&&(p[i] != '\n')&&(p[i] != '"') )
+ {
+ out[i] = p[i];
+ i++;
+ }
+ out[i] = '\0';
+
+ return p;
+}
+
+// main() runs in its own thread in the OS
+int main() {
+ NetworkInterface* network = NULL;
+
+ pc.baud(115200);
+
+ lcd.cls();
+ lcd.locate(0,3);
+ lcd.printf("Network Connect..");
+
+ pc.printf("\r\n----- Start -----\r\n");
+
+ network = easy_connect(true); // If true, prints out connection details.
+ if (!network) {
+ lcd.printf("NG");
+ pc.printf("\r\n----- Network Error -----\r\n");
+ return -1;
+ }
+
+ lcd.printf("OK");
+ pc.printf("\r\n----- Network Connected -----\r\n");
+
+ wait(2.0);
+
+ while(1){
+ int id = 1;
+
+ // ID select
+ lcd.cls();
+ lcd.locate(0,3);
+ lcd.printf("Please select id.");
+ while(fire == 0){
+ lcd.locate(0,14);
+ lcd.printf("id = ");
+ if( up == 1) id++;
+ if( down == 1) id--;
+ lcd.printf("%d ",id);
+ wait(0.2);
+ }
+
+ lcd.cls();
+ lcd.locate(0,3);
+ lcd.printf("It is polling with the selected id.");
+
+ // Set url
+ std::stringstream ss_url;
+ std::string s_url(URL);
+
+ ss_url << s_url << "?app=" << app_id << "&id=" << id;
+
+ string url = ss_url.str();
+
+ pc.printf("%s\r\n",url.c_str());
+
+ while(1){
+ pc.printf("\r\n----- HTTPS GET request -----\r\n");
+ HttpsRequest* get_req = new HttpsRequest(network, SSL_CA_PEM, HTTP_GET, url.c_str());
+
+ get_req->set_header("X-Cybozu-API-Token", API_TOKEN);
+
+ HttpResponse* get_res = get_req->send();
+
+ pc.printf("\n----- HTTPS GET response [%d]-----\n",get_res->get_status_code());
+
+ if(get_res->get_status_code() == 200){
+ pc.printf("\n----- HTTPS GET response 200 -----\n");
+ const char* body = get_res->get_body_as_string().c_str();
+
+ pc.printf("%s\r\n",body);
+
+ // Response JSON parse
+ char value[256];
+
+ char* p = j_paser(body,"日付",value);
+ j_paser(p,"value",value);
+ printf("date:%s\r\n",value);
+
+ lcd.cls();
+ lcd.locate(0,3);
+ lcd.printf("Date:%s",value);
+
+ p = j_paser(body,"文字列__1行_",value);
+ j_paser(p,"value",value);
+ printf("%s\r\n",value);
+
+ lcd.locate(0,14);
+ lcd.printf("name:%s",value);
+
+ // Sound an alert
+ spkr.period(1.0/5000.0);
+ spkr=0.5;
+ wait(1.0);
+ spkr=0.0;
+
+ delete get_req;
+
+ break;
+ }
+
+ delete get_req;
+
+ wait(10.0);
+ }
+
+ while(fire == 0);
+ wait(1.0);
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-http.lib Wed Aug 01 00:02:58 2018 +0000 @@ -0,0 +1,1 @@ +http://os.mbed.com/teams/sandbox/code/mbed-http/#9a04ed79d67e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-os.lib Wed Aug 01 00:02:58 2018 +0000 @@ -0,0 +1,1 @@ +https://github.com/ARMmbed/mbed-os/#35fa909641fedcad9bbe0c7300d4ccdf15a2b71a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed_app.json Wed Aug 01 00:02:58 2018 +0000
@@ -0,0 +1,59 @@
+{
+ "macros": [
+ ],
+ "config": {
+ "main-stack-size": {
+ "value": 8192
+ },
+ "network-interface":{
+ "help": "options are ETHERNET, WIFI_ESP8266, WIFI_ODIN, WIFI_RTW, MESH_LOWPAN_ND, MESH_THREAD, CELLULAR_ONBOARD",
+ "value": "WIFI_ESP8266"
+ },
+ "mesh_radio_type": {
+ "help": "options are ATMEL, MCR20",
+ "value": "ATMEL"
+ },
+ "esp8266-tx": {
+ "help": "Pin used as TX (connects to ESP8266 RX)",
+ "value": "D1"
+ },
+ "esp8266-rx": {
+ "help": "Pin used as RX (connects to ESP8266 TX)",
+ "value": "D0"
+ },
+ "wifi-ssid": {
+ "value": "\"ssid\""
+ },
+ "wifi-password": {
+ "value": "\"password\""
+ },
+ "esp8266-debug": {
+ "value": null
+ }
+ },
+ "target_overrides": {
+ "*": {
+ "target.features_add": ["NANOSTACK", "LOWPAN_ROUTER", "COMMON_PAL"],
+ "mbed-mesh-api.6lowpan-nd-channel-page": 0,
+ "mbed-mesh-api.6lowpan-nd-channel": 12,
+ "mbed-trace.enable": 0,
+ "platform.stdio-baud-rate": 115200,
+ "platform.stdio-convert-newlines": false
+ },
+ "RZ_A1H": {
+ "target.macros_add": ["MBEDTLS_TEST_NULL_ENTROPY", "MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES"]
+ },
+ "HEXIWEAR": {
+ "esp8266-tx": "PTD3",
+ "esp8266-rx": "PTD2"
+ },
+ "NUCLEO_F401RE": {
+ "esp8266-tx": "D8",
+ "esp8266-rx": "D2"
+ },
+ "NUCLEO_F411RE": {
+ "esp8266-tx": "D8",
+ "esp8266-rx": "D2"
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ssl_ca_pem.h Wed Aug 01 00:02:58 2018 +0000 @@ -0,0 +1,29 @@ +const char SSL_CA_PEM[] = "-----BEGIN CERTIFICATE-----\n" +"MIIFADCCA+igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx\n" +"EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT\n" +"HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs\n" +"ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAw\n" +"MFoXDTMxMDUwMzA3MDAwMFowgcYxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6\n" +"b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj\n" +"aG5vbG9naWVzLCBJbmMuMTMwMQYDVQQLEypodHRwOi8vY2VydHMuc3RhcmZpZWxk\n" +"dGVjaC5jb20vcmVwb3NpdG9yeS8xNDAyBgNVBAMTK1N0YXJmaWVsZCBTZWN1cmUg\n" +"Q2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IB\n" +"DwAwggEKAoIBAQDlkGZL7PlGcakgg77pbL9KyUhpgXVObST2yxcT+LBxWYR6ayuF\n" +"pDS1FuXLzOlBcCykLtb6Mn3hqN6UEKwxwcDYav9ZJ6t21vwLdGu4p64/xFT0tDFE\n" +"3ZNWjKRMXpuJyySDm+JXfbfYEh/JhW300YDxUJuHrtQLEAX7J7oobRfpDtZNuTlV\n" +"Bv8KJAV+L8YdcmzUiymMV33a2etmGtNPp99/UsQwxaXJDgLFU793OGgGJMNmyDd+\n" +"MB5FcSM1/5DYKp2N57CSTTx/KgqT3M0WRmX3YISLdkuRJ3MUkuDq7o8W6o0OPnYX\n" +"v32JgIBEQ+ct4EMJddo26K3biTr1XRKOIwSDAgMBAAGjggEsMIIBKDAPBgNVHRMB\n" +"Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUJUWBaFAmOD07LSy+\n" +"zWrZtj2zZmMwHwYDVR0jBBgwFoAUfAwyH6fZMH/EfWijYqihzqsHWycwOgYIKwYB\n" +"BQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5zdGFyZmllbGR0ZWNo\n" +"LmNvbS8wOwYDVR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC5zdGFyZmllbGR0ZWNo\n" +"LmNvbS9zZnJvb3QtZzIuY3JsMEwGA1UdIARFMEMwQQYEVR0gADA5MDcGCCsGAQUF\n" +"BwIBFitodHRwczovL2NlcnRzLnN0YXJmaWVsZHRlY2guY29tL3JlcG9zaXRvcnkv\n" +"MA0GCSqGSIb3DQEBCwUAA4IBAQBWZcr+8z8KqJOLGMfeQ2kTNCC+Tl94qGuc22pN\n" +"QdvBE+zcMQAiXvcAngzgNGU0+bE6TkjIEoGIXFs+CFN69xpk37hQYcxTUUApS8L0\n" +"rjpf5MqtJsxOYUPl/VemN3DOQyuwlMOS6eFfqhBJt2nk4NAfZKQrzR9voPiEJBjO\n" +"eT2pkb9UGBOJmVQRDVXFJgt5T1ocbvlj2xSApAer+rKluYjdkf5lO6Sjeb6JTeHQ\n" +"sPTIFwwKlhR8Cbds4cLYVdQYoKpBaXAko7nv6VrcPuuUSvC33l8Odvr7+2kDRUBQ\n" +"7nIMpBKGgc0T0U7EPMpODdIm8QC3tKai4W56gf0wrHofx1l7\n" +"-----END CERTIFICATE-----\n"; \ No newline at end of file
