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); | ||
+ | </ |