 |
m2mb API docs
25.30.003
m2mb API sets documentation
|
This group includes all the information about m2mb_mqttsn configuration and usage *.
More...
|
#define | m2mb_mqttsn_conf_(h, args...) m2mb_mqttsn_conf( h, CMDS( args ) ) |
| |
| enum | M2MB_MQTTSN_IND_E { M2MB_MQTTSN_INDICATION_DISCONNECT = 0,
M2MB_MQTTSN_INDICATION_MESSAGE_RCV = 1
} |
| | MQTT-SN Indications enum. More...
|
| |
| enum | M2MB_MQTTSN_RESPONSE_E {
M2MB_MQTTSN_SUCCESS = 0,
M2MB_MQTTSN_ERROR_BAD_ARG = -1,
M2MB_MQTTSN_ERROR_OUT_OF_BUFFER = -2,
M2MB_MQTTSN_ERROR_MALFORMED_DATA = -3,
M2MB_MQTTSN_ERROR_PACKET_TYPE = -4,
M2MB_MQTTSN_ERROR_PACKET_ID = -5,
M2MB_MQTTSN_ERROR_TIMEOUT = -7,
M2MB_MQTTSN_ERROR_NETWORK = -8,
M2MB_MQTTSN_ERROR_MEMORY = -9,
M2MB_MQTTSN_ERROR_STAT = -10,
M2MB_MQTTSN_ERROR_CALLBACK = -13,
M2MB_MQTTSN_ERROR_SEM = -14,
M2MB_MQTTSN_ERROR_ASYNC_THREAD = -16,
M2MB_MQTTSN_ERROR = -100,
M2MB_MQTTSN_CONTINUE = -101
} |
| | MQTT-SN APIs response enum. More...
|
| |
| enum | M2MB_MQTTSN_STATUS_E {
M2MB_MQTTSN_NOT_CONNECTED,
M2MB_MQTTSN_SOCKET_CONNECTED,
M2MB_MQTTSN_CLIENT_CONNECTED,
M2MB_MQTTSN_CONN_RESET_BY_PEER,
M2MB_MQTTSN_PINGREQ_TIMEOUT_FAIL,
M2MB_MQTTSN_CONNECT_TIMEOUT,
M2MB_MQTTSN_CLIENT_SLEEP,
M2MB_MQTTSN_CLIENT_AWAKE,
M2MB_MQTTSN_FATAL_ERROR,
M2MB_MQTTSN_NETWORK_ERROR,
M2MB_MQTTSN_STATUS_UNKNOWN = 0xFF
} |
| | mqtt-sn client status enum More...
|
| |
| enum | M2MB_MQTTSN_ACTION_E {
M2MB_MQTTSN_SET_CLIENT_ID,
M2MB_MQTTSN_SET_TIMEOUT_MS,
M2MB_MQTTSN_SECURE_OPT,
M2MB_MQTTSN_SET_KEEPALIVE_SEC,
M2MB_MQTTSN_SET_CLEAN_SESSION,
M2MB_MQTTSN_SET_LAST_WILL,
M2MB_MQTTSN_SET_PDP_CONTEXT,
M2MB_MQTTSN_GET_CLIENT_ID,
M2MB_MQTTSN_GET_TIMEOUT_MS,
M2MB_MQTTSN_GET_KEEPALIVE_SEC,
M2MB_MQTTSN_GET_CLEAN_SESSION,
M2MB_MQTTSN_GET_LAST_WILL,
M2MB_MQTTSN_GET_PDP_CONTEXT
} |
| | MQTT-SN actions enum List of actions performed through m2mb_mqttsn_conf API. More...
|
| |
| enum | M2MB_MQTTSN_QOS_E { M2MB_MQTTSN_QOS_0 = 0,
M2MB_MQTTSN_QOS_1 = 1,
M2MB_MQTTSN_QOS_2 = 2,
M2MB_MQTTSN_QOS_3 = 3
} |
| | MQTT-SN QoS Enum. More...
|
| |
| enum | M2MB_MQTTSN_TOPIC_ID_E { M2MB_MQTTSN_TOPIC_ID_NORMAL = 0x0,
M2MB_MQTTSN_TOPIC_ID_PREDEF = 0x1,
M2MB_MQTTSN_TOPIC_ID_SHORT = 0x2
} |
| | MQTT-SN Topic ID types. More...
|
| |
| enum | M2MB_MQTTSN_RX_STATUS_E { M2MB_MQTTSN_RX_FINISHED,
M2MB_MQTTSN_RX_MORE_DATA
} |
| | MQTT-SN Receive Data Status Enum. More...
|
| |
| enum | M2MB_MQTTSN_CODE_E { M2MB_MQTTSN_CODE_ACCEPTED = 0x00,
M2MB_MQTTSN_CODE_CONGESTION = 0x01,
M2MB_MQTTSN_CODE_INVTOPICNAME = 0x02,
M2MB_MQTTSN_CODE_NOTSUPPORTED = 0x03
} |
| | RETURN CODE values received in various MQTT-SN response (Acknowledgement) packets. More...
|
| |
|
typedef HANDLE | M2MB_MQTTSN_HANDLE |
| | MQTT-SN context handle. This is obtained from m2mb_mqttsn_init API and then used in subsequent MQTT-SN APIs.
|
| |
|
typedef struct M2MB_MQTTSN_WILL | M2MB_MQTTSN_WILL_T |
| | MQTT-SN will structure. Used while setting will and will topic update.
|
| |
|
typedef struct M2MB_MQTTSN_PUBLISH | M2MB_MQTTSN_PUBLISH_T |
| | MQTT-SN Publish structure. This is used to Publish data to the Gateway.
|
| |
|
typedef struct M2MB_MQTTSN_SUBSCRIBE | M2MB_MQTTSN_SUBSCRIBE_T |
| | MQTT-SN Subscribe structure. This is used while subscribing to a topic/topic Id.
|
| |
|
typedef struct M2MB_MQTTSN_MESSAGE_CTX | M2MB_MQTTSN_MESSAGE_CTX_T |
| | MQTT-SN Subscribe structure. This is used while subscribing to a topic/topic Id.
|
| |
| typedef void(* | m2mb_mqttsn_ind_callback) (M2MB_MQTTSN_HANDLE Handle, M2MB_MQTTSN_IND_E event, UINT16 resp_size, void *resp, void *userdata) |
| | MQTT-SN callback prototype. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_init (M2MB_MQTTSN_HANDLE *pHandle, m2mb_mqttsn_ind_callback callback, void *userdata) |
| | m2mb_mqttsn_init is called to initialize MQTT-SN context. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_deinit (M2MB_MQTTSN_HANDLE handle) |
| | m2mb_mqttsn_deinit deinitializes MQTT-SN service for specified MQTT-SN client. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_conf (M2MB_MQTTSN_HANDLE handle, UINT8 nCmds,...) |
| | m2mb_mqttsn_conf sets/gets some MQTTSN parameters and configurations. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_socket (M2MB_MQTTSN_HANDLE handle, const CHAR *host, UINT32 port) |
| | m2mb_mqttsn_socket is called to initialize the socket More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_clean_socket (M2MB_MQTTSN_HANDLE handle) |
| | m2mb_mqttsn_clean_socket is called to perform socket related cleanup More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_connect (M2MB_MQTTSN_HANDLE handle, UINT8 *return_code) |
| | m2mb_mqttsn_connect is called to connect to the specified MQTTSN Gateway. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_disconnect (M2MB_MQTTSN_HANDLE handle) |
| | m2mb_mqttsn_disconnect is called to disconnect from the MQTTSN Gateway. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_register (M2MB_MQTTSN_HANDLE handle, const CHAR *topic, UINT16 *topic_id, UINT8 *return_code) |
| | m2mb_mqttsn_register is called to send Register packet to the Gateway. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_publish (M2MB_MQTTSN_HANDLE handle, M2MB_MQTTSN_PUBLISH_T publish, UINT8 *return_code) |
| | m2mb_mqttsn_publish is called to send Publish packet to the Gateway. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_subscribe (M2MB_MQTTSN_HANDLE handle, M2MB_MQTTSN_SUBSCRIBE_T subscribe, UINT16 *topic_id, UINT8 *return_code) |
| | m2mb_mqttsn_subscribe is called to send Subscribe to the specified topic/topic name. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_unsubscribe (M2MB_MQTTSN_HANDLE handle, M2MB_MQTTSN_TOPIC_ID_E topic_type, const CHAR *topic, UINT16 topic_id) |
| | m2mb_mqttsn_unsubscribe is called to send Unsubscribe to the specified topic/topic name. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_ping (M2MB_MQTTSN_HANDLE handle) |
| | m2mb_mqttsn_ping is called to ping More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_enter_sleep (M2MB_MQTTSN_HANDLE handle, UINT16 duration) |
| | m2mn_mqttsn_enter_sleep is called to enable sleeping client functionality More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_awake (M2MB_MQTTSN_HANDLE handle) |
| | m2mb_mqttsn_awake is called to enter "awake" state More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_will_topic_update (M2MB_MQTTSN_HANDLE handle, M2MB_MQTTSN_WILL_T *will, UINT8 *return_code) |
| | m2mb_mqttsn_will_topic_update is called to send Topic Update packet to the Gateway. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_will_message_update (M2MB_MQTTSN_HANDLE handle, CHAR *will_msg, UINT16 will_msg_len, UINT8 *return_code) |
| | m2mb_mqttsn_will_message_update is called to send Will Message Update packet to the Gateway. More...
|
| |
| M2MB_MQTTSN_RESPONSE_E | m2mb_mqttsn_get_client_status (M2MB_MQTTSN_HANDLE handle, M2MB_MQTTSN_STATUS_E *status) |
| | m2mb_mqttsn_get_client_status gets MQTTSN client current status More...
|
| |
This group includes all the information about m2mb_mqttsn configuration and usage *.
◆ m2mb_mqttsn_ind_callback
MQTT-SN callback prototype.
This callback is triggered when MQTT-SN client receives any event (M2MB_MQTTSN_IND_E)
- Parameters
-
| [in] | Handle | handle to the MQTT-SN client instance on which MQTT-SN message is received |
| [in] | event | event indication for which the callback has been triggered |
| [in] | resp_size | size of the data sent |
| [in] | resp | response |
| [in] | userdata | user data returned by callback function |
- Returns
- None
- Note
Example
void *resp, void *userdata );
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
printf("Message Receive Callback: event = %d", event);
printf("MQTT-SN Message: Topic %s, Len %d\r\n", buf, msg_length);
printf("Message: %s", buf);
{
printf("More data to be received");
}
break;
default :
printf("default case");
break;
}
}
void main(void)
{
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
◆ M2MB_MQTTSN_ACTION_E
MQTT-SN actions enum List of actions performed through m2mb_mqttsn_conf API.
| Enumerator |
|---|
| M2MB_MQTTSN_SET_CLIENT_ID | To set client id of the device.
m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_SET_CLIENT_ID, "MQTTSN_demo" );
|
| M2MB_MQTTSN_SET_TIMEOUT_MS | To set Timeout for MQTT-SN operations in milliseconds.
m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_SET_TIMEOUT_MS, 10*1000 ) );
|
| M2MB_MQTTSN_SECURE_OPT | To enable Secured MQTT-SN. This feature will not be supported in 1st release.
|
| M2MB_MQTTSN_SET_KEEPALIVE_SEC | To set keep alive interval of the connection in seconds
m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_SET_KEEPALIVE_SEC, 60 ) );
|
| M2MB_MQTTSN_SET_CLEAN_SESSION | Set clean session flag that will be used by the MQTT-SN core. User has to specify value to be set.
If it is set to 1, session will be non-persistent. Else, it will be persistent.
Default value is 1. m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_SET_CLEAN_SESSION, 1 ) );
|
| M2MB_MQTTSN_SET_LAST_WILL | Set MQTT-SN Protocol will flag that will be used by the MQTT-SN core. These configuration will be used to set will during connection establishment
M2MB_MQTTSN_WILL_T client_will = {0}; CHAR will_topic[] = "last_will_topic"; CHAR will_msg[] = "client disconnected"; client_will.will=1; client_will.qos = 1; client_will.retain=1; client_will.will_topic = will_topic; client_will.will_msg = will_msg; client_will.will_msg_len = strlen( will_msg ); m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_SET_LAST_WILL, &client_will );
|
| M2MB_MQTTSN_SET_PDP_CONTEXT | To set pdp conetxt to be used for the MQTT-SN client.
m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_SET_PDP_CONTEXT, 2 ) );
|
| M2MB_MQTTSN_GET_CLIENT_ID | To retrieve client id of the device configured by the user.
UINT8* cid = NULL; m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_GET_CLIENT_ID, &cid ) ); printf("Cid = %s", cid);
|
| M2MB_MQTTSN_GET_TIMEOUT_MS | To retrieve timeout of the MQTT-SN operations in milliseconds.
UINT32 timeout = 0; m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_GET_TIMEOUT_MS, &timeout ) ); printf("timeout = %d ms", timeout);
|
| M2MB_MQTTSN_GET_KEEPALIVE_SEC | To retrieve Keepalive interval in seconds.
UINT32 keepalive = 0; m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_GET_KEEPALIVE_SEC, &keepalive ) ); printf("keepalive = %d ms", keepalive);
|
| M2MB_MQTTSN_GET_CLEAN_SESSION | To retrieve configured clean session flag that will be used by the MQTT-SN core.
UINT8 clean_session; m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_GET_CLEAN_SESSION, &clean_session ) ); printf("clean session = %d", clean_session);
|
| M2MB_MQTTSN_GET_LAST_WILL | To retrieve Last will and testament settings used by MQTT-SN core
M2MB_MQTTSN_WILL_T* client_will = NULL; m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_GET_LAST_WILL, &client_will ) ); printf("last will = %d\r\n", client_will->will); printf("will qos = %d\r\n", client_will->qos); printf("will retain = %d\r\n", client_will->retain); printf("will topic = %s\r\n", client_will->topic); printf("will message = %s\r\n", client_will->message);
|
| M2MB_MQTTSN_GET_PDP_CONTEXT | To retrieve pdp conetxt to be used for the MQTT-SN client.
UINT8 pdp; m2mb_mqttsn_conf( p_mqttsn, CMDS( M2MB_MQTTSN_GET_PDP_CONTEXT, &pdp ) ); printf("pdp = %d", pdp);
|
◆ M2MB_MQTTSN_CODE_E
RETURN CODE values received in various MQTT-SN response (Acknowledgement) packets.
| Enumerator |
|---|
| M2MB_MQTTSN_CODE_ACCEPTED | Connection/Message is accepted
|
| M2MB_MQTTSN_CODE_CONGESTION | Operation not success due to congestion
|
| M2MB_MQTTSN_CODE_INVTOPICNAME | Invalid topic name
|
| M2MB_MQTTSN_CODE_NOTSUPPORTED | Value not supported
|
◆ M2MB_MQTTSN_IND_E
MQTT-SN Indications enum.
| Enumerator |
|---|
| M2MB_MQTTSN_INDICATION_DISCONNECT | This event is received when MQTT-SN Gateway triggers the disconnect asynchronously or when MQTT-SN ping fails.
|
| M2MB_MQTTSN_INDICATION_MESSAGE_RCV | This event is received when client receives a publish message on a subscribed topic.
|
◆ M2MB_MQTTSN_QOS_E
MQTT-SN QoS Enum.
| Enumerator |
|---|
| M2MB_MQTTSN_QOS_0 | At most once delivery
|
| M2MB_MQTTSN_QOS_1 | At least once delivery
|
| M2MB_MQTTSN_QOS_2 | Exactly once delivery
|
| M2MB_MQTTSN_QOS_3 | Publish with QoS -1
|
◆ M2MB_MQTTSN_RESPONSE_E
MQTT-SN APIs response enum.
| Enumerator |
|---|
| M2MB_MQTTSN_SUCCESS | Response is success
|
| M2MB_MQTTSN_ERROR_BAD_ARG | Bad argument was passed by the user
|
| M2MB_MQTTSN_ERROR_OUT_OF_BUFFER | Out of buffer
|
| M2MB_MQTTSN_ERROR_MALFORMED_DATA | Malformed Data
|
| M2MB_MQTTSN_ERROR_PACKET_TYPE | Wrong packet type
|
| M2MB_MQTTSN_ERROR_PACKET_ID | Wrong packet Id
|
| M2MB_MQTTSN_ERROR_TIMEOUT | Timeout occurred
|
| M2MB_MQTTSN_ERROR_NETWORK | Error in Network
|
| M2MB_MQTTSN_ERROR_MEMORY | Out of Memory
|
| M2MB_MQTTSN_ERROR_STAT | Error in Stats
|
| M2MB_MQTTSN_ERROR_CALLBACK | Callback Error
|
| M2MB_MQTTSN_ERROR_SEM | Error in connection semaphore
|
| M2MB_MQTTSN_ERROR_ASYNC_THREAD | Error in Async thread
|
| M2MB_MQTTSN_ERROR | Generic error
|
| M2MB_MQTTSN_CONTINUE | MQTT-SN Continue
|
◆ M2MB_MQTTSN_RX_STATUS_E
MQTT-SN Receive Data Status Enum.
| Enumerator |
|---|
| M2MB_MQTTSN_RX_FINISHED | Entire data is received
|
| M2MB_MQTTSN_RX_MORE_DATA | Partial data is pending
|
◆ M2MB_MQTTSN_STATUS_E
mqtt-sn client status enum
| Enumerator |
|---|
| M2MB_MQTTSN_NOT_CONNECTED | Client is initialized but not connected.
|
| M2MB_MQTTSN_SOCKET_CONNECTED | Socket initializations are done but MQTT-SN connection is not established with the Gateway yet
|
| M2MB_MQTTSN_CLIENT_CONNECTED | Client performed MQTT-SN authentication with the Gateway and is in 'Active' state.
|
| M2MB_MQTTSN_CONN_RESET_BY_PEER | Connection closed or reset by the Gateway
|
| M2MB_MQTTSN_PINGREQ_TIMEOUT_FAIL | The answer to the ping request packet was not received
|
| M2MB_MQTTSN_CONNECT_TIMEOUT | Not in use currently
|
| M2MB_MQTTSN_CLIENT_SLEEP | Client is in 'Asleep' state
|
| M2MB_MQTTSN_CLIENT_AWAKE | Client is in 'Awake' state
|
| M2MB_MQTTSN_FATAL_ERROR | Failure in the m2mb APIs
|
| M2MB_MQTTSN_NETWORK_ERROR | Socket timeout or read error
|
| M2MB_MQTTSN_STATUS_UNKNOWN | Unknown state or client not initialized
|
◆ M2MB_MQTTSN_TOPIC_ID_E
MQTT-SN Topic ID types.
| Enumerator |
|---|
| M2MB_MQTTSN_TOPIC_ID_NORMAL | Normal topic/topicID type
|
| M2MB_MQTTSN_TOPIC_ID_PREDEF | Predefined topic
|
| M2MB_MQTTSN_TOPIC_ID_SHORT | Short topic (max size two octects)
|
◆ m2mb_mqttsn_awake()
m2mb_mqttsn_awake is called to enter "awake" state
m2mb_mqttsn_awake is called to send Ping request to the Gateway. Gateway will send all the messages buffered for the client in that duration one ping request is triggered. After Ping Completetion, client will again enter "asleep" state.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- To exit "asleep" state i.e. to enter "active" state, m2mb_mqttsn_connect API has to be called.
Example
void *resp, void *userdata )
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
VAL_PRINT("\r\nDisconnect Callback: event = %d", event);
break;
"Message Receive Callback: event = %d", event);
"MQTT-SN Message: Topic %s, Len %d\r\n", buf, message_ctx->
msg_length);
{
"More data to be received");
}
break;
default :
VAL_PRINT("\r\ndefault case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
{
printf( "m2mb_mqttsn_enter_sleep succeeded");
}
{
printf( "m2mb_mqttsn_awake succeeded");
}
}
◆ m2mb_mqttsn_clean_socket()
m2mb_mqttsn_clean_socket is called to perform socket related cleanup
m2mb_mqttsn_clean_socket performs the socket cleanup.
- Parameters
-
| [in] | handle | handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
Example
void *resp, void *userdata );
{
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
default :
printf("default case");
break;
}
}
void main(void)
{
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_clean_socket succeeded");
}
{
printf( "m2mb_mqttsn_deinit succeeded");
}
}
◆ m2mb_mqttsn_conf()
m2mb_mqttsn_conf sets/gets some MQTTSN parameters and configurations.
m2mb_mqttsn_conf sets/gets MQTTSN parameters listed in the M2MB_MQTTSN_ACTION_E enum. These are to be performed before m2mb_mqttsn_socket.
- Parameters
-
| [in] | handle | handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [in] | nCmds | determines the number of parameters that follows |
| [in] | action | (among the ones listed in M2MB_MQTTSN_ACTION_E), while the parameters that follow depend on the action (see following note for further details) |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- Action: M2MB_MQTTSN_SET_CLIENT_ID refer m2mb_mqttsn_conf_ to avoid specifiying number of arguments or without using CMDS
Description: set the Unique clinet ID in order to connect to the MQTTSN Gateway.
Params(in): h(M2MB_MQTTSN_HANDLE), action(M2MB_MQTTSN_ACTION_E), format(UINT8*)
m2mb_mqttsn_conf( h, CMDS( M2MB_MQTTSN_SET_CLIENT_ID, "MQTTSN_demo" ) );
Example
void *resp, void *userdata );
{
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
default :
printf("default case");
break;
}
}
void main(void)
{
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
}
◆ m2mb_mqttsn_connect()
m2mb_mqttsn_connect is called to connect to the specified MQTTSN Gateway.
m2mb_mqttsn_connect performs MQTTSN connection to the URL specified during socket initialization. Once client is connected, it is said to be in "active" state. CLient goes to "asleep" state if m2mn_mqttsn_enter_sleep API is called. To exit "asleep" state i.e. to enter "active" state, m2mb_mqttsn_connect API has to be called.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [out] | return_code | Return code received in Acknowledgement message. See @M2MB_MQTTSN_CODE_E. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- Socket initializations should be performed using m2mb_mqttsn_socket API before calling this function. Example
void *resp, void *userdata );
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
printf("Message Receive Callback: event = %d", event);
printf("MQTT-SN Message: Topic %s, Len %d\r\n", buf, msg_length);
printf("Message: %s", buf);
{
printf("More data to be received");
}
break;
default :
printf("default case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
◆ m2mb_mqttsn_deinit()
m2mb_mqttsn_deinit deinitializes MQTT-SN service for specified MQTT-SN client.
m2mb_mqttsn_deinit deinitializes MQTT-SN service for specified MQTT-SN client releasing the resources associated with the handle as first parameter. Calling the m2mb_mqttsn_deinit is needed after having completed the usage of MQTT-SN service to release reserved memory
- Parameters
-
| [in] | handle | handle to the MQTT-SN client service, that will be deinitialized by the function. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
Example
void *resp, void *userdata );
{
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
default :
printf("default case");
break;
}
}
void main(void)
{
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_deinit succeeded");
}
}
◆ m2mb_mqttsn_disconnect()
m2mb_mqttsn_disconnect is called to disconnect from the MQTTSN Gateway.
m2mb_mqttsn_disconnect disconnects the specified MQTTSN client from the Gateway.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
Example
void *resp, void *userdata );
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
printf("Message Receive Callback: event = %d", event);
printf("MQTT-SN Message: Topic %s, Len %d\r\n", buf, msg_length);
printf("Message: %s", buf);
{
printf("More data to be received");
}
break;
default :
printf("default case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
{
printf( "m2mb_mqttsn_disconnect succeeded");
}
{
printf( "m2mb_mqttsn_clean_socket succeeded");
}
{
printf( "m2mb_mqttsn_deinit succeeded");
}
}
◆ m2mb_mqttsn_enter_sleep()
m2mn_mqttsn_enter_sleep is called to enable sleeping client functionality
m2mn_mqttsn_enter_sleep is called to enter MQTT-SN client to "asleep" state During the asleep state, all messages that need to be sent to the client are buffered at the server/gateway. Ping request is sent periodically to the server whose period is specified by parameter duration. When Ping request is triggered by the client, Gateway sends all the messages buffered for the client in that duration.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [in] | duration | Periodic interval for sending Ping Request for sleeping client.in seconds. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- a client cannot send any packet to the Gateway while in "asleep" state.
Example
void *resp, void *userdata )
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
VAL_PRINT("\r\nDisconnect Callback: event = %d", event);
break;
"Message Receive Callback: event = %d", event);
"MQTT-SN Message: Topic %s, Len %d\r\n", buf, message_ctx->
msg_length);
{
"More data to be received");
}
break;
default :
VAL_PRINT("\r\ndefault case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
result = m2mn_mqttsn_enter_sleep( p_mqttsn , 300 );
{
printf( "m2mn_mqttsn_enter_sleep succeeded");
}
}
◆ m2mb_mqttsn_get_client_status()
m2mb_mqttsn_get_client_status gets MQTTSN client current status
This function allows to retrieve current status of the specified client.
- Parameters
-
| [in] | handle | handle of the mqttsn client |
| [out] | status | pointer to the variable that will be filled with current client status (refer to M2MB_MQTTSN_STATUS_E enum) |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
Example
void *resp, void *userdata );
{
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
default :
printf("default case");
break;
}
}
void main(void)
{
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
m2mb_mqttsn_getClientStatus( p_mqttsn, &status );
{
printf("Client is initialized but not connected");
}
}
◆ m2mb_mqttsn_init()
m2mb_mqttsn_init is called to initialize MQTT-SN context.
m2mb_mqttsn_init initializes MQTT-SN client context returning the handle that must be passed as first parameter for all MQTT-SN actions. Calling the m2mb_mqttsn_init is mandatory before using the MQTT-SN client service. It should be called once for each MQTT-SN client.
- Parameters
-
| [out] | pHandle | pointer to MQTT-SN context handle that is initialized by the function. This has to be used in subsequent MQTT-SN APIs. |
| [in] | callback | callback that will be called if client receives an event. (ex: server disconnect the client and disconnect event is triggered) |
| [in] | userdata | a pointer to generic user data that will be returned as it is in the callback. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
Example
void *resp, void *userdata );
{
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
default :
printf("default case");
break;
}
}
void main(void)
{
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
}
◆ m2mb_mqttsn_ping()
m2mb_mqttsn_ping is called to ping
m2mb_mqttsn_ping is called to ping the remote MQTTSN Gateway
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
Example
void *resp, void *userdata )
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
VAL_PRINT("\r\nDisconnect Callback: event = %d", event);
break;
"Message Receive Callback: event = %d", event);
"MQTT-SN Message: Topic %s, Len %d\r\n", buf, message_ctx->
msg_length);
{
"More data to be received");
}
break;
default :
VAL_PRINT("\r\ndefault case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
{
printf( "m2mb_mqttsn_ping succeeded");
}
}
◆ m2mb_mqttsn_publish()
m2mb_mqttsn_publish is called to send Publish packet to the Gateway.
m2mb_mqttsn_publish sends the MQTT-SN Publish packet and waits for the Publish response (if QoS > 0). If QoS level is 1 then will wait for Publish Acknowledgment message. If QoS level = 2 then it will wait for Publish receive then send Publish release and wait for Publish complete.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [in] | publish | Structure specifying data to be filled in Publish packet |
| [out] | return_code | Return code received in Acknowledgement message. See @M2MB_MQTTSN_CODE_E. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- Client should be in "active" state i.e. M2MB_MQTTSN_CLIENT_CONNECTED state to perform this operation. To send QoS -1 publish packet, client should be in M2MB_MQTTSN_SOCKET_CONNECTED state. , Example
void *resp, void *userdata )
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
VAL_PRINT("\r\nDisconnect Callback: event = %d", event);
break;
"Message Receive Callback: event = %d", event);
"MQTT-SN Message: Topic %s, Len %d\r\n", buf,
{
"More data to be received");
}
break;
default :
VAL_PRINT("\r\ndefault case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
UINT16 topic_id = 0;
char data_buffer[] = "test_data_buffer";
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
{
printf( "m2mb_mqttsn_register succeeded, topic id = %d", topic_id);
}
publish.
data = data_buffer;
publish.
topic = topic_id;
{
printf( "m2mb_mqttsn_publish succeeded");
}
publish. = 1;
{
printf( "m2mb_mqttsn_publish succeeded");
}
{
printf( "m2mb_mqttsn_publish succeeded");
}
◆ m2mb_mqttsn_register()
m2mb_mqttsn_register is called to send Register packet to the Gateway.
m2mb_mqttsn_register sends the MQTT-SN Register packet and waits for the Register Acknowledge packet. The Register packet is sent by a client to a GW for requesting a topic id value for the specified topic name.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [in] | topic | Topic Name for which topic id is required. |
| [out] | topic_id | Topic id recieved in Register Acknowledgement packet will be filled in pointer provided by the user. |
| [out] | return_code | Return code received in Acknowledgement message. See @M2MB_MQTTSN_CODE_E. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- Client should be in "active" state to perform this operation. Example
void *resp, void *userdata );
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
printf("Message Receive Callback: event = %d", event);
printf("MQTT-SN Message: Topic %s, Len %d\r\n", buf, msg_length);
printf("Message: %s", buf);
{
printf("More data to be received");
}
break;
default :
printf("default case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
UINT16 topic_id = 0;
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
{
printf( "m2mb_mqttsn_register succeeded, topic id = %d", topic_id);
}
◆ m2mb_mqttsn_socket()
m2mb_mqttsn_socket is called to initialize the socket
m2mb_mqttsn_socket performs DNS query for the URL specified in host.and performs socket initializations.
- Parameters
-
| [in] | handle | handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [in] | host | URL of the remote MQTTSN Gateway that MQTTSN client needs to connect.(Ex: "api-dev.devicewise.com") |
| [in] | port | Port number of the remote MQTTSN Gateway that MQTTSN client needs to connect.(Ex: 1883) |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
Example
void *resp, void *userdata );
{
(void)handle;
switch(event)
{
printf("Disconnect Callback: event = %d", event);
break;
default :
printf("default case");
break;
}
}
void main(void)
{
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
◆ m2mb_mqttsn_subscribe()
m2mb_mqttsn_subscribe is called to send Subscribe to the specified topic/topic name.
m2mb_mqttsn_subscribe sends the MQTT-SN Subscribe packet and Subscribe packet and waits for the Subscribe Acknowledgment packet containing the assigned topic ID.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [in] | subscribe | Structure specifying data to be filled in subscribe packet |
| [out] | topic_id | If subscribing to a normal topic, this pointer fetches the topic id obtained for the same. |
| [out] | return_code | Return code received in Acknowledgement message. See @M2MB_MQTTSN_CODE_E. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- Client should be in "active" state to perform this operation.
Example
void *resp, void *userdata )
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
VAL_PRINT("\r\nDisconnect Callback: event = %d", event);
break;
"Message Receive Callback: event = %d", event);
"MQTT-SN Message: Topic %s, Len %d\r\n", buf, message_ctx->
msg_length);
{
"More data to be received");
}
break;
default :
VAL_PRINT("\r\ndefault case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
UINT16 topic_id = 0;
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
subscribe.
topic =
"subscribe_test_topic";
{
printf( "m2mb_mqttsn_subscribe succeeded, topic id = %d", topic_id );
}
{
printf( "m2mb_mqttsn_subscribe succeeded" );
}
{
printf( "m2mb_mqttsn_subscribe succeeded" );
}
◆ m2mb_mqttsn_unsubscribe()
m2mb_mqttsn_unsubscribe is called to send Unsubscribe to the specified topic/topic name.
m2mb_mqttsn_unsubscribe sends the MQTT-SN Unsubscribe packet and waits for the Unsubscribe Acknowledgment packet.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [in] | topic_type | Topic type of the topic to be unsubscribed. |
| [in] | topic | If unsubscribing to a normal topic name(longer than 2 octets), topic name is to be provided. |
| [in] | topic_id | If unsubscribing to short topic./pre-defined topic id, this is to be filled |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- Client should be in "active" state to perform this operation.
Example
void *resp, void *userdata )
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
VAL_PRINT("\r\nDisconnect Callback: event = %d", event);
break;
"Message Receive Callback: event = %d", event);
"MQTT-SN Message: Topic %s, Len %d\r\n", buf, message_ctx->
msg_length);
{
"More data to be received");
}
break;
default :
VAL_PRINT("\r\ndefault case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
UINT16 topic_id = 0;
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
subscribe.
topic =
"subscribe_test_topic";
{
printf( "m2mb_mqttsn_subscribe succeeded, topic id = %d", topic_id );
}
{
printf( "m2mb_mqttsn_subscribe succeeded" );
}
{
printf( "m2mb_mqttsn_subscribe succeeded" );
}
{
printf( "m2mb_mqttsn_unsubscribe succeeded" );
}
{
printf( "m2mb_mqttsn_unsubscribe succeeded" );
}
{
printf( "m2mb_mqttsn_unsubscribe succeeded" );
}
◆ m2mb_mqttsn_will_message_update()
m2mb_mqttsn_will_message_update is called to send Will Message Update packet to the Gateway.
m2mb_mqttsn_will_message_update sends the MQTT-SN Will Message Update packet.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [in] | will_msg | Will Message to be updated |
| [in] | will_msg_len | Length of updated message |
| [out] | return_code | Return code received in Acknowledgement message. See @M2MB_MQTTSN_CODE_E. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- Client should be in "active" state i.e. M2MB_MQTTSN_CLIENT_CONNECTED state to perform this operation.
Example
void *resp, void *userdata )
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
VAL_PRINT("\r\nDisconnect Callback: event = %d", event);
break;
"Message Receive Callback: event = %d", event);
"MQTT-SN Message: Topic %s, Len %d\r\n", buf, message_ctx->
msg_length);
{
"More data to be received");
}
break;
default :
VAL_PRINT("\r\ndefault case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
CHAR will_topic[] = "last_will_topic";
CHAR will_msg[] = "client disconnected";
CHAR willMsgUpdated[] = "client disconnected abruptly";
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
client_willwillMsgLen = strlen( will_msg );
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
&return_code );
{
printf( "m2mb_mqttsn_will_message_update succeeded");
}
}
◆ m2mb_mqttsn_will_topic_update()
m2mb_mqttsn_will_topic_update is called to send Topic Update packet to the Gateway.
m2mb_mqttsn_will_topic_update sends the MQTT-SN Will Topic Update packet. Setting will to zero in M2MB_MQTTSN_WILL_T structure indicates that the client wishes to delete the Will topic and the Will message stored in the server.
- Parameters
-
| [in] | handle | Handle to the MQTTSN client service, previously initialized by the m2mb_mqttsn_init function. |
| [in] | will | Structure to be passed by the user specifying will topic, qos, retain to be updated |
| [out] | return_code | Return code received in Acknowledgement message. See @M2MB_MQTTSN_CODE_E. |
- Returns
- M2MB_MQTTSN_RESPONSE_E values.
- Note
- Client should be in "active" state i.e. M2MB_MQTTSN_CLIENT_CONNECTED state to perform this operation.
Example
void *resp, void *userdata )
{
UINT8 buf[1024];
(void)handle;
switch(event)
{
VAL_PRINT("\r\nDisconnect Callback: event = %d", event);
break;
"Message Receive Callback: event = %d", event);
"MQTT-SN Message: Topic %s, Len %d\r\n", buf, message_ctx->
msg_length);
{
"More data to be received");
}
break;
default :
VAL_PRINT("\r\ndefault case");
break;
}
}
void main(void)
{
INT8 return_code = 0;
CHAR will_topic[] = "last_will_topic";
CHAR will_msg[] = "client disconnected";
CHAR willTopicUpdated[] = "new_last_will_topic";
{
return;
}
else
{
printf("m2mb_mqttsn_init succeeded");
}
client_willwillMsgLen = strlen( will_msg );
{
printf( "m2mb_mqttsn_socket succeeded");
}
{
printf( "m2mb_mqttsn_connect succeeded");
}
{
printf( "m2mb_mqttsn_will_topic_update succeeded");
}
{
printf( "m2mb_mqttsn_will_topic_update succeeded, will deleted");
}
}
Definition: m2mb_mqttsn.h:245
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_disconnect(M2MB_MQTTSN_HANDLE handle)
m2mb_mqttsn_disconnect is called to disconnect from the MQTTSN Gateway.
Definition: m2mb_mqttsn.h:212
M2MB_MQTTSN_TOPIC_ID_E topic_type
Definition: m2mb_mqttsn.h:273
UINT16 topic
Definition: m2mb_mqttsn.h:274
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_unsubscribe(M2MB_MQTTSN_HANDLE handle, M2MB_MQTTSN_TOPIC_ID_E topic_type, const CHAR *topic, UINT16 topic_id)
m2mb_mqttsn_unsubscribe is called to send Unsubscribe to the specified topic/topic name.
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_init(M2MB_MQTTSN_HANDLE *pHandle, m2mb_mqttsn_ind_callback callback, void *userdata)
m2mb_mqttsn_init is called to initialize MQTT-SN context.
M2MB_MQTTSN_IND_E
MQTT-SN Indications enum.
Definition: m2mb_mqttsn.h:60
UINT8 retain
Definition: m2mb_mqttsn.h:272
Definition: m2mb_mqttsn.h:125
M2MB_MQTTSN_STATUS_E
mqtt-sn client status enum
Definition: m2mb_mqttsn.h:98
CHAR * will_msg
Definition: m2mb_mqttsn.h:262
UINT8 retain
Definition: m2mb_mqttsn.h:260
UINT16 topic_id
Definition: m2mb_mqttsn.h:290
const CHAR * msg
Definition: m2mb_mqttsn.h:301
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_conf(M2MB_MQTTSN_HANDLE handle, UINT8 nCmds,...)
m2mb_mqttsn_conf sets/gets some MQTTSN parameters and configurations.
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_deinit(M2MB_MQTTSN_HANDLE handle)
m2mb_mqttsn_deinit deinitializes MQTT-SN service for specified MQTT-SN client.
UINT16 topic_length
Definition: m2mb_mqttsn.h:300
UINT32 data_len
Definition: m2mb_mqttsn.h:277
UINT8 will
Definition: m2mb_mqttsn.h:258
M2MB_MQTTSN_RX_STATUS_E status
Definition: m2mb_mqttsn.h:303
Definition: m2mb_mqttsn.h:65
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_clean_socket(M2MB_MQTTSN_HANDLE handle)
m2mb_mqttsn_clean_socket is called to perform socket related cleanup
HANDLE M2MB_MQTTSN_HANDLE
MQTT-SN context handle. This is obtained from m2mb_mqttsn_init API and then used in subsequent MQTT-S...
Definition: m2mb_mqttsn.h:55
const CHAR * topic
Definition: m2mb_mqttsn.h:299
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_awake(M2MB_MQTTSN_HANDLE handle)
m2mb_mqttsn_awake is called to enter "awake" state
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_subscribe(M2MB_MQTTSN_HANDLE handle, M2MB_MQTTSN_SUBSCRIBE_T subscribe, UINT16 *topic_id, UINT8 *return_code)
m2mb_mqttsn_subscribe is called to send Subscribe to the specified topic/topic name.
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_publish(M2MB_MQTTSN_HANDLE handle, M2MB_MQTTSN_PUBLISH_T publish, UINT8 *return_code)
m2mb_mqttsn_publish is called to send Publish packet to the Gateway.
Definition: m2mb_mqttsn.h:236
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_socket(M2MB_MQTTSN_HANDLE handle, const CHAR *host, UINT32 port)
m2mb_mqttsn_socket is called to initialize the socket
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_connect(M2MB_MQTTSN_HANDLE handle, UINT8 *return_code)
m2mb_mqttsn_connect is called to connect to the specified MQTTSN Gateway.
Definition: m2mb_mqttsn.h:224
const CHAR * will_topic
Definition: m2mb_mqttsn.h:261
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_register(M2MB_MQTTSN_HANDLE handle, const CHAR *topic, UINT16 *topic_id, UINT8 *return_code)
m2mb_mqttsn_register is called to send Register packet to the Gateway.
MQTT-SN Publish structure. This is used to Publish data to the Gateway.
Definition: m2mb_mqttsn.h:269
const CHAR * data
Definition: m2mb_mqttsn.h:276
Definition: m2mb_mqttsn.h:136
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_enter_sleep(M2MB_MQTTSN_HANDLE handle, UINT16 duration)
m2mn_mqttsn_enter_sleep is called to enable sleeping client functionality
Definition: m2mb_mqttsn.h:62
MQTT-SN will structure. Used while setting will and will topic update.
Definition: m2mb_mqttsn.h:256
MQTT-SN Subscribe structure. This is used while subscribing to a topic/topic Id.
Definition: m2mb_mqttsn.h:296
MQTT-SN Subscribe structure. This is used while subscribing to a topic/topic Id.
Definition: m2mb_mqttsn.h:283
M2MB_MQTTSN_QOS_E qos
Definition: m2mb_mqttsn.h:271
Definition: m2mb_mqttsn.h:101
Definition: m2mb_mqttsn.h:213
UINT32 msg_length
Definition: m2mb_mqttsn.h:302
M2MB_MQTTSN_QOS_E qos
Definition: m2mb_mqttsn.h:259
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_ping(M2MB_MQTTSN_HANDLE handle)
m2mb_mqttsn_ping is called to ping
const CHAR * short_topic
Definition: m2mb_mqttsn.h:275
Definition: m2mb_mqttsn.h:226
Definition: m2mb_mqttsn.h:146
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_will_topic_update(M2MB_MQTTSN_HANDLE handle, M2MB_MQTTSN_WILL_T *will, UINT8 *return_code)
m2mb_mqttsn_will_topic_update is called to send Topic Update packet to the Gateway.
Definition: m2mb_mqttsn.h:225
const CHAR * topic
Definition: m2mb_mqttsn.h:288
Definition: m2mb_mqttsn.h:129
M2MB_MQTTSN_TOPIC_ID_E topic_type
Definition: m2mb_mqttsn.h:287
Definition: m2mb_mqttsn.h:75
M2MB_MQTTSN_RESPONSE_E m2mb_mqttsn_will_message_update(M2MB_MQTTSN_HANDLE handle, CHAR *will_msg, UINT16 will_msg_len, UINT8 *return_code)
m2mb_mqttsn_will_message_update is called to send Will Message Update packet to the Gateway.
M2MB_RESULT_E m2mb_trace_file_line_printf(const char *file, int line, M2MB_TRACE_CLASS _class, M2MB_TRACE_LEVEL level, char *fmt,...)
Base trace printf with file and line info.
M2MB_MQTTSN_RESPONSE_E
MQTT-SN APIs response enum.
Definition: m2mb_mqttsn.h:73
M2MB_MQTTSN_QOS_E qos
Definition: m2mb_mqttsn.h:285