Library for HTTPS Communication with Azure using SIMCOM Modules, such as SIM800, SIM900. SSL is required, update your module to the latest firmware.

Dependents:   SIMInterface

Revision:
0:3cf9be45a676
Child:
1:082b9b2c7935
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HTTPSConnection.h	Thu Aug 10 10:41:06 2017 +0000
@@ -0,0 +1,66 @@
+#ifndef _HTTPSConnection_H
+#define _HTTPSConnection_H
+
+#include "mbed.h"
+#include "ATCommand.h"
+
+/** Library for HTTPS Communication with Azure using SIMCOM Modules, such as SIM800, SIM900
+ *
+ * @brief Currently tested on SIM900, SIM800, SIM800L and SIM800F 
+ *
+ */
+
+class HTTPSConnection
+{
+
+    protected:
+        /** Serial port for UART Communication
+        **/
+        ATSerial sim800_HTTPS;
+
+    public:
+        
+        /** Create an HTTPS Serial Interface
+         *
+         *  @param tx Tx pin for the UART 
+         *  @param rx RX pin for the UART
+         *  @param baudrate Baudrate for the UART 
+         *
+         **/
+        HTTPSConnection(PinName tx, PinName rx, int baudrate);
+        
+        /** Function to initialize the HTTP and SSL capabilities of the module
+         *
+         *  @param gprs_apn APN of our network provider
+         *
+         **/
+        void HTTPS_initialization(const char* gprs_apn);
+        
+        /** Function set the Azure IoT Hub parameters
+         *
+         *  @param gprs_url Azure URL
+         *  @param gprs_sas Azure Shared Access Signature
+         *  @param gprs_data data we want to send
+         *
+         **/
+        void HTTPS_setAzureParameters(const char* gprs_url, const char* gprs_sas, char* gprs_data);
+        
+        /** Function set the Azure IoT Hub parameters
+         *
+         *  @param gprs_data Update the string to send
+         *
+         **/
+        void HTTPS_updateStringToSend(char* gprs_data);
+        
+        /** Function to send an HTTPS Post to Azure
+         *
+         *  @param timeout Time we wait for the POST response
+         *
+         **/
+        char* HTTPS_post(int timeout);
+        
+    private:
+  
+};
+
+#endif
\ No newline at end of file