This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| app-notes:metric-cloudsetup:sdk-dio-mqtt-subscribe [2021/07/20 08:32] – dodenhoeft | app-notes:metric-cloudsetup:sdk-dio-mqtt-subscribe [2021/07/27 12:09] (current) – dodenhoeft | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Mqtt subscribe DIO Status ====== | ||
| + | |||
| + | The following script will send a subscribe message to the topic, if DIO status has been changed. | ||
| + | |||
| <file c sdk-dio-mqtt-subscribe.are> | <file c sdk-dio-mqtt-subscribe.are> | ||
| + | HOST = " | ||
| + | PORT = 1883; | ||
| + | KEEPALIVE = 60; | ||
| + | PROTOCOL = " | ||
| + | USERNAME = " | ||
| + | PASSWORD = " | ||
| + | CLIENT_ID = " | ||
| + | TOPIC = " | ||
| + | QOS = 0; | ||
| + | RETAIN = 0; | ||
| + | MESSAGE = ""; | ||
| + | TIMEOUT = 1000; | ||
| + | CLEAN_SESSION = true; | ||
| + | MQTT_HANDLE = 0; | ||
| + | |||
| + | /*create new mqtt instance*/ | ||
| + | MQTT_HANDLE = nb_mqttlib_new(CLIENT_ID, | ||
| + | |||
| + | if (nb_mqttlib_set_protocol_version(MQTT_HANDLE, | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | if (nb_mqttlib_set_user_pw(MQTT_HANDLE, | ||
| + | printf(" | ||
| + | |||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | if (nb_mqttlib_connect(MQTT_HANDLE, | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | if (nb_mqttlib_subscribe(MQTT_HANDLE, | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | |||
| + | while (1) { | ||
| + | |||
| + | ret = nb_mqttlib_get_callback_message(MQTT_HANDLE, | ||
| + | |||
| + | buffer=(string) ret.msg.msg; | ||
| + | |||
| + | if(buffer==" | ||
| + | printf(" | ||
| + | if (nb_dio_set(" | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | }else { | ||
| + | if(buffer==" | ||
| + | printf(" | ||
| + | if (nb_dio_set(" | ||
| + | printf(" | ||
| + | exit(1); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | //For debugging | ||
| + | // | ||
| + | |||
| + | if(ret< | ||
| + | nb_syslog(" | ||
| + | } | ||
| + | // | ||
| + | } | ||
| + | |||
| + | exit(0); | ||
| + | </ | ||