n/a
Dependencies: C12832 mbed-http
Fork of HTTP-Python-Demo by
Diff: main.cpp
- Revision:
- 3:8135a6313648
- Parent:
- 2:b91140c3c3f6
- Child:
- 4:14c774cf7ac2
--- a/main.cpp Fri Nov 17 16:04:17 2017 -0600
+++ b/main.cpp Sun Nov 26 00:22:09 2017 +0000
@@ -12,19 +12,95 @@
// from ARM Limited or its affiliates.
//----------------------------------------------------------------------------
#include "mbed.h"
+#include "config.h"
#include "C12832.h"
#include "OdinWiFiInterface.h"
#include "http_request.h"
-// GLOBAL VARIABLES HERE
-
+C12832 lcd(PE_14, PE_12, PD_12, PD_11, PE_9);
+OdinWiFiInterface wifiIF;
+InterruptIn post_button(PF_2);
+InterruptIn get_put_button(PG_4);
+volatile bool post_clicked = false;
+volatile bool get_clicked = false;
+volatile bool put_clicked = false;
-// FUNCTION DEFINITIONS HERE
+void lcd_print(const char* message) {
+ lcd.cls();
+ lcd.locate(0, 3);
+ lcd.printf(message);
+}
+void send_post() {
+ post_clicked = true;
+}
+
+void send_get_put() {
+ get_clicked = true;
+}
int main() {
- // MAIN CODE HERE
+ int ret;
+ SocketAddress serverAddr;
+
+ lcd_print("Connecting...");
+ ret = wifiIF.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2);
+ if (ret != 0) {
+ lcd_print("Connection error.");
+ return -1;
+ }
+ lcd_print("Successfully connected!");
+ lcd_print(wifiIF.get_mac_address());
+ wifiIF.gethostbyname(SERVERNAME, &serverAddr);
+ /* Enable interrupts */
+ post_button.rise(&send_post);
+ get_put_button.rise(&send_get_put);
+
+ /* Main loop */
+ while (1) {
+ /* Post data */
+ if (post_clicked) {
+ lcd_print("post");
+ post_clicked = false;
+ NetworkInterface* netIF = &wifiIF;
+ HttpRequest* request = new HttpRequest(netIF, HTTP_POST, "http://10.25.2.152:8080");
+ request->set_header("Content-Type", "application/json");
+ const char body[] = "HelloWorld";
+ HttpResponse* response = request->send(body, strlen(body));
+ lcd_print(response->get_body_as_string().c_str());
+ delete request;
+ }
+
+ /* Get data */
+ if (get_clicked) {
+ get_clicked = false;
+ put_clicked = true;
+ NetworkInterface* netIF = &wifiIF;
+ HttpRequest* request = new HttpRequest(netIF, HTTP_GET, "http://10.25.2.152:8080");
+ request->set_header("Content-Type", "application/json");
+ const char body[] = "{\"get\":\"request\"}";
+ HttpResponse* response = request->send(body, strlen(body));
+ lcd_print(response->get_body_as_string().c_str());
+ delete request;
+ }
+
+ wait_ms(2000);
+
+ /* Put */
+ if (put_clicked) {
+ put_clicked = false;
+ lcd_print("put");
+ NetworkInterface* net = &wifiIF;
+ HttpRequest* request = new HttpRequest(net, HTTP_PUT, "http://10.25.2.152:8080");
+ request->set_header("Content-Type", "application/json");
+ const char body[] = "{\"put\":\"request\"}";
+ HttpResponse* response = request->send(body, strlen(body));
+ lcd_print(response->get_body_as_string().c_str());
+ delete request;
+ }
+
+ }
}
