Exemple #1
0
static void mqttConnectedCb(uint32_t *args)
{
	MQTT_Client* client = (MQTT_Client*)args;
	MQTT_DBG("MQTT: Connected");

	int i;
	char * buff = (char *)os_zalloc(64);
        uint32_t vdd33 = readvdd33();
        
	sensor_data data;
	sensors_get_data(&data);	

	c_sprintf(buff,"%f",data.sht21.temp);
	MQTT_Publish(&mqtt_client, "temperature/"SERIAL_NUMBER, buff, strlen(buff), 0, 1);

	os_memset(buff,0,64);
	c_sprintf(buff,"%f",data.sht21.hum);
	MQTT_Publish(&mqtt_client, "humidity/"SERIAL_NUMBER, buff, strlen(buff), 0, 1);

	os_memset(buff,0,64);
	c_sprintf(buff,"%f",(float)(vdd33/1000.0));
	MQTT_Publish(&mqtt_client, "voltage/"SERIAL_NUMBER, buff, strlen(buff), 0, 1);
        
        os_free(buff);

}
Exemple #2
0
//TODO move to own file
int ICACHE_FLASH_ATTR http_dht_api_read(http_connection *c) {


	NODE_DBG("http_dht_api_read");
		
	//wait for whole body
	if(c->state <HTTPD_STATE_BODY_END)
		return HTTPD_CGI_MORE; 	

	//write headers
	http_SET_HEADER(c,HTTP_CONTENT_TYPE,JSON_CONTENT_TYPE);	
	http_response_OK(c);

	sensor_data data;
	sensors_get_data(&data);
		
	//create json
	cJSON *root = cJSON_CreateObject();
	cJSON_AddNumberToObject(root,"temp",data.dht22.temp);
	cJSON_AddNumberToObject(root,"hum",data.dht22.hum);

	//write json
	http_write_json(c,root);

	//delete json struct
	cJSON_Delete(root);
				
	return HTTPD_CGI_DONE;


}
Exemple #3
0
static void ICACHE_FLASH_ATTR sensor_read_timer_cb(void *arg){

	char * buff = (char *)os_zalloc(64);

	sensor_data data;
	sensors_get_data(&data);	

	c_sprintf(buff,"%f",data.dht22.temp);
	MQTT_Publish(&mqtt_client, "temperature/"SERIAL_NUMBER, data.dht22.temp_string, strlen(data.dht22.temp_string), 0, 1);

	os_memset(buff,0,64);
	c_sprintf(buff,"%f",data.dht22.hum);
	MQTT_Publish(&mqtt_client, "humidity/"SERIAL_NUMBER, data.dht22.hum_string, strlen(data.dht22.hum_string), 0, 1);

	os_memset(buff,0,64);
	c_sprintf(buff,"%d",data.bmp180.press);
	MQTT_Publish(&mqtt_client, "pressure/"SERIAL_NUMBER, buff, strlen(buff), 0, 1);

	os_free(buff);



}