Example of using the ATT M2X back end. Connect over Wifi with the ESP8266 chip. This code sends random data to M2X. This code can be used for Any board, just change the RX/TX pins the wifi adapter is connected to.
Dependencies: ESP8266Interface M2XStreamClient jsonlite mbed
Fork of M2X_K64F_Accel_ESP8266-wifi by
main.cpp@6:694279899cf2, 2015-12-11 (annotated)
- Committer:
- mbedAustin
- Date:
- Fri Dec 11 00:58:10 2015 +0000
- Revision:
- 6:694279899cf2
- Parent:
- 5:b3bcb048a5a5
made changes for Nucleo 411 with ESP8266
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jb8414 | 0:ece599ab76bb | 1 | #include "mbed.h" |
jb8414 | 0:ece599ab76bb | 2 | #include "M2XStreamClient.h" |
mbedAustin | 3:694a1a67b156 | 3 | #include "ESP8266Interface.h" |
mbedAustin | 3:694a1a67b156 | 4 | #include "TCPSocketConnection.h" |
jb8414 | 0:ece599ab76bb | 5 | |
jb8414 | 0:ece599ab76bb | 6 | |
mbedAustin | 3:694a1a67b156 | 7 | /* |
mbedAustin | 5:b3bcb048a5a5 | 8 | * ESP8266 Wifi Config for nucleo 411 |
mbedAustin | 3:694a1a67b156 | 9 | */ |
mbedAustin | 6:694279899cf2 | 10 | ESP8266Interface wifi(D8,D2,D3,"wifiName","wifiPassword",115200); // TX,RX,Reset,SSID,Password,Baud |
mbedAustin | 6:694279899cf2 | 11 | |
mbedAustin | 6:694279899cf2 | 12 | // |
mbedAustin | 6:694279899cf2 | 13 | // Fill these field in from you ATT M2X Account |
mbedAustin | 6:694279899cf2 | 14 | // |
mbedAustin | 6:694279899cf2 | 15 | char deviceId[] = "<deviceID>"; // Device you want to push to |
mbedAustin | 6:694279899cf2 | 16 | char streamName[] = "<streamID>"; // Stream you want to push to |
mbedAustin | 6:694279899cf2 | 17 | char m2xKey[] = "<deviceAPIKey>"; // Your M2X API Key or Master API Key |
mbedAustin | 3:694a1a67b156 | 18 | |
jb8414 | 0:ece599ab76bb | 19 | int main() |
jb8414 | 0:ece599ab76bb | 20 | { |
mbedAustin | 3:694a1a67b156 | 21 | printf("Starting...\r\n"); |
mbedAustin | 3:694a1a67b156 | 22 | |
mbedAustin | 3:694a1a67b156 | 23 | // connect to wifi |
mbedAustin | 3:694a1a67b156 | 24 | wifi.init(); //Reset |
mbedAustin | 3:694a1a67b156 | 25 | wifi.connect(); //Use DHCP |
mbedAustin | 3:694a1a67b156 | 26 | printf("IP Address is %s \n\r", wifi.getIPAddress()); |
jb8414 | 0:ece599ab76bb | 27 | |
jb8414 | 0:ece599ab76bb | 28 | // Initialize the M2X client |
jb8414 | 0:ece599ab76bb | 29 | Client client; |
mbedAustin | 5:b3bcb048a5a5 | 30 | M2XStreamClient m2xClient(&client, m2xKey,1,"52.22.150.98"); // api-m2x.att.com |
mbedAustin | 5:b3bcb048a5a5 | 31 | |
jb8414 | 0:ece599ab76bb | 32 | int ret; |
mbedAustin | 5:b3bcb048a5a5 | 33 | volatile int randomNumber = 0; |
jb8414 | 0:ece599ab76bb | 34 | |
jb8414 | 0:ece599ab76bb | 35 | while (true) { |
mbedAustin | 5:b3bcb048a5a5 | 36 | // send a random number to M2X every 5 seconds |
mbedAustin | 5:b3bcb048a5a5 | 37 | randomNumber = rand(); |
mbedAustin | 5:b3bcb048a5a5 | 38 | ret = m2xClient.updateStreamValue(deviceId, streamName, randomNumber); |
mbedAustin | 5:b3bcb048a5a5 | 39 | printf("send() returned %d\r\n", ret); |
mbedAustin | 5:b3bcb048a5a5 | 40 | wait(5.0); |
jb8414 | 0:ece599ab76bb | 41 | } |
jb8414 | 0:ece599ab76bb | 42 | } |