void fix_connection(){ Serial.println("Fixing WiFi"); WiFi.disconnect(); delay(1000); WiFi.off(); delay(1000); WiFi.on(); delay(1000); connect_wifi(); }
void setup() { delay(1000); // Serial for print and debug Serial.begin(115200); Serial.setTimeout(5000); delay(1000); // Serial1 for communicate with esp8266 Serial1.begin(115200); Serial.setTimeout(5000); delay(1000); Serial1.println("AT+RST"); Serial.println("AT+RST"); if(Serial1.find("OK")) { Serial.println("Module is ready!"); } else { Serial.println("Module is no response!"); //while(1); } delay(1000); Serial1.println("AT"); if(Serial1.find("OK")) { Serial.println("OK"); } else { Serial.println("Fail"); //while(1); } delay(1000); Serial1.println("AT+GMR"); while(Serial1.available()){ char c = Serial1.read(); Serial.write(c); if(c == '\r') Serial.print('\n'); } int cnt = 0; bool connected = false; for (cnt = 0; cnt < 5; cnt++) { if(connect_wifi()) { connected = true; break; } } if(!connected){ Serial.println("Connect to wifi failed"); while(1); } delay(5000); Serial1.println("AT+CIPMUX=0"); }
void setup() { Serial.begin(9600); Serial.println("beginning"); RGB.control(true); RGB.brightness(5); connect_wifi(); Serial.println("running"); Serial.println(request.path); String s_path = String("/api/"+API_VERSION+"/node/"+myIDStr+"/sensors"); s_path.toCharArray(path, 64); String cook = String("lablog="+myIDStr); cook.toCharArray(cookie, 64); request.hostname = "crtlabsdev.realtors.org"; request.port = 80; request.path = path; light.init(); voc.init(); co2.init(); dht.begin(); dust.begin(); }
void ICACHE_FLASH_ATTR user_init() { // init UART for debugging baud rate comes from user_config.h uart_div_modify(0, UART_CLK_FREQ / BAUD_RATE); os_printf("\r\nESP8266 OOK decoding\r\n"); // speed boost (hopefully) //system_update_cpu_freq(160); system_update_cpu_freq(80); // setup loop callback in system task queue system_os_task(loop, user_procTaskPrio, user_procTaskQueue, user_procTaskQueueLen); system_os_post(user_procTaskPrio, 0, 0); // init wifi using creds in wifi_config.h. Put your own creds in the file connect_wifi(WIFI_SSID, WIFI_PSK); // apparently an accurate system time is needed for SSL, so start up // SNTP stuff. // SNTP is also used for timestamping emails and alarm triggeringings sntp_setservername(0, "time.nist.gov"); sntp_setservername(1, "time-c.nist.gov"); sntp_set_timezone(TIMEZONE); sntp_init(); // init stuff for the ook decoder gpio_init(); gpio_intr_handler_register(ook_intr_handler, (void*) &unprocessedPackets); init_ook_decoder(); // webserver-related initialisation init_web_server(); attach_btn_clear(clearTriggeredSensors); attach_btn_arm_alarm(arm_alarm); attach_btn_disarm_alarm(disarm_alarm); // update so we don't just have a blank page on startup updateWebpage(); }
void loop() { light.read(); voc.read(); dust.read(); if (nextTime > millis()) return; if(WiFi.ready()){ char json_body[128]; char body_out[128]; sprintf(json_body, "{\"temperature\":%.2f, \"humidity\":%.2f, \"light\":%d , \"co2\":%d, \"voc\":%d, \"dust\":%.2f}", dht.readTemperature(false), dht.readHumidity(), light.read(), co2.read(), voc.read(), dust.read()); Serial.println(json_body); aes_128_encrypt(json_body, KEY, body_out); memcpy(request.body, body_out, 128); http.post(request, response, headers); nextTime = millis() + 1000; Serial.print("Response status: "); Serial.println(response.status); if(response.status == -1){ fix_connection(); } }else{ connect_wifi(); } }
static gboolean connect_call_back(gpointer user_data) { char *dev; char * key=NULL; dev="eth0"; #if MY_PC_DEBUG == 0 iwconfig_eth0_key(dev,"off"); #endif //if(net) // g_free(net); /*else if (!strcmp(tag_key,"on")) { net=g_strdup(tag_essid); //GtkWidget *dialog_window_temp=popup_widow_password (applet->wifi_list_window); if (gtk_dialog_run(GTK_DIALOG(dialog_window_temp)) == GTK_RESPONSE_ACCEPT) { printf("Connect_Button_Pressed-KEY\n"); key = gtk_entry_get_text (GTK_ENTRY (g_object_get_data(G_OBJECT (dialog_window_temp), "entry"))); printf("key=%s\n",key); printf("aaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"); iwconfig_eth0_key(dev,key); iwconfig_eth0_key(dev,"on"); iwconfig_eth0_essid(dev,net); gtk_widget_destroy(dialog_window_temp); g_idle_add(connect_wifi, applet); return FALSE; } }*/ //net=g_strdup(tag_essid); #if MY_DEBUG_OUT == 1 g_print("dev=%s\n",dev); g_print("selectEssid=%s\n",selectEssid); g_print("selectPassword=%s\n",selectPassword); #endif //g_print("tag_key=%s\n",tag_key); //如果是关闭密码状态 if(strcmp(selectPassword,"on")) { #if MY_PC_DEBUG == 0 iwconfig_eth0_essid(dev,selectEssid); #endif //g_idle_add(connect_wifi, NULL); connect_wifi(NULL); } gtk_button_set_label(GTK_BUTTON(Connect_Button), "Disconnect"); /*else { GtkWidget *dialog_window_temp=popup_widow_password (applet->wifi_list_window); if (gtk_dialog_run(GTK_DIALOG(dialog_window_temp)) == GTK_RESPONSE_ACCEPT) { printf("Connect_Button_Pressed-KEY\n"); key = gtk_entry_get_text (GTK_ENTRY (g_object_get_data(G_OBJECT (dialog_window_temp), "entry"))); printf("key=%s\n",key); printf("aaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"); iwconfig_eth0_essid(dev,net); iwconfig_eth0_key(dev,key); iwconfig_eth0_key(dev,"on"); gtk_widget_destroy(dialog_window_temp); g_idle_add(connect_wifi, applet); } else { gtk_widget_destroy(dialog_window_temp); GtkWidget * IP_Con_Button = glade_xml_get_widget(applet->wifi_list_window->windowXML, "IP_Button"); GtkWidget * Scan_Button = glade_xml_get_widget(applet->wifi_list_window->windowXML, "Scan_Button"); GtkWidget * Connect_Button = glade_xml_get_widget(applet->wifi_list_window->windowXML, "Connect_Button"); gtk_widget_set_sensitive(IP_Con_Button, TRUE); gtk_widget_set_sensitive(Scan_Button, TRUE); gtk_widget_set_sensitive(Connect_Button, TRUE); nma_set_state (applet, NM_STATE_DISCONNECTED); } }*/ return FALSE; }