Just a little example how to use the pushover.net service in mbed and generally POST
Dependencies: EthernetInterface mbed-rtos mbed
Fork of TCPSocket_HelloWorld by
main.cpp
- Committer:
- emuboy
- Date:
- 2014-12-09
- Revision:
- 16:65193d8d29e6
- Parent:
- 11:59dcefdda506
File content as of revision 16:65193d8d29e6:
#include "mbed.h" #include "EthernetInterface.h" /* By Andrea Campanella Just a small example how to use pushover.net with mbed and generally ho to use POST in mbed. */ int main() { EthernetInterface eth; eth.init(); //Use DHCP eth.connect(); printf("IP Address is %s\n", eth.getIPAddress()); // Pushover settings char pushoversite[] = "api.pushover.net"; char apitoken[] = "APIKEY"; char userkey [] = "USERKEY"; char message [] = "Hello mate"; TCPSocketConnection sock; sock.connect(pushoversite, 80); char http_cmd[300] = "POST /1/messages.json HTTP/1.1\r\n" ; char length[10]; sprintf(length, "%d", 113 + sizeof(message)-1); //strcat( http_cmd , "POST /1/messages.json HTTP/1.1" ); strcat( http_cmd , "Host: api.pushover.net\r\n"); strcat( http_cmd , "Connection: close\r\n "); strcat( http_cmd , "Content-Type: application/x-www-form-urlencoded\r\n"); strcat( http_cmd , "Content-Length: "); strcat( http_cmd , length); strcat( http_cmd , "\r\n\r\n");; strcat( http_cmd , "token="); strcat( http_cmd , apitoken); strcat( http_cmd , "&user="); strcat( http_cmd , userkey); strcat( http_cmd , "&message="); strcat( http_cmd , message); strcat( http_cmd , "&priority="); strcat( http_cmd , "0"); strcat( http_cmd , "&retry=60"); strcat( http_cmd , "&expire=3600"); printf("Sending :%s\n", http_cmd); sock.send_all(http_cmd, sizeof(http_cmd)-1); char buffer[300]; int ret; while (true) { ret = sock.receive(buffer, sizeof(buffer)-1); if (ret <= 0) break; buffer[ret] = '\0'; printf("Received %d chars from server:\n%s\n", ret, buffer); } sock.close(); eth.disconnect(); while(1) {} }