Remote monitoring IoTHub device sample Added real SHTx sensor to get temperature and humidity Added new command to set temperature scale change Removed "mock" commands to set temperature and humidity values It's configured to work on FRDM-K64F board

Dependencies:   EthernetInterface NTPClient SHTx iothub_amqp_transport iothub_client mbed-rtos mbed proton-c-mbed serializer wolfSSL

Fork of remote_monitoring by Azure IoT

Committer:
AzureIoTClient
Date:
Thu Sep 17 00:12:12 2015 -0700
Revision:
5:0ac6b44084ed
Parent:
2:90e50410da9b
Child:
6:066c3ca4df78
New release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AzureIoTClient 0:422f22f60a44 1 // Copyright (c) Microsoft. All rights reserved.
AzureIoTClient 0:422f22f60a44 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
AzureIoTClient 0:422f22f60a44 3
AzureIoTClient 0:422f22f60a44 4 #include <stdio.h>
AzureIoTClient 0:422f22f60a44 5 #include "EthernetInterface.h"
AzureIoTClient 0:422f22f60a44 6 #include "mbed/logging.h"
AzureIoTClient 0:422f22f60a44 7 #include "mbed/mbedtime.h"
AzureIoTClient 0:422f22f60a44 8 #include "asset_monitoring.h"
AzureIoTClient 2:90e50410da9b 9 #include "NTPClient.h"
AzureIoTClient 2:90e50410da9b 10
AzureIoTClient 5:0ac6b44084ed 11 int setupRealTime(void)
AzureIoTClient 2:90e50410da9b 12 {
AzureIoTClient 2:90e50410da9b 13 (void)printf("setupRealTime begin\r\n");
AzureIoTClient 2:90e50410da9b 14 if (EthernetInterface::connect())
AzureIoTClient 2:90e50410da9b 15 {
AzureIoTClient 2:90e50410da9b 16 (void)printf("Error initializing EthernetInterface.\r\n");
AzureIoTClient 5:0ac6b44084ed 17 result = __LINE__;
AzureIoTClient 2:90e50410da9b 18 }
AzureIoTClient 2:90e50410da9b 19 else
AzureIoTClient 2:90e50410da9b 20 {
AzureIoTClient 2:90e50410da9b 21 (void)printf("setupRealTime NTP begin\r\n");
AzureIoTClient 2:90e50410da9b 22 NTPClient ntp;
AzureIoTClient 2:90e50410da9b 23 if (ntp.setTime("0.pool.ntp.org") != 0)
AzureIoTClient 2:90e50410da9b 24 {
AzureIoTClient 2:90e50410da9b 25 (void)printf("Failed setting time.\r\n");
AzureIoTClient 5:0ac6b44084ed 26 result = __LINE__;
AzureIoTClient 2:90e50410da9b 27 }
AzureIoTClient 2:90e50410da9b 28 else
AzureIoTClient 2:90e50410da9b 29 {
AzureIoTClient 2:90e50410da9b 30 (void)printf("set time correctly!\r\n");
AzureIoTClient 5:0ac6b44084ed 31 result = 0;
AzureIoTClient 2:90e50410da9b 32 }
AzureIoTClient 2:90e50410da9b 33 (void)printf("setupRealTime NTP end\r\n");
AzureIoTClient 2:90e50410da9b 34 EthernetInterface::disconnect();
AzureIoTClient 2:90e50410da9b 35 }
AzureIoTClient 2:90e50410da9b 36 (void)printf("setupRealTime end\r\n");
AzureIoTClient 5:0ac6b44084ed 37
AzureIoTClient 5:0ac6b44084ed 38 return result;
AzureIoTClient 2:90e50410da9b 39 }
AzureIoTClient 0:422f22f60a44 40
AzureIoTClient 0:422f22f60a44 41 int main(void)
AzureIoTClient 0:422f22f60a44 42 {
AzureIoTClient 0:422f22f60a44 43 (void)printf("Initializing mbed specific things...\r\n");
AzureIoTClient 0:422f22f60a44 44
AzureIoTClient 2:90e50410da9b 45 if (EthernetInterface::init())
AzureIoTClient 2:90e50410da9b 46 {
AzureIoTClient 2:90e50410da9b 47 (void)printf("Error initializing EthernetInterface.\r\n");
AzureIoTClient 2:90e50410da9b 48 return -1;
AzureIoTClient 2:90e50410da9b 49 }
AzureIoTClient 0:422f22f60a44 50
AzureIoTClient 2:90e50410da9b 51 if (setupRealTime() != 0)
AzureIoTClient 2:90e50410da9b 52 {
AzureIoTClient 2:90e50410da9b 53 (void)printf("Failed setting up real time clock\r\n");
AzureIoTClient 2:90e50410da9b 54 return -1;
AzureIoTClient 2:90e50410da9b 55 }
AzureIoTClient 2:90e50410da9b 56
AzureIoTClient 2:90e50410da9b 57 if (EthernetInterface::connect())
AzureIoTClient 2:90e50410da9b 58 {
AzureIoTClient 2:90e50410da9b 59 (void)printf("Error connecting EthernetInterface.\r\n");
AzureIoTClient 2:90e50410da9b 60 return -1;
AzureIoTClient 2:90e50410da9b 61 }
AzureIoTClient 0:422f22f60a44 62
AzureIoTClient 0:422f22f60a44 63 asset_monitoring_run();
AzureIoTClient 0:422f22f60a44 64
AzureIoTClient 2:90e50410da9b 65 (void)EthernetInterface::disconnect();
AzureIoTClient 2:90e50410da9b 66
AzureIoTClient 0:422f22f60a44 67 return 0;
AzureIoTClient 0:422f22f60a44 68 }