diff --git a/applications/ems_datahubs/datahubs.vcxproj b/applications/ems_datahubs/datahubs.vcxproj
index 4731959..715d003 100644
--- a/applications/ems_datahubs/datahubs.vcxproj
+++ b/applications/ems_datahubs/datahubs.vcxproj
@@ -89,7 +89,9 @@
+
+
diff --git a/applications/ems_datahubs/frame_define.h b/applications/ems_datahubs/frame_define.h
new file mode 100644
index 0000000..c0fa112
--- /dev/null
+++ b/applications/ems_datahubs/frame_define.h
@@ -0,0 +1,23 @@
+#pragma once
+#pragma pack(1)
+
+#include "kdefine.h"
+
+NAMESPACE_BEGIN(HJ)
+
+typedef enum tagFrameType : char
+{
+ Frame_Request = 0, //请求帧
+ Frame_Response = 1, //返回帧
+}FrameType;
+
+typedef struct tagFrame
+{
+ FrameType frame_type; //帧类型
+ unsigned int frame_len; //帧数据长度
+ char frame_content[1]; //帧的内容,实际应为json字符串,由json内容自解释
+}MessageFrame;
+
+NAMESPACE_END(HJ)
+
+#pragma pack()
\ No newline at end of file
diff --git a/applications/ems_datahubs/kdefine.h b/applications/ems_datahubs/kdefine.h
new file mode 100644
index 0000000..55d84a9
--- /dev/null
+++ b/applications/ems_datahubs/kdefine.h
@@ -0,0 +1,41 @@
+#ifndef __KDEFINE_INCLUDE__
+#define __KDEFINE_INCLUDE__
+
+#define K22_STR_EXP(__A) #__A
+#define K22_STR(__A) K22_STR_EXP(__A)
+#define K22_STRW_EXP(__A) L ## #__A
+#define K22_STRW(__A) K22_STRW_EXP(__A)
+
+#define K22_CMS_VERSION_MAJOR 1
+#define K22_CMS_VERSION_MINOR 215
+#define K22_CMS_VERSION_REVISION 0
+#define K22_VERSION K22_STR(K22_CMS_VERSION_MAJOR) "." K22_STR(K22_CMS_VERSION_MINOR) "." K22_STR(K22_CMS_VERSION_REVISION) ""
+
+#ifdef __cplusplus
+
+# ifndef EXTERN_C
+# define EXTERN_C extern "C"
+# endif
+
+# ifndef BEGIN_EXTERN_C
+# define BEGIN_EXTERN_C extern "C" {
+# endif
+
+# ifndef END_EXTERN_C
+# define END_EXTERN_C } // extern "C"
+# endif
+
+#else
+
+# define EXTERN_C extern
+# define BEGIN_EXTERN_C
+# define END_EXTERN_C
+
+#endif // __cplusplus
+
+#define NAMESPACE_BEGIN(X) namespace X {
+#define NAMESPACE_END(X) }
+#define USING_NAMESPACE(X) using namespace X
+
+
+#endif
diff --git a/applications/ems_datahubs/main.cpp b/applications/ems_datahubs/main.cpp
index 2735608..1563c97 100644
--- a/applications/ems_datahubs/main.cpp
+++ b/applications/ems_datahubs/main.cpp
@@ -15,6 +15,8 @@
#include
#include
+#include "kdefine.h"
+
#include "mqtt_msg.h"
#include "openjson.h"
#include "opmysql.h"
@@ -23,12 +25,6 @@
#define TEST_UNPACK 1
-#define K22_STR_EXP(__A) #__A
-#define K22_STR(__A) K22_STR_EXP(__A)
-#define K22_CMS_VERSION_MAJOR 1
-#define K22_CMS_VERSION_MINOR 215
-#define K22_CMS_VERSION_REVISION 0
-#define K22_VERSION K22_STR(K22_CMS_VERSION_MAJOR) "." K22_STR(K22_CMS_VERSION_MINOR) "." K22_STR(K22_CMS_VERSION_REVISION) ""
#define CHUNK 16384
diff --git a/applications/ems_datahubs/mqtt_msg.h b/applications/ems_datahubs/mqtt_msg.h
index 1470ac1..f2249a5 100644
--- a/applications/ems_datahubs/mqtt_msg.h
+++ b/applications/ems_datahubs/mqtt_msg.h
@@ -1,10 +1,11 @@
#pragma once
+
#pragma pack(1)
typedef enum tagTopic : char
{
GateWayPublicTopic_Server = 0,
ServerPublicTopic_GateWay = 1,
-}MQTT_Topic;
+}FrameType, MQTT_Topic;
typedef enum tagDataType : char
{
@@ -15,8 +16,10 @@ typedef enum tagDataType : char
DT_GATEWAY_CTRLDATA = 4,
DT_WEB_CTRL = 5,
DT_WEB_WRITE = 6,
- DT_GATEWAY_WRITE = 7
-}MQTT_DataType;
+ DT_GATEWAY_WRITE = 7,
+ FRAME_REQUEST = 8,
+ FRAME_RESPONSE = 9,
+}FrameDataType,MQTT_DataType;
/*
{
@@ -47,4 +50,6 @@ typedef struct tagMsgData
char content_data[1]; //MQTT包字符串的内容
}MessageData;
+
+
#pragma pack()
\ No newline at end of file