part of the preparation works for Ina-city Hackerthon
Fork of Wio_3G_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);
}
}
