Toyomasa Watarai
/
Wio_3G_HTTP-GET-example
Wio 3G with kintone example
Fork of Wio_3G_HTTP-GET-example by
Diff: main.cpp
- Revision:
- 77:0194cca4103b
- Parent:
- 76:fe9dd61c5f5c
- Child:
- 78:7f66af24c678
--- a/main.cpp Wed Aug 22 05:27:25 2018 +0000 +++ b/main.cpp Thu Aug 23 04:01:41 2018 +0000 @@ -1,10 +1,4 @@ #include "mbed.h" -#include "Grove_LCD_RGB_Backlight.h" -#include "Grove_temperature.h" -#include "WS2812.h" -#include "PixelArray.h" -#include "Servo.h" - #include <sstream> #include "easy-connect.h" #include "https_request.h" @@ -14,46 +8,38 @@ #error Selected target is not supported. #endif -#define D20 (PB_4) -#define D19 (PB_3) - // on-board resources - Serial pc(USBTX, USBRX, 115200); DigitalOut GrovePower(PB_10, 1); -#define WS2812_BUF 8 -#define NUM_COLORS 8 -#define NUM_LEDS_PER_COLOR 8 -#define H0 8 -#define L0 32 -#define H1 17 -#define L1 32 - -DigitalOut LEDPower(PE_8, 1); -PixelArray px(WS2812_BUF); -WS2812 ws(PB_1, WS2812_BUF, H0, L0, H1, L1); +#define D20 (PB_4) // Grove sensors -DigitalOut led1(D38); -AnalogIn ain(A6); // angle or light sensor -InterruptIn btn(D20); // button or touch sensor -Grove_LCD_RGB_Backlight lcd(I2C_SDA, I2C_SCL); -Grove_temperature temp(A4); +// buzzer +DigitalOut buzzer(D38); +int buzzer_on = 1, buzzer_off = 0; +// button or touch sensor +InterruptIn btn(D20); uint32_t button = 0; +int id = 0; void push() { button++; + id++; } +// For your API Token, refer to "API token" in your application setting page +const char API_TOKEN[] = "api-token"; +// Your domain name can be seen in the usage explanation with curl. +const char URL[] = "https://{domain}.cybozu.com/k/v1/record.json"; -const char API_TOKEN[] = "tfa6Ud9FY760SfLLhHl3UBr0NFdVHEFLHvdjTsrW"; -const char URL[] = "https://devzfyjsa.cybozu.com/k/v1/record.json"; +// app_id, application id, can be checked with your application's URL +// e.g. https://{domain}.cybozu.com/k/2/ -> app_id is 2 +int app_id = 1; -int app_id = 1; // JSON simplicity parser char* j_paser( const char *buf , char *word , char *out ) @@ -77,115 +63,40 @@ return p; } - - - +// main method. retrieve data from Kintone by HTTP GET int main() { char buf[20]; btn.fall(push); // set interrupt handler - lcd.clear(); - lcd.setRGB(0xff, 0x00, 0x00); - lcd.locate(0, 0); - lcd.print("Hello World!"); - lcd.locate(0, 1); - - // set up the colours we want to draw with - const int colorbuf[NUM_COLORS] = {0x000000, 0x2f0000,0x2f2f00,0x002f00,0x002f2f,0x00002f,0x2f002f, 0x2f2f2f}; - - ::ws.useII(WS2812::PER_PIXEL); // use per-pixel intensity scaling - - // for each of the colours (j) write out 10 of them - // the pixels are written at the colour*10, plus the colour position - // all modulus 60 so it wraps around - for (int i = 0; i < WS2812_BUF; i++) { - px.Set(i, colorbuf[i]); - px.SetI(i, 0x80); - } - - pc.printf("hello, Mbed world\n"); - - /* - int cnt = 0; - int idx = 0; - - while (true) { - pc.printf("count = %4d, button = %d, analog = %2.2f, temp = %2.2f\n", cnt++, button, ain.read(), temp.getTemperature()); - sprintf(buf, "L=%2.2f, T=%2.2f", ain.read(), temp.getTemperature()); - - lcd.setRGB(0xff, (255*ain.read()), 0x00); - lcd.locate(0, 1); - lcd.print(buf); - - led1 = !led1; - - ws.write_offsets(px.getBuf(), idx, idx, idx); - idx++; - if (idx >= WS2812_BUF) { - idx = 0; - } - - wait(0.5); - } - */ + pc.printf("Greetings from Ina-city Hackerthon on 25-26 of August\n"); + 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 = 10; - - /* - // 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){ + // 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()); + pc.printf("\r\n----- HTTPS GET request -----\r\n"); HttpsRequest* get_req = new HttpsRequest(network, SSL_CA_PEM, HTTP_GET, url.c_str()); @@ -208,26 +119,18 @@ 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; - */ + int buzz_flag = 1; + while(buzz_flag){ + buzzer = buzzer_on; + wait(.5); + buzzer = buzzer_off; + wait(.5); + buzz_flag = 0; + } delete get_req; @@ -238,8 +141,7 @@ wait(10.0); } - - //while(fire == 0); + wait(1.0); } }