54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
#ifndef WAKAAMA_CLIENT_H_
|
|
#define WAKAAMA_CLIENT_H_
|
|
|
|
|
|
#include <Udp.h>
|
|
#include <EthernetUdp.h>
|
|
#include "connection.h"
|
|
|
|
#define OBJ_COUNT 4
|
|
|
|
extern "C" {
|
|
extern lwm2m_object_t * get_object_device(void);
|
|
extern void free_object_device(lwm2m_object_t * objectP);
|
|
extern lwm2m_object_t * get_server_object(void);
|
|
extern void free_server_object(lwm2m_object_t * object);
|
|
extern lwm2m_object_t * get_security_object(const char * uri);
|
|
extern void free_security_object(lwm2m_object_t * objectP);
|
|
extern char * get_server_uri(lwm2m_object_t * objectP, uint16_t secObjInstID);
|
|
extern lwm2m_object_t * get_test_object(void);
|
|
extern void free_test_object(lwm2m_object_t * object);
|
|
};
|
|
|
|
typedef struct
|
|
{
|
|
lwm2m_object_t * securityObjP;
|
|
connection_t * connList;
|
|
EthernetUDP * udp;
|
|
} client_data_t;
|
|
|
|
|
|
class ArduinoClient {
|
|
|
|
public:
|
|
ArduinoClient(const char *uri) : uri(uri) {};
|
|
void init();
|
|
~ArduinoClient();
|
|
void doWorkStep();
|
|
private:
|
|
const char * uri;
|
|
const uint16_t localPort = 56830;
|
|
const char * name = "arduino_lwm2m_client";
|
|
time_t step_delay = 60;
|
|
int result;
|
|
|
|
char packetBuffer[UDP_TX_PACKET_MAX_SIZE];
|
|
|
|
client_data_t data;
|
|
lwm2m_context_t * lwm2mH = nullptr;
|
|
lwm2m_object_t * objArray[OBJ_COUNT];
|
|
|
|
};
|
|
|
|
#endif
|