Borja Tarazona / Mbed 2 deprecated Azure_SIM800_HelloWorld

Dependencies:   SIMInterface mbed

Fork of Azure_SIM800_HelloWorld by Borja Tarazona

Committer:
BorjaTarazona
Date:
Thu Aug 10 10:51:06 2017 +0000
Revision:
0:60bc1892bfae
Creation

Who changed what in which revision?

UserRevisionLine numberNew 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 }