//------------------------------------------------------------------------------------ // MQTT class implementation //------------------------------------------------------------------------------------ MQTT::MQTT(const char* client_id, const char* host, uint32_t port) : onMqttConnectedCb(0) ,onMqttDisconnectedCb(0) ,onMqttPublishedCb(0) ,onMqttDataCb(0) ,onMqttDataRawCb(0) { // init connections MQTT_InitConnection(&mqttClient, host, port); // init client MQTT_InitClient(&mqttClient, (uint8_t*)client_id, (uint8_t*)"", (uint8_t*)"", 120, 1); // init LWT MQTT_InitLWT(&mqttClient, (uint8_t*)"/lwt", (uint8_t*)"offline", 0, 0); // set user data mqttClient.user_data = (void*)this; // setup callbacks MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnPublished(&mqttClient, mqttPublishedCb); MQTT_OnData(&mqttClient, mqttDataCb); MQTT_OnTimeout(&mqttClient, mqttTimeoutCb); }
LOCAL void ICACHE_FLASH_ATTR initDone_cb() { CFG_Load(); os_printf("\n%s starting ...\n", sysCfg.deviceName); MQTT_InitConnection(&mqttClient, sysCfg.mqtt_host, sysCfg.mqtt_port, sysCfg.security); MQTT_InitClient(&mqttClient, sysCfg.device_id, sysCfg.mqtt_user, sysCfg.mqtt_pass, sysCfg.mqtt_keepalive, 1); char temp[100]; os_sprintf(temp, "/Raw/%s/offline", sysCfg.device_id); MQTT_InitLWT(&mqttClient, temp, "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnData(&mqttClient, mqttDataCb); os_printf("SDK version is: %s\n", system_get_sdk_version()); os_printf("Smart-Config version is: %s\n", smartconfig_get_version()); system_print_meminfo(); os_printf("Flash size map %d; id %lx\n", system_get_flash_size_map(), spi_flash_get_id()); WIFI_Connect(sysCfg.sta_ssid, sysCfg.sta_pwd, sysCfg.deviceName, wifiConnectCb); lcdInit(); lightOn(); showString(1, 1, "MQTT Monitor"); }
void user_init(void) { uart_init(BIT_RATE_9600, BIT_RATE_9600); os_install_putc1((void *)uart_putc1); avr_uart_override_rx_intr (); os_delay_us(1000000); CFG_Load(); MQTT_InitConnection(&mqttClient, sysCfg.mqtt_host, sysCfg.mqtt_port, sysCfg.security); MQTT_InitClient(&mqttClient, sysCfg.device_id, sysCfg.mqtt_user, sysCfg.mqtt_pass, sysCfg.mqtt_keepalive, 1); MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnPublished(&mqttClient, mqttPublishedCb); MQTT_OnData(&mqttClient, mqttDataCb); WIFI_Connect(sysCfg.sta_ssid, sysCfg.sta_pwd, wifiConnectCb); INFO("\r\nSystem started ...\r\n"); avr_init_task (); avr_reg_msg_callback(avr_msg_cb); }
void user_init(void) { system_set_os_print(0); uart_init(BIT_RATE_115200, BIT_RATE_115200); os_delay_us(1000000); CFG_Load(); // Initialize the GPIO subsystem. gpio_init(); //Set GPIO2 to output mode PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2); //Set GPIO2 high gpio_output_set(ROOMBA_WAKEUP_PIN, 0, ROOMBA_WAKEUP_PIN, 0); MQTT_InitConnection(&mqttClient, sysCfg.mqtt_host, sysCfg.mqtt_port, sysCfg.security); //MQTT_InitConnection(&mqttClient, "192.168.11.122", 1880, 0); MQTT_InitClient(&mqttClient, sysCfg.device_id, sysCfg.mqtt_user, sysCfg.mqtt_pass, sysCfg.mqtt_keepalive, 1); //MQTT_InitClient(&mqttClient, "client_id", "user", "pass", 120, 1); MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnPublished(&mqttClient, mqttPublishedCb); MQTT_OnData(&mqttClient, mqttDataCb); WIFI_Connect(sysCfg.sta_ssid, sysCfg.sta_pwd, wifiConnectCb); INFO("\r\nSystem started ...\r\n"); }
void ICACHE_FLASH_ATTR mqtt_init() { MQTT_InitConnection(&mqttClient, config.mqtt_host, config.mqtt_port, config.security); MQTT_InitClient(&mqttClient, config.device_id, config.mqtt_user, config.mqtt_pass, config.mqtt_keepalive, 1); MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqtt_connected_cb); MQTT_OnDisconnected(&mqttClient, mqtt_disconnected_cb); MQTT_OnPublished(&mqttClient, mqtt_published_cb); MQTT_OnData(&mqttClient, mqtt_data_cb); }
void ICACHE_FLASH_ATTR mqttstart() { #ifdef MENJINDEBUG os_printf("mqtt client starting...."); #endif MQTT_InitConnection(&mqttClient, "192.168.1.1", 1883, 0); MQTT_InitClient(&mqttClient, "esp_8266", "", "", 10, 1); MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnPublished(&mqttClient, mqttPublishedCb); MQTT_OnData(&mqttClient, mqttDataCb); }
void user_init(void) { uart_init(BIT_RATE_230400, BIT_RATE_230400); system_set_os_print(1); // enable/disable operating system printout os_sprintf(topic_temp, MQTT_TOPICTEMP, system_get_chip_id()); os_sprintf(topic_hum, MQTT_TOPICHUM, system_get_chip_id()); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13); ETS_GPIO_INTR_DISABLE(); // Disable gpio interrupts ETS_GPIO_INTR_ATTACH(interrupt_test, 4); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4); gpio_output_set(0, 0, 0, GPIO_ID_PIN(4)); // Set GPIO12 as input GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, BIT(4)); gpio_pin_intr_state_set(GPIO_ID_PIN(4), GPIO_PIN_INTR_ANYEDGE); ETS_GPIO_INTR_ENABLE(); // Enable gpio interrupts config_load(); DHTInit(DHT11); MQTT_InitConnection(&mqttClient, config.mqtt_host, config.mqtt_port, config.security); MQTT_InitClient(&mqttClient, config.device_id, config.mqtt_user, config.mqtt_pass, config.mqtt_keepalive, 1); MQTT_InitLWT(&mqttClient, "lwt/", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqtt_connected_cb); MQTT_OnDisconnected(&mqttClient, mqtt_disconnected_cb); MQTT_OnPublished(&mqttClient, mqtt_published_cb); MQTT_OnData(&mqttClient, mqtt_data_cb); WIFI_Connect(config.sta_ssid, config.sta_pwd, wifi_connect_cb); os_timer_disarm(&dhtTimer); os_timer_setfn(&dhtTimer, (os_timer_func_t *)dhtCb, (void *)0); os_timer_arm(&dhtTimer, DELAY, 1); os_timer_disarm(&hbTimer); os_timer_setfn(&hbTimer, (os_timer_func_t *)application_heartbeat, (void *)0); os_timer_arm(&hbTimer, 60000, 1); INFO("\r\nSystem started ...\r\n"); }
void ICACHE_FLASH_ATTR user_init(void) { pcd8544_settings.lcdVop = PCD8544_CONTRAST; pcd8544_settings.tempCoeff = 0x04; pcd8544_settings.biasMode = 0x14; pcd8544_settings.inverse = false; // you can change these values to any pin you like and have access to pcd8544_settings.resetPin = PCD8544_RESET_PIN; //-1; This pin is now optional. // Set it to negative value to disable. // If you do disable it, you must tie LCD reset pin to esp reset via resistor. pcd8544_settings.scePin = PCD8544_SCE_PIN; //-1; This pin is now optional. // Set it to negative value to disable. // If you do disable it, you must tie LCD CE pin to GND via resistor. // dcPin, sdinPin and sclkPin can be used for other SPI devices if scePin is *NOT* disabled. pcd8544_settings.dcPin = PCD8544_DC_PIN; pcd8544_settings.sdinPin = PCD8544_SDIN_PIN; pcd8544_settings.sclkPin = PCD8544_SCLK_PIN; // Make uart0 work with just the TX pin. Baud:115200,n,8,1 // The RX pin is now free for GPIO use. stdout_init(); os_delay_us(1000000); // wait a second PCD8544_init(&pcd8544_settings); PCD8544_initLCD(&pcd8544_settings); CFG_Load(); MQTT_InitConnection(&mqttClient, sysCfg.mqtt_host, sysCfg.mqtt_port, sysCfg.security); MQTT_InitClient(&mqttClient, sysCfg.device_id, sysCfg.mqtt_user, sysCfg.mqtt_pass, sysCfg.mqtt_keepalive, 1); MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnData(&mqttClient, mqttDataCb); WIFI_Connect(sysCfg.sta_ssid, sysCfg.sta_pwd, wifiConnectCb); os_timer_setfn(&lcd_timer, (os_timer_func_t*) lcdInitTask, NULL); os_timer_arm(&lcd_timer, user_procTaskPeriod, 0); INFO("\nSystem started ...\n"); }
void user_init(void) { //uart_init(BIT_RATE_115200, BIT_RATE_115200); uart_init(BIT_RATE_9600, BIT_RATE_115200); os_delay_us(1000000); CFG_Load(); //MQTT_InitConnection(&mqttClient, sysCfg.mqtt_host, sysCfg.mqtt_port, sysCfg.security); MQTT_InitConnection(&mqttClient, "user.jdaiot.com", 1883, 0); //MQTT_InitClient(&mqttClient, sysCfg.device_id, sysCfg.mqtt_user, sysCfg.mqtt_pass, sysCfg.mqtt_keepalive, 1); MQTT_InitClient(&mqttClient, "g500001", "LASS", "LaSS2015", 120, 1); MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnPublished(&mqttClient, mqttPublishedCb); MQTT_OnData(&mqttClient, mqttDataCb); WIFI_Connect(sysCfg.sta_ssid, sysCfg.sta_pwd, wifiConnectCb); //// modified for LASS system_os_task(recvTask, recvTaskPrio, recvTaskQueue, recvTaskQueueLen); tick=0; refreshTime=10; // turn off timer os_timer_disarm(&tmr0); // // set the timer call back function // os_timer_setfn(&tmr0, tsr0, &mqttClient); // // turn timer on to trigger each .5 second // os_timer_arm(&tmr0, 5000, 1); //every 5 second INFO("\r\nSystem started ...\r\n"); }
void ICACHE_FLASH_ATTR u_mqtt_init() { CFG_Load(); /* * Original, old call with SSID and Passwd included. * WIFI_Connect(sysCfg.sta_ssid, sysCfg.sta_pwd, wifiConnectCb); * * NOTE:- Our WiFi-Connect callback calls the MQTT_Connect function, * which in turn will call the mqttConnectCb() function when * communications with the MQTT servcer are established. */ WIFI_Connect(wifiConnectCb); MQTT_InitConnection(&mqttClient, sysCfg.mqtt_host, sysCfg.mqtt_port, sysCfg.security); MQTT_InitClient(&mqttClient, sysCfg.device_id, sysCfg.mqtt_user, sysCfg.mqtt_pass, sysCfg.mqtt_keepalive, 1); MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnPublished(&mqttClient, mqttPublishedCb); MQTT_OnData(&mqttClient, mqttDataCb); }
void user_init(void) { uart_init(BIT_RATE_115200, BIT_RATE_115200); os_delay_us(1000000); CFG_Load(); MQTT_InitConnection(&mqttClient, sysCfg.mqtt_host, sysCfg.mqtt_port, sysCfg.security); //MQTT_InitConnection(&mqttClient, "192.168.11.122", 1880, 0); MQTT_InitClient(&mqttClient, sysCfg.device_id, sysCfg.mqtt_user, sysCfg.mqtt_pass, sysCfg.mqtt_keepalive, 1); //MQTT_InitClient(&mqttClient, "client_id", "user", "pass", 120, 1); MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnPublished(&mqttClient, mqttPublishedCb); MQTT_OnData(&mqttClient, mqttDataCb); WIFI_Connect(sysCfg.sta_ssid, sysCfg.sta_pwd, wifiConnectCb); INFO("\r\nSystem started ...\r\n"); }
void user_init(void) { int access_point = 1; uart_init(BIT_RATE_115200, BIT_RATE_115200); os_delay_us(1000000); if(access_point) { wifi_set_opmode(STATIONAP_MODE); } else { gpio_init(); PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1); gpio_output_set(0, 0, (1 << pin), 0); CFG_Load(); MQTT_InitConnection(&mqttClient, sysCfg.mqtt_host, sysCfg.mqtt_port, sysCfg.security); //MQTT_InitConnection(&mqttClient, "192.168.11.122", 1880, 0); MQTT_InitClient(&mqttClient, sysCfg.device_id, sysCfg.mqtt_user, sysCfg.mqtt_pass, sysCfg.mqtt_keepalive, 1); //MQTT_InitClient(&mqttClient, "client_id", "user", "pass", 120, 1); MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0); MQTT_OnConnected(&mqttClient, mqttConnectedCb); MQTT_OnDisconnected(&mqttClient, mqttDisconnectedCb); MQTT_OnPublished(&mqttClient, mqttPublishedCb); MQTT_OnData(&mqttClient, mqttDataCb); WIFI_Connect(sysCfg.sta_ssid, sysCfg.sta_pwd, wifiConnectCb); INFO("\r\nSystem started ...\r\n"); } }
static void on_mqtt_connected(uint32_t *args) { dmesg("Hello, world!"); MQTT_InitLWT(&mqtt_client, TOPIC_DMESG, "Goodbye, cruel world!", 0, 1); MQTT_Subscribe(&mqtt_client, TOPIC_CONTROL, 0); }