Official reference client implementation for Cumulocity SmartREST on u-blox C027.

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Vincent Wochnik

MbedAgent.h

Committer:
Cumulocity
Date:
2014-07-15
Revision:
41:804f6a0bda26
Child:
42:104746744af8

File content as of revision 41:804f6a0bda26:

#ifndef MBEDAGENT_H
#define MBEDAGENT_H

#include <stddef.h>
#include "MDM.h"
#include "DeviceIO.h"
#include "MbedSmartRest.h"
#include "SmartRestTemplate.h"
#include "DeviceInfo.h"
#include "DeviceBootstrap.h"
#include "DeviceIntegration.h"
#include "SignalQualityMeasurement.h"
#include "TemperatureMeasurement.h"
#include "AccelerationMeasurement.h"

#define MBED_AGENT_HOST "developer.cumulocity.com"
#define MBED_AGENT_PORT 80
#define MBED_AGENT_DEVICE_IDENTIFIER "com_cumulocity_MbedAgent_1.0.0"
#define MBED_AGENT_INTERVAL 60.0

class MbedAgent
{
public:
    MbedAgent(MDMSerial&, DeviceInfo&);
    
    bool init();
    bool run();

protected:
    void loop();
    
private:
    DeviceIO _io;
    MDMSerial& _mdm;
    DeviceInfo& _deviceInfo;
    MbedSmartRest _client;
    SmartRestTemplate _tpl;
    DeviceBootstrap _bootstrap;
    DeviceIntegration _integration;
    SignalQualityMeasurement _signalQualityMeasurement;
    TemperatureMeasurement _temperatureMeasurement;
    AccelerationMeasurement _accelerationMeasurement;
    long _deviceId;
};

#endif