Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SIMInterface mbed
Fork of Azure_SIM800_HelloWorld by
main.cpp@0:60bc1892bfae, 2017-08-10 (annotated)
- Committer:
- BorjaTarazona
- Date:
- Thu Aug 10 10:51:06 2017 +0000
- Revision:
- 0:60bc1892bfae
Creation
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| BorjaTarazona | 0:60bc1892bfae | 1 | #include "mbed.h" // mbed library |
| BorjaTarazona | 0:60bc1892bfae | 2 | #include "HTTPSConnection.h" // SIM800/SIM900 HTTPS library |
| BorjaTarazona | 0:60bc1892bfae | 3 | #include "SIMInterface.h" // SIM800/SIM900 interface |
| BorjaTarazona | 0:60bc1892bfae | 4 | #include <string> // C string library |
| BorjaTarazona | 0:60bc1892bfae | 5 | |
| BorjaTarazona | 0:60bc1892bfae | 6 | #define SERIAL_TX PTC4 // SIM serial port TX pin |
| BorjaTarazona | 0:60bc1892bfae | 7 | #define SERIAL_RX PTC3 // SIM serial port RX pin |
| BorjaTarazona | 0:60bc1892bfae | 8 | #define SERIAL_BAUDRATE 19200 // SIM serial port baudrate |
| BorjaTarazona | 0:60bc1892bfae | 9 | #define SIM_PWRKEY PTC6 // SIM PWRKEY pin |
| BorjaTarazona | 0:60bc1892bfae | 10 | |
| BorjaTarazona | 0:60bc1892bfae | 11 | char* POST_response; // Response from Azure after a POST request |
| BorjaTarazona | 0:60bc1892bfae | 12 | SIMInterface sim(SERIAL_TX,SERIAL_RX,SERIAL_BAUDRATE,SIM_PWRKEY); // SIM Interface Definition |
| BorjaTarazona | 0:60bc1892bfae | 13 | HTTPSConnection simHTTPS(SERIAL_TX,SERIAL_RX,SERIAL_BAUDRATE); // SIM HTTPS Definition |
| BorjaTarazona | 0:60bc1892bfae | 14 | |
| BorjaTarazona | 0:60bc1892bfae | 15 | // <apn> A string parameter to indicate the GPRS access point name. |
| BorjaTarazona | 0:60bc1892bfae | 16 | // Ex: For VODAFONE ES it is "airtelwap.es" |
| BorjaTarazona | 0:60bc1892bfae | 17 | static const char* gprs_apn = ""; |
| BorjaTarazona | 0:60bc1892bfae | 18 | |
| BorjaTarazona | 0:60bc1892bfae | 19 | // <URL> A string parameter to indicate the connection URL. |
| BorjaTarazona | 0:60bc1892bfae | 20 | // Ex: "https://XXXXXXXX.azure-devices.net/devices/XXXXX/messages/events?api-version=2016-02-03" |
| BorjaTarazona | 0:60bc1892bfae | 21 | static const char* gprs_url = ""; |
| BorjaTarazona | 0:60bc1892bfae | 22 | |
| BorjaTarazona | 0:60bc1892bfae | 23 | // <SAS> A string parameter to indicate the Shared Access Signature. |
| BorjaTarazona | 0:60bc1892bfae | 24 | // Ex: "Authorization: SharedAccessSignature sr=XXXXX.azure-devices.net&sig=rCD5ZWvjblAl20djcEdtuL40vpKmdjvQH7lTphIRtJo%3D&se=1530094422" |
| BorjaTarazona | 0:60bc1892bfae | 25 | static const char* gprs_sas = ""; |
| BorjaTarazona | 0:60bc1892bfae | 26 | |
| BorjaTarazona | 0:60bc1892bfae | 27 | // <SAS> A string parameter to indicate the Shared Access Signature |
| BorjaTarazona | 0:60bc1892bfae | 28 | // Ex: "{\"temperature\":0.01123046875}\r\n" |
| BorjaTarazona | 0:60bc1892bfae | 29 | char gprs_data [1000] = ""; |
| BorjaTarazona | 0:60bc1892bfae | 30 | |
| BorjaTarazona | 0:60bc1892bfae | 31 | |
| BorjaTarazona | 0:60bc1892bfae | 32 | // Main function |
| BorjaTarazona | 0:60bc1892bfae | 33 | int main() |
| BorjaTarazona | 0:60bc1892bfae | 34 | { |
| BorjaTarazona | 0:60bc1892bfae | 35 | // Hello |
| BorjaTarazona | 0:60bc1892bfae | 36 | printf("Hola\r\n"); |
| BorjaTarazona | 0:60bc1892bfae | 37 | |
| BorjaTarazona | 0:60bc1892bfae | 38 | // Wake up the module |
| BorjaTarazona | 0:60bc1892bfae | 39 | printf("Wake up, SIM!\r\n"); |
| BorjaTarazona | 0:60bc1892bfae | 40 | sim.wakeUp(); |
| BorjaTarazona | 0:60bc1892bfae | 41 | |
| BorjaTarazona | 0:60bc1892bfae | 42 | // Initializes HTTP and SSL on the module |
| BorjaTarazona | 0:60bc1892bfae | 43 | printf("Initializing HTTPS\r\n"); |
| BorjaTarazona | 0:60bc1892bfae | 44 | simHTTPS.HTTPS_initialization(gprs_apn); |
| BorjaTarazona | 0:60bc1892bfae | 45 | |
| BorjaTarazona | 0:60bc1892bfae | 46 | // Sets our Azure account parameters |
| BorjaTarazona | 0:60bc1892bfae | 47 | printf("Setting Azure IoT Hub Parameters\r\n"); |
| BorjaTarazona | 0:60bc1892bfae | 48 | simHTTPS.HTTPS_setAzureParameters(gprs_url, gprs_sas, gprs_data); |
| BorjaTarazona | 0:60bc1892bfae | 49 | |
| BorjaTarazona | 0:60bc1892bfae | 50 | // Infinite loop |
| BorjaTarazona | 0:60bc1892bfae | 51 | while (true) |
| BorjaTarazona | 0:60bc1892bfae | 52 | { |
| BorjaTarazona | 0:60bc1892bfae | 53 | |
| BorjaTarazona | 0:60bc1892bfae | 54 | // HTTPS POST |
| BorjaTarazona | 0:60bc1892bfae | 55 | printf("HTTPS POST\r\n"); |
| BorjaTarazona | 0:60bc1892bfae | 56 | POST_response = simHTTPS.HTTPS_post(10000); |
| BorjaTarazona | 0:60bc1892bfae | 57 | printf("%s\r\n", POST_response); |
| BorjaTarazona | 0:60bc1892bfae | 58 | |
| BorjaTarazona | 0:60bc1892bfae | 59 | wait_ms(1000); // 1 second delay |
| BorjaTarazona | 0:60bc1892bfae | 60 | |
| BorjaTarazona | 0:60bc1892bfae | 61 | } |
| BorjaTarazona | 0:60bc1892bfae | 62 | } |
