// #ifndef __BSP_NET_H__ // #define __BSP_NET_H__ // #ifdef __cplusplus // extern "C" { // #endif // #include // #include "drv_gpio.h" // #define ML307_AT_RESP_TIMEOUT RT_TICK_PER_SECOND // /* The maximum number of sockets supported by the ml307 device */ // #ifdef AT_USING_SOCKET // #define AT_DEVICE_ML307_SOCKETS_NUM 1 // #endif // typedef enum // { // kConnect_seccess = 0,//连接成功 // kReconnecting, //重连中 // kUserDisconnected,//用户主动断开连接 // kConnectionDenied,//断开:拒绝连接(协议版本、标识符、用户名或密码错误) // KServerDisconnected,//断开:服务器断开 // kPackOutTimeDisconnect,//断开:Ping包超时断开(若服务器未在 1.5 倍保活时间内接收到客户端的消息,则相当于客户端发送了 DISCONNECT 消息,服务器会断开与客户端的连接,此时会上报该 URC。 // kNetworkAbnormalDisconnect,//断开:网络异常断开 // kUnknownError,//断开:未知错误 // }mqtt_conn_state; // //认证编号 // typedef struct // { // char *device_id; // char *feature_str; // char *device_number;//用IMEI作为设备编号 // mqtt_conn_state state; // }Mqtt_Dev; // #ifdef __cplusplus // } // #endif // #define CONN(A, B) A##B // #define INT_STR(X)(#X) // /******************************** mqtt命令参数 **************************************/ // /* // * // * 服务器地址:mqtt.ctwing.cn // * 端口号:1883 // * 产品ID:17126214 // * 密钥:a199d9c35ba548739dafccbd4546d816 // * 特征串:sD3p13KS3heqhHfkmex-_W0jPKvItS8TaMVWB5Uyikk // * 设备ID:17126214862966073419375 // * 设备编号:862966073419375 // * 通讯方式:MQTT // * */ // #define MQTT_SEVER_PORT "1883" // #define MQTT_SEVER_URL "\"mqtt.ctwing.cn\"" // #define PROJECT_ID "\"17126214\"" // #define MASTER_API_KEY "a199d9c35ba548739dafccbd4546d816" // #define FEATURE_STRING "\"sD3p13KS3heqhHfkmex-_W0jPKvItS8TaMVWB5Uyikk\"" // #define DEVICE_ID "\"17126214862966073419375\"" // #define DEVICE_NUMBER "\"862966073419375\"" // #define MQTT_CONNECT_ID "0" //自定义0~5 // #define MQTT_QOS_0 "0"//最多发送一次 // #define MQTT_QOS_1 "1"//最少发送一次 // #define MQTT_QOS_2 "2"//只发送一次 // #define MQTT_RETAIN_0 "0" //服务器不存储消息 // #define MQTT_RETAIN_1 "1" //服务器储存该消息,并向新订阅者发送最新订阅消息 // #define MQTT_RETRY_0 "0" //发送新消息一般设置为0。 // #define MQTT_RETRY_1 "1" //。数据发送失败后用户主动重发数据请置1 // #define MQTT_INOUT_FORMAT_ASCII "0"//原始字符串 // #define MQTT_INOUT_FORMAT_HEX "1"//十六进制字符串 // #define MQTT_INOUT_FORMAT_STR "2"//转义字符串 // #define MQTT_OUTPUT_FORMAT_ASCII "0" // #define MQTT_OUTPUT_FORMAT_HEX "1" // #define MQTT_CFG_VERSION "\"version\"" // #define MQTT_CFG_CID "\"cid\"" // #define MQTT_CFG_SSL "\"ssl\"" // #define MQTT_CFG_KEEPALIVE "\"keepalive\"" // #define MQTT_CFG_CLEAN "\"clean\"" // #define MQTT_CFG_RETRANS "\"retrans\"" // #define MQTT_CFG_WILLOPTION "\"willoption\"" // #define MQTT_CFG_WILLPAYLOAD "\"willpayload\"" // #define MQTT_CFG_PINGREQ "\"pingreq\"" // #define MQTT_CFG_PINGRESP "\"pingresp\"" // #define MQTT_CFG_ENCODING "\"encoding\"" // #define MQTT_CFG_CACHED "\"cached\"" // #define MQTT_CFG_RECONN "\"reconn\"" // #define MQTT_CFG_PLATSEL "\"platsel\"" // #define MQTT_CFG_DEVINFO "\"devinfo\"" // #define MQTT_PUB_TOPIC "\"test\"" //发布主题自定义 // #define MQTT_CFG "AT+MQTTCFG=" // #define MQTT_CONNET "AT+MQTTCONN=" //connect // #define MQTT_SUB "AT+MQTTSUB=" //sub // #define MQTT_PUB "AT+MQTTPUB=" //AT+MQTTPUB=,,,,,[,] // #define MQTT_ISSUE_THEME "\"device_control\""//下发主题 // #define MQTT_DISCON "AT+MQTTDISC=" // #define MQTT_STATE "AT+MQTTSTATE=" // #define MQTT_READ "AT+MQTTREAD=" // #define MQTT_PUB_MESSAGE "AT+MQTTPUB=" // /******************************** mqtt命令 **************************************/ // #define MQTT_CMD_VERSION_CFG MQTT_CFG MQTT_CFG_VERSION "," MQTT_CONNECT_ID // #define MQTT_CMD_ENCODING_CFG MQTT_CFG MQTT_CFG_ENCODING "," MQTT_CONNECT_ID "," MQTT_INOUT_FORMAT_ASCII "," MQTT_OUTPUT_FORMAT_ASCII // #define MQTT_CMD_PINGRESP_CFG MQTT_CFG MQTT_CFG_PINGRESP "," MQTT_CONNECT_ID // #define MQTT_CMD_CNNNET MQTT_CONNET MQTT_CONNECT_ID ","MQTT_SEVER_URL "," MQTT_SEVER_PORT "," DEVICE_ID "," DEVICE_NUMBER "," FEATURE_STRING // #define MQTT_CMD_SUB MQTT_SUB MQTT_CONNECT_ID "," MQTT_ISSUE_THEME "," MQTT_QOS_1 // #define MQTT_CMD_DISC MQTT_DISCON MQTT_CONNECT_ID//断开连接 // #define MQTT_CMD_STATE MQTT_STATE MQTT_CONNECT_ID/*1:正在重连中,2:连接成功,3:连接断开*/ // #define MQTT_CMD_READ MQTT_READ MQTT_CONNECT_ID//该命令用于缓存模式下,读取缓存中的消息。NB-IoT系列模组缓存上限为4KB,4G/5G模组缓存上限为8KB。 // /********************************mqtt urc消息**************************************/ // /* // * +MQTTURC: "conn",, MQTT连接状态发生变化事件上报 // * +MQTTURC: "pubnmi",,, 新数据包上报(New Message Indication),提示从缓存区读取数据包。 // * +MQTTURC: "drop",,提示接收缓存区满,丢掉数据。 // * +MQTTURC: "publish",,,,,,接收到的MQTT Publish数据。 // * +MQTTURC: "pingresp",,配置心跳回显时,上报心跳包响应结果。 // * +MQTTURC: "timeout",,数据发送超时事件上报(仅上报订阅、取消订阅、发布最终超时结果,重传包超时不上报) // * +MQTTURC: "suback",,,[,,..收到服务器订阅ACK信息上报。 // * +MQTTURC: "unsuback",,收到服务器取消订阅ACK信息上报。 // * +MQTTURC: "puback",,,QoS1模式下的发布响应ACK信息上报。 // * +MQTTURC: "pubrec",,,QoS2模式下的发布响应Receive上报。 // * +MQTTURC: "pubcomp",,,QoS2模式下的发布响应Complete上报。 // */ // #define MQTT_URC_CONNET_STATE "+MQTTURC: \"conn\"" /*MQTT连接状态发生变化事件上报。+MQTTURC: "conn",,*/ // #define MQTT_URC_RECEIVE_PROMPT "+MQTTURC: \"pubnmi\"" // #define MQTT_URC_DISCARD_PROMPT "+MQTTURC: \"drop\"" // #define MQTT_URC_RECEIVE_MSG "+MQTTURC: \"publish\"" //接收消息URC // #define MQTT_URC_PING_RESP "+MQTTURC: \"pingresp\"" //PING结果URC // #define MQTT_URC_OUTTIME "+MQTTURC: \"timeout\"" //超时URC // #define MQTT_URC_SUBACK "+MQTTURC: \"suback\"" //订阅URC // #define MQTT_URC_UNSUBACK "+MQTTURC: \"unsuback\"" //取消urc // #define MQTT_URC_PUBACK "+MQTTURC: \"puback\"" //QoS=1时发送结果URC // #define MQTT_URC_PUBREC "+MQTTURC: \"pubrec\"" //QoS=2时消息到达URC // #define MQTT_URC_PUBCOMP "+MQTTURC: \"pubcomp\"" //QoS=2时消息发送完成URC // #endif // !__BSP_NET_H__