A simple IoTHub sample using AMQP as transport

Dependencies:   EthernetInterface NTPClient iothub_amqp_transport iothub_client mbed-rtos mbed azure_c_shared_utility serializer wolfSSL azure_uamqp_c

This sample showcases the usage of Azure IoT client libraries with the AMQP transport for sending/receiving raw messages from an IoT Hub.

Revision:
16:b2c6de619743
Child:
21:b8b8782d412f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Oct 22 18:33:52 2015 -0700
@@ -0,0 +1,74 @@
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+#include <stdio.h>
+#include "EthernetInterface.h"
+#include "mbed/logging.h"
+#include "mbed/mbedtime.h"
+#include "simplesample_amqp.h"
+#include "NTPClient.h"
+
+int setupRealTime(void)
+{
+	int result;
+
+	(void)printf("setupRealTime begin\r\n");
+	if (EthernetInterface::connect())
+	{
+		(void)printf("Error initializing EthernetInterface.\r\n");
+		result = __LINE__;
+	}
+	else
+	{
+		(void)printf("setupRealTime NTP begin\r\n");
+		NTPClient ntp;
+		if (ntp.setTime("0.pool.ntp.org") != 0)
+		{
+			(void)printf("Failed setting time.\r\n");
+			result = __LINE__;
+		}
+		else
+		{
+			(void)printf("set time correctly!\r\n");
+			result = 0;
+		}
+		(void)printf("setupRealTime NTP end\r\n");
+		EthernetInterface::disconnect();
+	}
+	(void)printf("setupRealTime end\r\n");
+
+	return result;
+}
+
+int main(void)
+{
+    (void)printf("Initializing mbed specific things...\r\n");
+
+    /* These are needed in order to initialize the time provider for Proton-C */
+    mbed_log_init();
+    mbedtime_init();
+
+	if (EthernetInterface::init())
+	{
+		(void)printf("Error initializing EthernetInterface.\r\n");
+		return -1;
+	}
+
+	if (setupRealTime() != 0)
+	{
+		(void)printf("Failed setting up real time clock\r\n");
+		return -1;
+	}
+
+	if (EthernetInterface::connect())
+	{
+		(void)printf("Error connecting EthernetInterface.\r\n");
+		return -1;
+	}
+
+    simplesample_amqp_run();
+
+	(void)EthernetInterface::disconnect();
+
+	return 0;
+}