* AM2321的取温度间隔得大于2s,否则,i2c会不工作了 * SimpleTimer有个bug,会导致两次快速的读温度,现在读温度函数里加了保护 * Blynk有个bug,会导致无法把数据传到服务器 * 现在可以正常工作了

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers BlynkProtocolDefs.h Source File

BlynkProtocolDefs.h

Go to the documentation of this file.
00001 /**
00002  * @file       BlynkProtocolDefs.h
00003  * @author     Volodymyr Shymanskyy
00004  * @license    This project is released under the MIT License (MIT)
00005  * @copyright  Copyright (c) 2015 Volodymyr Shymanskyy
00006  * @date       Jan 2015
00007  * @brief      Blynk protocol definitions
00008  *
00009  */
00010 
00011 #ifndef BlynkProtocolDefs_h
00012 #define BlynkProtocolDefs_h
00013 
00014 enum BlynkCmd
00015 {
00016     BLYNK_CMD_RESPONSE       = 0,
00017     BLYNK_CMD_REGISTER       = 1,
00018     BLYNK_CMD_LOGIN          = 2,
00019     BLYNK_CMD_SAVE_PROF      = 3,
00020     BLYNK_CMD_LOAD_PROF      = 4,
00021     BLYNK_CMD_GET_TOKEN      = 5,
00022     BLYNK_CMD_PING           = 6,
00023     BLYNK_CMD_ACTIVATE       = 7,
00024     BLYNK_CMD_DEACTIVATE     = 8,
00025     BLYNK_CMD_REFRESH        = 9,
00026     BLYNK_CMD_GET_GRAPH_DATA = 10,
00027     BLYNK_CMD_GET_GRAPH_DATA_RESPONSE = 11,
00028 
00029     BLYNK_CMD_TWEET          = 12,
00030     BLYNK_CMD_EMAIL          = 13,
00031     BLYNK_CMD_NOTIFY         = 14,
00032     BLYNK_CMD_BRIDGE         = 15,
00033     BLYNK_CMD_HARDWARE_SYNC  = 16,
00034     BLYNK_CMD_HARDWARE_INFO  = 17,
00035     BLYNK_CMD_SMS            = 18,
00036     BLYNK_CMD_HARDWARE       = 20,
00037 
00038     BLYNK_CMD_CREATE_DASH    = 21,
00039     BLYNK_CMD_SAVE_DASH      = 22,
00040     BLYNK_CMD_DELETE_DASH    = 23,
00041     BLYNK_CMD_LOAD_PROF_GZ   = 24,
00042     BLYNK_CMD_SYNC           = 25,
00043     BLYNK_CMD_SHARING        = 26,
00044     BLYNK_CMD_ADD_PUSH_TOKEN = 27,
00045 
00046     //sharing commands
00047     BLYNK_CMD_GET_SHARED_DASH = 29,
00048     BLYNK_CMD_GET_SHARE_TOKEN = 30,
00049     BLYNK_CMD_REFRESH_SHARE_TOKEN = 31,
00050     BLYNK_CMD_SHARE_LOGIN     = 32
00051 };
00052 
00053 enum BlynkStatus
00054 {
00055     BLYNK_SUCCESS                = 200,
00056     BLYNK_QUOTA_LIMIT_EXCEPTION  = 1,
00057     BLYNK_ILLEGAL_COMMAND        = 2,
00058     BLYNK_NOT_REGISTERED         = 3,
00059     BLYNK_ALREADY_REGISTERED     = 4,
00060     BLYNK_NOT_AUTHENTICATED      = 5,
00061     BLYNK_NOT_ALLOWED            = 6,
00062     BLYNK_NO_CONNECTION          = 7,
00063     BLYNK_NO_ACTIVE_DASHBOARD    = 8,
00064     BLYNK_INVALID_TOKEN          = 9,
00065     BLYNK_DEVICE_WENT_OFFLINE    = 10,
00066     BLYNK_ALREADY_LOGGED_IN      = 11,
00067     BLYNK_GET_GRAPH_DATA_EXCEPTION = 12,
00068     BLYNK_NO_DATA_EXCEPTION      = 17,
00069     BLYNK_DEVICE_WENT_OFFLINE_2  = 18,
00070     BLYNK_SERVER_EXCEPTION       = 19,
00071 
00072     BLYNK_NTF_INVALID_BODY       = 13,
00073     BLYNK_NTF_NOT_AUTHORIZED     = 14,
00074     BLYNK_NTF_ECXEPTION          = 15,
00075 
00076     BLYNK_TIMEOUT                = 16
00077 };
00078 
00079 struct BlynkHeader
00080 {
00081     uint8_t  type;
00082     uint16_t msg_id;
00083     uint16_t length;
00084 }
00085 BLYNK_ATTR_PACKED;
00086 
00087 #if defined(ARDUINO) || defined(ESP8266) || defined(PARTICLE) || defined(MBED_LIBRARY_VERSION)
00088     #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
00089         #define htons(x) ( ((x)<<8) | (((x)>>8)&0xFF) )
00090         #define htonl(x) ( ((x)<<24 & 0xFF000000UL) | \
00091                            ((x)<< 8 & 0x00FF0000UL) | \
00092                            ((x)>> 8 & 0x0000FF00UL) | \
00093                            ((x)>>24 & 0x000000FFUL) )
00094         #define ntohs(x) htons(x)
00095         #define ntohl(x) htonl(x)
00096     #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
00097         #define htons(x) (x)
00098         #define htonl(x) (x)
00099         #define ntohs(x) (x)
00100         #define ntohl(x) (x)
00101     #else
00102         #error byte order problem
00103     #endif
00104 #endif
00105 
00106 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
00107     #define BLYNK_HW_PM (('p' << 0) | ('m' << 8))
00108     #define BLYNK_HW_DW (('d' << 0) | ('w' << 8))
00109     #define BLYNK_HW_DR (('d' << 0) | ('r' << 8))
00110     #define BLYNK_HW_AW (('a' << 0) | ('w' << 8))
00111     #define BLYNK_HW_AR (('a' << 0) | ('r' << 8))
00112     #define BLYNK_HW_VW (('v' << 0) | ('w' << 8))
00113     #define BLYNK_HW_VR (('v' << 0) | ('r' << 8))
00114 #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
00115     #define BLYNK_HW_PM (('p' << 8) | ('m' << 0))
00116     #define BLYNK_HW_DW (('d' << 8) | ('w' << 0))
00117     #define BLYNK_HW_DR (('d' << 8) | ('r' << 0))
00118     #define BLYNK_HW_AW (('a' << 8) | ('w' << 0))
00119     #define BLYNK_HW_AR (('a' << 8) | ('r' << 0))
00120     #define BLYNK_HW_VW (('v' << 8) | ('w' << 0))
00121     #define BLYNK_HW_VR (('v' << 8) | ('r' << 0))
00122 #else
00123     #error byte order problem
00124 #endif
00125 
00126 #endif
00127