Skocz do zawartości

Danielos01

Użytkownicy
  • Zawartość

    71
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Danielos01

  • Ranga
    4/10

Informacje

  • Płeć
    Mężczyzna

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Witam, mam podłączoną do ESP8266 diodę led (ma na ten moment zastępować przekaźnik) anodą do pinu GPIO 0(przez rezystor), a katodą do GND. W domoticzu ustawiłem przełącznik i wszystko działa poprawnie gdy nacisnę na ikonę(żaróweczka się zapala) i rzeczywista dioda led też się zapala. Problem polega na tym że jeżeli zostawię wyłączoną diodę to po około 3h dioda samoczynnie się zapala (tak jak by ktoś wszedł do D0moticza i nacisną na ikonę i zapalił diodę). W zakładce Konfiguracja - Logi w tym czasie wyświetla się komunikat: 2019-07-10 19:02:05.873 Status: User: Admin initiated a switch command (9/Światło pokój/On). Problem polega na tym że nikt nie wchodzi do Domoticza i naciska na ikonę. Tak dzieje się mniej więcej co jakieś 3h. Nie mam ustawionych żadnych planów dla przełącznika. Również z tego ESP wysyłana jest temperatura z czujnika i działa bez zarzutu. Poniżej screeny z domoticza i esp. Czy ktoś miał taki dziwny problem i może wie jak się z tym uporać?
  2. Witam, wiem że już na tym forum szukałem pomocy odnośnie ESP8266 ale nie mogąc rozwiązać tamtych problemów zakupiłem dzisiaj właśnie ESP jak w tytule (zdjęcia poniżej). Bezproblemowo po podłączeniu do laptopa i wgraniu sterownika CH340G zainstalowałem ESPEasy (zgodnie z ta stroną: http://flytomcio.pl/esp8266/esp8266-instalacja-espeasy/). Po restarcie ESP uruchamia się w trybie acess pointa. Po połączeniu się gdy wpisuję adres http://192.168.4.1 strona się nie może wczytać i wyświetla się komunikat przekroczenia czasu połączenia(zdjęcie poniżej). Za którymś razem udało się otworzyć stronę ustawień i przy próbie połączenia z domowym wi-fi gdy następuje sprawdzenie połączenia (odliczanie czasu) znowu pojawia się komunikat przekroczonego limitu połączenia. Zasilałem moduł z gniazda USB laptopa, ładowarki telefonu - 5V, 1A oraz zasilacza od RaspbberyPi, za każdym razem po pewnym czasie ładowania pokazuje przekroczenie limitu czasu połączenia! Byłbym bardzo wdzięczny za jakąś pomoc.
  3. Dzięki bardzo wszystkim za zaangażowanie działa - ESP udostępnia wi-fi. Zmieniłem zasilanie i od początku zrobiłem wszystko wg http://flytomcio.pl/esp8266/esp8266-instalacja-espeasy/. Mam teraz jeszcze tylko jeden problem jeżeli jeszcze macie siłę i chęci to proszę o pomoc. Chcę teraz przesyłać temperaturę z DS18B20 do Domoticza. Robię zgodnie z tą stroną:http://flytomcio.pl/raspberry-pi/domoticz/termometr-ds18b20-i-espeasy/.. Problem polega na tym że nie "dociera temperatura" do Domoticza (pokazuje cały czas 0 st.C). Podejrzewam że skopałem coś ustawienia. Poniżej screeny z ESP. W zakładce config: ESP GW - IP routera (brama domyślna) ESP Subnet - maska podsieci ESP DNS - dałem zgodnie z tym co na tej stronie internetowej ale też dawałem takie samo IP jak ESP GW (wziąłem to z tego: https://translate.google.com/translate?hl=pl&sl=en&u=https://www.letscontrolit.com/wiki/index.php/ESP_Easy_web_interface&prev=search) Zakładka controllers: Controller IP - IP Domoticza Controller Port - port Domoticza 8080 login i hasło tylko jak zatwierdziłem to zniknęły te dane. W zakładce Devices jest chyba wszystko ok, bo pokazuje faktyczną temperaturę. A w Domoticzu cały czas 0 st.C.
  4. @ethanak mówisz o tym http://flytomcio.pl/esp8266/esp8266-instalacja-espeasy/ ? Próbowałem już wgrywać ESPeasy przy użyciu właśnie ESPEasy flesher (post wyżej). Spróbuję jeszcze raz po kolei jak tam pisze zrobić i dam znać.
  5. Czyli najlepiej wykasować flesha i na nowo wgrać ESPeasy ( jednym z programów). Oczywiście przy zachowaniu całej procedury z zasilaniem i GPIO 0. Potem podłączyć pod Arduino i zobaczyć co wyjdzie. A można teraz całkowicie usunąć firmware i na nowo zainstalować?
  6. Robiłem też dla 4Mbit, a co do trybu to szczerze nie mam pojęcia. A jeżeli nawet źle kasuje prze ten program flasha, to wyżej używałem innech programów przy których też na początku jest kasowanie( np. ESP flash downloader - post wyżej). A jeżeli zastosuje monutor Arduino to będę w stanie jakoś zobaczyć jak się zachowuje ESP, czy się samo restaruje itp?
  7. Podciągnąłem pin GPIO 2 na stałe przez rezystor 10kOhm do +3,3V tak samo jak piny: RESET i EN. Podpinam pin GPIO 0 do GND i podłączam zasilanie. Używając programu ESP FLASH DOWNLOAD TOOL V 2.3 (zdjęcie poniżej) kasuje flash. Po skasowaniu odłączam zasilanie i po chwili wgrywam firmware przy pomocy XTCOM_UTILITY (ESP8266 v0.9.5.0 AT Firmware). Po wgraniu odłączam zasilanie. Następnie wgrywam ESPeasy. Po wgraniu odłączam zasilanie, a następnie pin GPIO 0 podłączam przez rezystor 10kOhm do +3,3 V. Zasilam układ i dalej ESP nie udostępnia wi-fi. Możliwe że wgrywam jakiś zły firmware albo espeasy? Próbowałem jeszcze tego samego przy użyciu esp8266_flasher wgrywałem takie firmware: v0.9.2.2 AT Firmware , nodemcu_latest , nodemcu_float_0.9.6-dev_20150704 oraz ESPeasy przy pomocy ESPeasy flasher. Również żadnych efektów.
  8. Jeżeli wgrywam ESPeasy z pinem GPIO 0 podłączonym do GND (tak jak przy firmware) to wszystko teoretycznie wgrywa się prawidłowo. Natomiast jeżeli GPIO 0 jest w powietrzu lub przez rezystor do Vcc lub bezpośrednio do Vcc to w ogóle nie chce instalować ESPeasy.
  9. Pin GPIO 0 mam cały czas podłączony bezpośrednio do GND. Robię tak: 1) po zmontowaniu układu i jego zasileniu kasuje flash 2) wgrywam firmware 3) wyłączam zasilanie 4) podłączam zasilanie i wgrywam ESPeasy 5) wyłączam zasilanie 6) podłączam zasilanie i sprawdzam czy ESP udostępnia wi-fi Powtarzam parę razy krok 5 i 6; GPIO 0 cały czas podłączone do GND; GPIO 2 w powietrzu.
  10. Zacząłem kombinować co jeszcze mógłbym zrobić i znalazłem tą strone:https://www.hackster.io/pratikdesai/flash-firmware-on-esp8266-esp-01-module-e1f758, z której pobrałem firmware. Tak jak pisze na stronie przy 99% kończy się wgrywanie oprogramowania. Jednak po tym zabiegu wgrywam ESPeasy (https://translate.google.com/translate?hl=pl&sl=en&u=https://www.diyhobi.com/programming-esp-01-using-espeasy/&prev=search) i po mimo prawidłowej instalacji wg terminalu dalej nie działa(ESP nie udostępnia wi-fi). Również z tej strony: https://www.14core.com/flashing-upgrade-eps8266-v1-firmware-with-espressif-flash-tool/, pobrałem ESP Flash Download Tool, którym czyszczę pamięć flash. A następnie wgrywam różne firmware, które znalazłem i nic nie pomaga. Oczywiście wszystko to robię przy zasilaniu ESP z USB i dodatkowym zasilaczu(jak pisałem wyżej), dodatkowo pin RESET podciągnąłem rezystorem 10kOhm pod Vcc i pin CH_PD również podciągnięty rezystorem 10kOhm pod Vcc. Czy ktość miał podobny problem i wie co jeszcze można zrobić albo gdzie robię błąd?
  11. Witam, mam problem z wgraniem ESPeasy do modułu podanego w tytule. Przejrzałem większość stron internetowych i za każdym razem przechodzę "instalacje", a i tak ESP nie uruchamia punktu dostępu wi-fi. Zakupiłem dwa takie moduły jak poniżej na zdjęciach i dodatkowo konwerter USB. Robiąc wszystko zgodnie z tą stroną: https://translate.google.com/translate?hl=pl&sl=en&u=https://www.diyhobi.com/programming-esp-01-using-espeasy/&prev=search instalacja jest ukończona pomyślnie i po kilkukrotnym resetowaniu nadal nie działa. Nawet przy dodatkowym zasilaniu z zasilacza(1,5 A) i wykorzystaniu stabilizatora LM317T nic nie daje. Z drugim modułem ESP robiłem zgodnie z tą stroną: http://flytomcio.pl/esp8266/esp8266-instalacja-espeasy/ i również nic nie pomogło. Czy ma ktoś jakiś pomysł co jest nie tak? Czy można w jakiś inny sposób sprawdzić ten moduł?
  12. Dzięki wielkie, pomyśle wdrożeniem tych zmian.
  13. Witam robię sobie alarm domowy i mam problem z ilością pamięci. Nie jestem bardzo doświadczony w takim dłuższym pisaniu kodów i nie wiem czy popełniam jakiś duży błąd w ich pisaniu skoro dość szybko kończy mi się pamięć. #include <Wire.h> //biblioteka komunikacji dla zegara #include <DS3231.h> //biblioteka zegara DS3231 #include <SPI.h> //biblioteka komunikacji SPI #include <SD.h> //biblioteka karty SD File plik; //utworzenie pliku dla karty SD //ustawienia wyświetlacza LCD + biblioteka wyświetlacza #include <LiquidCrystal.h> LiquidCrystal lcd(8,9,4,5,6,7); //przyciski wyświetlacza #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 DS3231 clock; //zegar czasu rzeczywistego RTCDateTime dt; //przypisanie pinów dla urządzeń #define PIR A1 #define czujnik A2 #define LED 1 #define buzzer 2 #define odbiornik 3 boolean alarm_uzbrojony=false; //zmnienna sygnalizująca uzbrojenie alarmu int w1[]={1,1,1,1}; //wartości prawidłowego PINU int w2[]={0,0,0,0}; //wartości wpisywanego PINU int read_LCD_buttons() //funkcja odczytu wciśniętego przycisku { int adc_key_in = analogRead(0); if (adc_key_in > 1000) return btnNONE; if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 250) return btnUP; if (adc_key_in < 450) return btnDOWN; if (adc_key_in < 650) return btnLEFT; if (adc_key_in < 850) return btnSELECT; return btnNONE; } void menu() //wyświetlanie funkcji MENU { lcd.clear(); lcd.print("Centralka alarmu"); } void czas() //wyświetlanie czasu z DS3231 { lcd.clear(); do { dt = clock.getDateTime(); //pobieranie danych z zegara lcd.setCursor(0,0); //wyświetlanie czasu na LCD lcd.print(dt.year);lcd.print("-"); if(dt.month<10) { lcd.print("0");lcd.print(dt.month);lcd.print("-"); } else lcd.print(dt.month); if(dt.day<10) { lcd.print("0");lcd.print(dt.day); } else lcd.print(dt.day); lcd.setCursor(0,1); if(dt.hour<10) { lcd.print("0");lcd.print(dt.hour); lcd.print(":"); } else lcd.print(dt.hour);lcd.print(":"); if(dt.minute<10) { lcd.print("0");lcd.print(dt.minute);lcd.print(":"); } else lcd.print(dt.minute);lcd.print(":"); if(dt.second<10) { lcd.print("0");lcd.print(dt.second); } else lcd.print(dt.second); delay(400); } while(read_LCD_buttons()!=btnDOWN); //wyłączenie funkcji czas po naciśnięciu przycisku DOWN menu(); } void alarm() //działanie ukłądu w trybie uzbrojonym { digitalWrite(odbiornik,HIGH); zapis_SD("WŁAMANIE"); lcd.clear(); lcd.print(" Wlamanie"); for(int i=0;i<=35;i++) dzwiek(150,4300,3500); noTone(buzzer); digitalWrite(odbiornik,LOW); } boolean uzbrajanie() //proces uzbrajania alarmu, sprawdzanie czujników { lcd.clear();lcd.print(" UZBRAJANIE");lcd.setCursor(0,1);lcd.print(" Opusc dom"); for(int i=0;i<=5;i++) { digitalWrite(LED,HIGH); delay(500); digitalWrite(LED,LOW); delay(500); } if(digitalRead(czujnik)==HIGH&&digitalRead(PIR)==LOW) { zapis_SD("uzbrojenie alarmu"); return alarm_uzbrojony=true; } else { lcd.clear(); lcd.print("Uzbrajanie nie"); lcd.setCursor(0,1); lcd.print("powiodlo sie"); for(int i=0;i<=15;i++); dzwiek(1000,1000,1000); noTone(buzzer); zapis_SD("uzbrajanie nie powiodło się"); menu(); return alarm_uzbrojony=false; } } void dzwiek(int czas_przerwy, int czestotliwosc1, int czestotliwosc2) //odtwarzanie sygnału BUZZERA { tone(buzzer,czestotliwosc1), delay(czas_przerwy); tone(buzzer,czestotliwosc2), delay(czas_przerwy); } void zapis_SD(String stan) //funkcja do zapisu danych na kartę SD { SD.begin(0); //ustawienie pinu CS=0 dt = clock.getDateTime(); plik=SD.open("Alarm.txt",FILE_WRITE); plik.print("Data: ");plik.print(dt.year);plik.print("-");plik.print(dt.month);plik.print("-");plik.print(dt.day); plik.print(" Godzina: ");plik.print(dt.hour);plik.print(":");plik.print(dt.minute);plik.print(":");plik.print(dt.second); plik.print(" ");plik.println(stan);plik.close(); } void wpisywanie_pinu(int tab[],String x,int czas,int w) //funkcja do wpisywania PINU { int i=0; //zmienna pomocnicza licząca czas delay(150); lcd.clear();lcd.print(x); for(int j=0;j<=3;j++) //pętla do przechodzenia do kolejnych cyfr PINU { lcd.setCursor(5+j,1);lcd.print(tab[j]); do //wprowadzanie cyfry PINU { if(read_LCD_buttons()==btnUP&&tab[j]<9) { delay(200); tab[j]++; lcd.setCursor(5+j,1);lcd.print(tab[j]); } else if(read_LCD_buttons()==btnUP&&tab[j]==9) { delay(200); tab[j]=0; lcd.setCursor(5+j,1);lcd.print(tab[j]); } else if(read_LCD_buttons()==btnDOWN&&tab[j]<=9&&tab[j]>0) { delay(200); tab[j]--; lcd.setCursor(5+j,1);lcd.print(tab[j]); } else if(read_LCD_buttons()==btnDOWN&&tab[j]==0) { delay(200); tab[j]=9; lcd.setCursor(5+j,1);lcd.print(tab[j]); } else if(i>=czas&&w==1) alarm(); delay(200); i++; }while(read_LCD_buttons()!=btnRIGHT); } while(w==1) { if(tab[0]==w1[0]&&tab[1]==w1[1]&&tab[2]==w1[2]&&tab[3]==w1[3]) //sprawdzenie czy PIN prawidłowy { lcd.clear();lcd.print(" PIN poprawny"); alarm_uzbrojony=false; zapis_SD("rozbrojenie"); delay(500); menu(); } else //działanie w przypadku złego PINU { lcd.clear();lcd.print("PIN niepoprawny"); delay(500); alarm(); } } } void ustawienia() { lcd.clear();lcd.print(" Ustawienia"); delay(1500); lcd.setCursor(0,1);lcd.print("Ustawianie PINU"); delay(1000); wpisywanie_pinu(w1,"Podaj nowy PIN",0,0); lcd.clear();lcd.print(" Gotowe"); delay(2000); } void setup() { clock.begin(); //uruchomienie zegara lcd.begin(16, 2); //ustawienie wyświetlacza LCD //ustawienia wejść i wyjść pinMode(LED,OUTPUT); pinMode(buzzer,OUTPUT); pinMode(odbiornik,OUTPUT); pinMode(czujnik,INPUT); pinMode(PIR,INPUT); zapis_SD("Alarm załączony"); menu(); //uruchomienie startowe funkcji MENU } void loop() { switch(read_LCD_buttons()) //sprawdzanie wciskanych przycisków i przejścia do innych opcji na LCD { case btnLEFT: ustawienia();break; case btnDOWN: czas(); break; case btnSELECT: uzbrajanie(); break; } if(digitalRead(czujnik)==LOW&&alarm_uzbrojony==false) { lcd.setCursor(0,1); lcd.print("otwarte drzwi"); } else if(digitalRead(PIR)==HIGH&&alarm_uzbrojony==false) { lcd.setCursor(0,1);lcd.print("wykryto ruch "); } else if(alarm_uzbrojony==false) menu(); else { lcd.clear();lcd.print("Alarm uzbrojony"); digitalWrite(LED,HIGH); } if(alarm_uzbrojony==true&&(digitalRead(czujnik)==LOW||digitalRead(PIR)==HIGH)) { int w2[]={0,0,0,0}; wpisywanie_pinu(w2," Podaj PIN",100,1); } delay(200); //przerwa w działaniu programu } Chcę dopisać do tego jeszcze parę przydatnych opcji a na ten moment po kompilacji wyświetla mi komunikat: Szkic używa 18772 bajtów (58%) pamięci programu. Maksimum to 32256 bajtów. Zmienne globalne używają 1542 bajtów (75%) pamięci dynamicznej, pozostawiając 506 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów. Niski poziom dostępnej pamięci, mogą wystąpić problemy ze stabilnością. Proszę o jakieś podpowiedzi co robię źle i co można ulepszyć.
  14. Dzięki wielkie, faktycznie pozmieniałem program, PIR i magnetyczny na analogowych pinach. Piny 11,12 i 13 są wolne. Program działa bez zarzutu, wszystko się zapisuje.
  15. Dzięki za szybką odpowiedź. Czyli jeżeli podłącze PIR i czujnik magnetyczny np. do analogowych pinów będzie wszystko OK. Jeżeli używam ICSP to piny 11,12,13 są automatycznie bezużyteczne czy można jakoś pokombinować i je wykorzystywać? Czy tak samo jest z SLC i SDA bo są one wyprowadzone też na A4 i A5 więc jak używam zegara czasu rzeczywistego DS3231 i mam go podłączonego pod te 2 piny to A4 i A5 też nie mogę używać bo będzie problem z zegarem?
×
×
  • Utwórz nowe...