Demo for Mbed Connect Cloud board and an IFTTT integration with Google Sheets
Dependencies: mbed-http C12832
View the tutorial for this demo here.
Diff: working/main_working.h
- Revision:
- 0:e7e395d6f1fc
- Child:
- 2:ba90e563a0d0
diff -r 000000000000 -r e7e395d6f1fc working/main_working.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/working/main_working.h Fri Nov 10 15:56:35 2017 -0600 @@ -0,0 +1,68 @@ +//---------------------------------------------------------------------------- +// The confidential and proprietary information contained in this file may +// only be used by a person authorised under and to the extent permitted +// by a subsisting licensing agreement from ARM Limited or its affiliates. +// +// (C) COPYRIGHT 2016 ARM Limited or its affiliates. +// ALL RIGHTS RESERVED +// +// This entire notice must be reproduced on all copies of this file +// and copies of this file may only be made by a person if such person is +// permitted to do so under the terms of a subsisting license agreement +// from ARM Limited or its affiliates. +//---------------------------------------------------------------------------- +#include "mbed.h" +#include "OdinWiFiInterface.h" +#include "TCPSocket.h" +#include "http_request.h" + +// GLOBAL VARIABLES HERE + +OdinWiFiInterface wifi; +InterruptIn button(PF_2); +volatile int count = 0; +volatile bool clicked = false; + +// FUNCTION DEFINTIONS HERE + +void button_clicked() { + clicked = true; + count += 1; + printf("Button Clicked %d\n\r", count); +} + +int main() { + + // MAIN CODE HERE + + printf("\nConnecting to %s...\n", MBED_CONF_APP_WIFI_SSID); + int ret = wifi.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2); + if (ret != 0) { + printf("\nConnection error\n"); + return -1; + } + printf("Success\n\n"); + printf("MAC: %s\n", wifi.get_mac_address()); + printf("IP: %s\n", wifi.get_ip_address()); + printf("Netmask: %s\n", wifi.get_netmask()); + printf("Gateway: %s\n", wifi.get_gateway()); + printf("RSSI: %d\n\n", wifi.get_rssi()); + + button.rise(&button_clicked); + + while (true) { + if (clicked) { + clicked = false; + char body[140]; + char event_name[] = "Button Clicked"; + NetworkInterface* net = &wifi; + HttpRequest* request = new HttpRequest(net, HTTP_POST, "http://maker.ifttt.com/trigger/mbed_connect/with/key/SECRETKEY"); + request->set_header("Content-Type", "application/json"); + sprintf(body, "{\"value1\":\"%s\", \"value2\":\"%d\"}", event_name, count); + HttpResponse* response = request->send(body, strlen(body)); + printf("%s\n\r", response->get_body_as_string().c_str()); + delete request; + } + } + +}