This shows you the differences between two versions of the page.
— |
app-notes:metric-cloudsetup:sdk-gnss-mqtt-publish [2020/11/12 09:34] (current) erdmann created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <file c sdk-gnss-mqtt-publish.are> | ||
+ | HOST = "123.123.123.123"; | ||
+ | PORT = 1883; | ||
+ | KEEPALIVE = 60; | ||
+ | PROTOCOL = "V31"; | ||
+ | USERNAME = "mqtt-username"; | ||
+ | PASSWORD = "mqtt-password"; | ||
+ | CLIENT_ID = "SDK-GPS"; | ||
+ | TOPIC = "your-topic"; | ||
+ | QOS = 0; | ||
+ | RETAIN = 0; | ||
+ | MESSAGE = ""; | ||
+ | CLEAN_SESSION = true; | ||
+ | MQTT_HANDLE = 0; | ||
+ | /*create new mqtt instance*/ | ||
+ | MQTT_HANDLE = nb_mqttlib_new(CLIENT_ID, CLEAN_SESSION); | ||
+ | |||
+ | if (nb_mqttlib_set_protocol_version(MQTT_HANDLE, PROTOCOL) < 0 ) { | ||
+ | printf("Unable to set Protocol version\n"); | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | if (nb_mqttlib_set_user_pw(MQTT_HANDLE, USERNAME, PASSWORD) < 0 ) { | ||
+ | printf("Unable to set Username and Passsword\n"); | ||
+ | |||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | if (nb_mqttlib_connect(MQTT_HANDLE, HOST, PORT, KEEPALIVE) < 0 ) { | ||
+ | printf("Unable to connect\n"); | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | |||
+ | while (1) { | ||
+ | sys_tmp = nb_status("system").TEMPERATURE; | ||
+ | gps_long = nb_status("gnss").GNSS1_LONGITUDE; | ||
+ | gps_lat = nb_status("gnss").GNSS1_LATITUDE; | ||
+ | gps_hdop = nb_status("gnss").GNSS1_HDOP; | ||
+ | gps_vdop = nb_status("gnss").GNSS1_VDOP; | ||
+ | gps_pdop = nb_status("gnss").GNSS1_PDOP; | ||
+ | gps_altitude = nb_status("gnss").GNSS1_ALTITUDE; | ||
+ | gps_satellites_used = nb_status("gnss").GNSS1_SATELLITES_USED; | ||
+ | gps_satellites_inview = nb_status("gnss").GNSS1_SATELLITES_INVIEW; | ||
+ | gps_horizontal_speed = nb_status("gnss").GNSS1_HORIZONTAL_SPEED; | ||
+ | |||
+ | /* create the message */ | ||
+ | MESSAGE=sprintf("%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",sys_tmp, gps_long, gps_lat, gps_hdop, gps_vdop, gps_pdop, gps_altitude, gps_satellites_used, gps_satellites_inview, gps_horizontal_speed); | ||
+ | |||
+ | /*uncomment to view MESSAGE*/ | ||
+ | //printf("%s", MESSAGE); | ||
+ | |||
+ | /* publish the message to mqtt broker */ | ||
+ | ret = nb_mqttlib_publish(MQTT_HANDLE, TOPIC, MESSAGE, QOS, RETAIN); | ||
+ | |||
+ | if(ret<0){ | ||
+ | nb_syslog("Failed to publish mqtt message"); | ||
+ | } | ||
+ | |||
+ | sleep(30); | ||
+ | } | ||
+ | |||
+ | exit(0); | ||
+ | </file> |