Skocz do zawartości

Danielos01

Użytkownicy
  • Zawartość

    78
  • 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. Dobra dzięki wielkie. Masz jakieś sprawdzone książki albo strony internetowy odnośnie Python, albo bezpośrednio Python w Raspbbery? Coś godnego polecenia dla osób początkujących.
  2. Witam, bawię się już od jakiegoś czasu Raspbbery Pi 3B+. Głównie wykonywałem projekty oparte na gotowych platformach takich jak: Domoticz, Kodi. Chciałbym teraz wykonać całkowicie od zera alarm domowy (czujniki ruchu, kontaktrony, kamery it.) jednak chciałbym napisać sam całość sterowanie nie wykorzystując gotowych rozwiązań. Czy jest jest możliwość pisania programów tak samo jak na Arduino z wykorzystaniem języka C/C++. Odczyt stanów GPIO, sterowanie wyjściami itp. ale dodatkowo sprzęgnięcie tego na jakiś serwer z dodatkowym podglądem z kamer? Jak bardzo jest to skomplikowane i czy polecacie jakąś stronę albo książkę do nauki. Pozdrawiam
  3. Dzięki wielkie @ethanak i @atMegaTona za pomoc. Wstawiłem przerwę po autodetekcji jak pisałeś @ethanak. Czy mógłbyś jeszcze poswięcić mi jedną odpowiedź na wytłumaczenie dwóch rzeczy: 1) pisałeś że można w dht.setup wywołać typ czujnika - jak to zrobić, w sensie co wpisać dla czujnika DHT11, DHT22 w dht.setup(2,???); 2) skąd wiesz że trzeba odczekać minimum 1 sekundę po autodetekcji Jeżeli nie będzie to problem to byłbym wdzięczny za pomoc.
  4. Nie bardzo rozumiem o co Ci tutaj chodzi. Wstawiłem do kodu dht_zew.getStatusString(), i po włączeniu zasilania przez około 10 sekund status jest TIMEOUT, po czym status zmienia się w OK . Zrobiłem to dla DHT22 (zdjecia) oraz dla DHT11 i tutaj przy statusie OK wyświetla prawidłowe wartości.
  5. Dzięki za zainteresowanie tematem. Daje sobie uciąć rękę że czujnik DHT22 jest sprawny - posiadam dwa takie czujniki, oba sprawne. Odczyt dokonuje co 10 sekund a docelowo będzie jeszcze większy odstęp czasu. Czujniki podłączone do Arduino i wgrany z biblioteki program do testu - czujniki działaj. Wypinamy z Arduino i wpinam w płytkę i nie dzialaj. Nie ma możliwości że są uszkodzone, przejścia na płytce są, zmierzyłem rezystancję między pinem uC a data czujnika i wynosi 0.8 oma. Kod uważam za dobry, bo: 1) jak podłącze DHT11 to działa bez zarzutu - używam biblioteki której autorem jest Mark Ruys; 2)po wgraniu do Arduino(na płytke arduino) i podłączeniu czujnika DHT22 w serial monitorze wyświetla prawidłowe wartości. //Stacja pogodowa(temperatura + wilgotnosc) //Ustawienia wyświetlacza #include <LiquidCrystal.h> const int rs = 8, en =0, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //Utworzenie znaku stopni (wyswietlacz) byte stopnie[8]={ 0b11100, 0b10100, 0b11100, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 }; //Ustawienia czujnikow DHT #include "DHT.h" #define DHT11_WEW 9 //czujnik wewnetrzny DHT11 (pin9) #define DHT22_ZEW 10 //czujnik zewnetrzny DHT22(pin 10) DHT dht_wew; DHT dht_zew; //Przycisk i zmienne #define przycisk1 1 //przycisk do podswietlania wyswietlacza #define przycisk2 2 //przycisk do zmiany menu wyswietlacza, przycisk do obslugi przerwan #define LED 3 //dioda podswietlenia wyswietlacza #define foto A5 //fotorezystor do automatycznego sterowania podswietleniem int podswietlenie; int wybor=0; //zmienna do sterownia wyswietlaczem //zmienne przetrzymujace max i min temperature na zewnatrz float max_temp; float min_temp; //zmienne przetrzymujace max i min wilgotnosci na zewnatrz int max_wilg; int min_wilg; //zmienne przetrzymujace wartosc wilgotnosci i temperature wewnatrz budynku int wilgotnosc_wew; int temperatura_wew; //zmienne przetrzymujace wartosc wilgotnosci i temperature na zewnatrz int wilgotnosc_zew; float temperatura_zew; void setup() { pinMode(LED,OUTPUT); analogWrite(LED,podswietlenie); lcd.begin(16, 2); lcd.createChar(0,stopnie); dht_wew.setup(DHT11_WEW); dht_zew.setup(DHT22_ZEW); attachInterrupt(digitalPinToInterrupt(przycisk2), menu, LOW); // Przerwanie(reagujące na stan niski) } //sluzace do przelaczania wyswietlanego teksu na wyswietlaczu void menu() //funkcja do przelaczania menu wyswietlacza { if(wybor<3) wybor++; else wybor=0; } void wyswietlacz() //wybor informacji na wyswietlaczu { switch(wybor) { case 0: stan1(); break; case 1: stan2(); break; case 2: stan3(); break; } } void stan1() //funkcja menu glownego, wyswietlanie aktualnych danych { lcd.clear(); lcd.print("WEW: "); lcd.print(wilgotnosc_wew); lcd.print("% "); lcd.print(temperatura_wew); lcd.print((char)0);lcd.print("C"); lcd.setCursor(0,1); lcd.print("ZEW: ");lcd.print(wilgotnosc_zew); lcd.print("% "); lcd.print(temperatura_zew); lcd.print((char)0); lcd.print("C"); } void stan2() //funkcja wyswietlanie max i min temperatury zewnetrznej { lcd.clear(); lcd.print("max temp: "); lcd.print(max_temp); lcd.print((char)0);lcd.print("C"); lcd.setCursor(0,1); lcd.print("min temp: "); lcd.print(min_temp); lcd.print((char)0);lcd.print("C"); } void stan3() //funkcja wyswietlanie max i min wilgotnosci zewnetrznej { lcd.clear(); lcd.print("max wilg: "); lcd.print(max_wilg); lcd.print("%"); lcd.setCursor(0,1); lcd.print("min wilg: "); lcd.print(min_wilg); lcd.print("%"); } void loop() { //Pobieranie informacji o jasnosci oswietlenia (fotorezystor) podswietlenie=analogRead(foto); podswietlenie=map(podswietlenie,0,1023,0,250); analogWrite(LED,podswietlenie); //Reczne podswietlenie wyswietlacza if(digitalRead(przycisk1)==LOW) { podswietlenie=200; analogWrite(LED,podswietlenie); delay(3000); } //Pobranie informacji o wilgotnosci i temperaturze DHT11 wilgotnosc_wew = dht_wew.getHumidity(); temperatura_wew = dht_wew.getTemperature(); //Pobranie informacji o wilgotnosci i temperaturze DHT22 wilgotnosc_zew = dht_zew.getHumidity(); temperatura_zew = dht_zew.getTemperature(); //Zapisywanie max i min temperatury if(temperatura_zew>max_temp) max_temp=temperatura_zew; else if(temperatura_zew<min_temp) min_temp=temperatura_zew; //Zapisywanie max i min wilgotnosci if(wilgotnosc_zew>max_wilg) max_wilg=wilgotnosc_zew; else if(wilgotnosc_zew<min_wilg) min_wilg=wilgotnosc_zew; wyswietlacz(); delay(10000); //przerwa programowa }
  6. Witam, poprawiam swój termometr i napotkałem problem przy wymianie zewnętrznego czujnika DHt11 na nowy DHT22. Po podłączeniu czujnika DHT11 wszystko poprawnie pokazuje, natomiast podłączenie czujnika DHT22 pokazuje stałą wartość(przeważnie wilgotność 2-3%, a temperaturę 0 - przy rzeczywistych wartościach 70%, 230C). Czujniki na pewno jest sprawny i program też jest prawidłowy - sprawdzałem i jestem w 100% przekonany. Wygląda na to że na brak pomiarów ma wpływ połączenie czujnika. Czy ktoś mógłby mi doradzić co mógłbym poprawić w połączeniach płytki czy raczej nadaje się do zrobienia na nowo? Długość przewodu do czujnika ma około 60 cm, natomiast dla sprawdzenia wyprowadziłem dodatkowe krótkie przewody i na nich też nie działa odczyt.
  7. 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ć?
  8. 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.
  9. 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.
  10. @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ć.
  11. 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ć?
  12. 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?
  13. 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.
  14. 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.
×
×
  • Utwórz nowe...