Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Stacja meteo, nie mogę zaprogramować

moons 06 Gru 2018 20:05 519 38
  • #1 06 Gru 2018 20:05
    moons
    Poziom 13  

    Znalazłem projekt takiej stacji w necie. Kupiłem wszystkie potrzebne części, chciałem zaprogramować i pojawia się mały zonk.
    https://www.instructables.com/id/Arduino-UNO-Mini-Weather-Station/
    Korzystałem z tej strony, niestety przy programowaniu otrzymuje komunikat:
    exit status 1
    'dht' does not name a type

    Pobierałem już różne biblioteki DHT i ciągle to samo
    Pozdrawiam

    0 29
  • CControls
  • #2 06 Gru 2018 20:29
    kaczakat
    Poziom 21  

    Jak wstawiasz problem z kodem to go wrzucaj. Podaj też skąd wziąłeś biblioteki, bo jak sam zauważyłeś są różne. Na początek po prostu powalcz z uruchomieniem odczytu DTH z przykładów bibliotek i sprawdź czy w ogóle czujnik działa, tak samo z każdym komponentem, sklejanie w całość na koniec, choć może się okazać, że będą konieczne podmiany bibliotek i zabawa od początku.

    0
  • #3 06 Gru 2018 21:22
    LChucki
    Poziom 18  

    Ponadto daj komunikaty z kompilacji, bo sam błąd mówi tyle, że jest źle.

    0
  • CControls
  • Pomocny post
    #4 06 Gru 2018 21:33
    khoam
    Poziom 20  

    moons napisał:
    Znalazłem projekt takiej stacji w necie.


    Nie wszystko, co jest w internecie napisane to prawda :)
    W tym konkretnym przypadku, program spory "byk": zamiast "dht" powinno być "DHT", a zamiast "DHT" powinno być z kolei "dht" (kilka wystąpień w kodzie) - wszystko przy założeniu, że autorzy tego kodu zastosowali bibliotekę https://github.com/adafruit/DHT-sensor-library,, na którą się powołują na tej stronie.
    Ponadto linia "dht DHT" powinna być "DHT dht(DHTPIN, DHTTYPE)" gdzie DHTPIN to nuner pinu, gdzie przyłączony jest czujnik, a DHTTYPE to rodzaj czujnika DHT (np. DHT22).

    Może lepiej poszukaj sobie bardziej wiarygodnego źródła dla tego typu projektów niż www.instructables.com,, bo to tam takie artykuły to piszą jacyś humaniści, a nie programiści :)

    0
  • #5 06 Gru 2018 22:35
    moons
    Poziom 13  

    @khoam, masz absolutną rację ale zrozumiałem to dopiero jak wszystko podłączyłem i próbowałem wgrać do arduino :) wydawało mi się że to gotowy projekt, gdzie wystarczy to tylko wgrać czyli coś w sam raz dla mnie, bo jestem lamą w temacie arduino.
    Problem czujników rozwiązany, wystarczyło otworzyć przykład z bibliotek i poprawić dokładnie to co już opisałeś. W monitorze widzę odczyty z wszystkich czujników i wydają się być nawet sensowne, znaczy zbliżone do prawdy.
    Ale jest problem z WIFI. Sprawdziłem podłączenie jest jak na schemacie i tak jak znalazłem w kilku miejscach w necie.
    Po wgraniu programu do arduino w monitorze otrzymuję taki komunikat:

    Initializing...
    Detecting BMP085 pressure sensor...
    BMP085 detected!
    ESP8266 module ERROR
    Connecting wi-fi...
    Connection failed!

    Czyli coś jeszcze jest nie tak z modułem WIFI, świeci się na nim czerwona dioda czyli chyba podłączenie dobre. Naczytałem się już po internetach, że trzeba go przed użyciem programować, to prawda? Nie mogę tez znaleźć biblioteki do tego modułu żeby ją dołączyć do projektu.
    Pozdrawiam

    0
  • Pomocny post
    #6 06 Gru 2018 22:48
    khoam
    Poziom 20  

    moons napisał:
    Czyli coś jeszcze jest nie tak z modułem WIFI,

    Niekoniecznie, ESP-01 tak się właśnie zachowuje ze względu na (bardzo) kiepskę antenę. Może jest za daleko od AP.

    moons napisał:
    Naczytałem się już po internetach, że trzeba go przed użyciem programować, to prawda?

    W tym projekcie ESP-01 jest użyty w charakterze modemu WiFi i jests podłaczony po SoftSerial do Arduino, więc nie trzeba go programować. Nie jest też potrzebna biblioteka do niego. Poza tym zakładam, że zmodyfikowałeś odpowiednio poniższe linie w kodzie ;)

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #7 06 Gru 2018 23:12
    moons
    Poziom 13  

    No to trochę mnie zmartwiłeś ta anteną, myślałem że da radę jak wystawię to cudo za okno, ale w tej chwili większym problemem jest to że nie działa całkiem.
    Bliżej routera już nie może być, jest w tym samym pokoju jakieś dwa metry od routera. Dane oczywiście zmodyfikowałem, specjalnie nawet kopiowałem SSID z ustawień routera żeby nic nie pokręcić. W tej chwili mam arduino podłączone tylko kablem USB, może zasilić je zasilaczem? Jest jakiś krótki i szybki program żeby sprawdzić tylko sam moduł WIFI?
    Pozdrawiam

    0
  • Pomocny post
    #8 06 Gru 2018 23:31
    khoam
    Poziom 20  

    moons napisał:
    ESP8266 module ERROR

    Według kodu, to ten błąd się pojawia, jak nie ma komunikacji z ESP po Serial w Arduino. Jednak sprawdziłbym te połączenia.

    moons napisał:
    est jakiś krótki i szybki program żeby sprawdzić tylko sam moduł WIFI?

    Można do samego ESP podłączyć terminal po RX/TX np. putty, ale musiabyś mieć jakiś konwerter USB-Serial. Na tej stronie jest artykuł na ten temat (sekcję przeprogramowania ESP możesz pominąć).

    Dodano po 10 [minuty]:

    Przyjrzałem się tym połączeniom na "fritzingu". Te gumisie podłączyli RX do RX, a TX do TX :)
    Musisz zamienić miejscami kabelki wpięte w pin 10 i 11 Arduino.

    0
  • #9 06 Gru 2018 23:36
    moons
    Poziom 13  

    O.K. jutro jeszcze raz sprawdzę, od razu zapytam, to pewnie przez to co pisałeś o autorze tego projektu, na wykazie potrzebnych części są rezystory: 2 x 1k i 1 x 10k. Najgorzej że w oznaczeniu różnią się one jednym kolorem i to pomarańczowym i czerwonym. Jak wszystko łączyłem to stwierdziłem że w spisie jest chyba błąd bo według rysunku są dwa z pomarańczowym paskiem a jeden z czerwonym. Podłączyłem według rysunku:
    CH_PD przez rezystor 1k do 3.3V
    RX przez rezystor 10k do arduino i przez taki sam (ale oczywiście nie ten sam) rezystor do masy
    TX bezpośrednio do arduino
    Czy jednak rezystory trzeba zamienić?

    Zamieniłem miejscami, bez zmian, dalej to samo.
    Pozdrawiam

    0
  • #10 06 Gru 2018 23:43
    LChucki
    Poziom 18  

    moons napisał:
    RX przez rezystor 10k do arduino i przez taki sam (ale oczywiście nie ten sam) rezystor do masy

    Czyli zrobiłeś dzielnik 2:1 przy okazji filtr dolnoprzepustowy. Oblicz stałą czasową filtru i sprawdź czy nie przeszkadza on w komunikacji z używana przez ESP prędkością.
    Najlepiej by było abyś narysował schemat. Jeśli połączyłeś tak jak mi się wydaje, to sprawdź w dokumentacji AVR, jakie poziomy sygnałów wejściowych akceptuje i policz jakie mu dajesz.

    0
  • #11 07 Gru 2018 00:27
    khoam
    Poziom 20  

    moons napisał:
    RX przez rezystor 10k do arduino i przez taki sam (ale oczywiście nie ten sam) rezystor do masy

    Bardzo prostacki sposób na realizację tzw. level converter, a rezystor do masy to powinien mieć ok. 20k w tym wypadku. Może z tego powodu ESP nie komunikuje się z arduino. Analogicznie powinien być podłączony TX z ESP do arduino, a nie bezpośrednio. Schemat poglądowy (5V idzie do arduino, 3.3V do ESP):

    Stacja meteo, nie mogę zaprogramować

    Zawsze możesz zastosować konwertery poziomu napięć, jak niżej. Ważne, żeby ESP był zasilany z 3.3V. CH_PD ma być podłączony przez rezystor 10k do 3.3V.

    Stacja meteo, nie mogę zaprogramować

    Jeśli chodzi o wydajność SoftSerial w arduino to max. 57600 bps, więc d... nie urywa :)

    Dodano po 11 [minuty]:

    Inna jeszcze wersja konwertera poziomu napięć, ale dalej lepsza od tego dzielnika na rezystorach:

    Stacja meteo, nie mogę zaprogramować

    0
  • Pomocny post
    #12 07 Gru 2018 00:36
    LChucki
    Poziom 18  

    khoam napisał:
    Inna jeszcze wersja konwertera poziomu napięć, ale dalej lepsza od tego dzielnika:

    Jeszcze prościej i lepiej (mniejsza pojemność, Zenery maja dużą) sam rezystor o wartości takiej aby nie zatrzasnął się tyrystor na pinie wejściowym ESP. Jak ktoś lubi nadmiar elementów, to dodatkowo dioda pomiędzy wejście z zasilanie ESP.

    0
  • #13 07 Gru 2018 06:57
    moons
    Poziom 13  

    Trochę nie bardzo wiem co do mnie piszecie :) ale postaram się dziś wieczorem coś wyłuskać z tych schematów.
    Pozdrawiam

    0
  • Pomocny post
    #14 07 Gru 2018 10:36
    LChucki
    Poziom 18  

    moons napisał:
    Trochę nie bardzo wiem co do mnie piszecie :) ale postaram się dziś wieczorem coś wyłuskać z tych schematów.

    Chcesz to kombinuj ale nie uważasz, ze prościej, jakbyś pokazał schemat jak to wszytko połączyłeś?

    0
  • Pomocny post
    #15 07 Gru 2018 11:54
    kaczakat
    Poziom 21  

    Jeśli interesuje cię większy zasięg i chcesz to mieć na zewnątrz to można wziąć moduł ESP8266 w wersji 07 ze złączem anteny zewnętrznej (jest kilka takich wersji ze złączem anteny). Całość można wrzucić do obudowy, antenę wyprowadzić na zewnątrz i powinno działać lepiej, choć ESP-01 bez problemu działa na 5m i jedną ścianę/strop, choć przy większych odległościach ustawienie wzajemne anten może mieć znaczenie.

    0
  • #16 07 Gru 2018 16:14
    moons
    Poziom 13  

    LChucki napisał:

    Chcesz to kombinuj ale nie uważasz, ze prościej, jakbyś pokazał schemat jak to wszytko połączyłeś?


    W pierwszym poście podałem linka do całego projektu, jest tam spis części, schemat i kod programu. Jedyne co zmieniłem na tym schemacie za radą kolegi @khoam zamieniłem miejscami podłączenie WIFI pin 10 i 11.
    Rezystory użyłem takie jak na rysunku choć nie do końca mi to pasowało ze spisem.
    CH_PD przez rezystor 1K do 3.3V
    RX przez rezystor 10k do masy i przed drugi 10k do arduino
    TX bezpośrednio do arduino.
    Pozdrawiam

    0
  • #17 07 Gru 2018 16:40
    LChucki
    Poziom 18  

    moons napisał:
    pierwszym poście podałem linka do całego projektu,

    Pewnie jakiś ZIP, może trzeba się rejestrować. Umieść schemat na forum skoro do schematu się odwołujesz.

    moons napisał:
    Jedyne co zmieniłem...miejscami podłączenie WIFI pin 10 i 11.

    Czyli schemat jest już inny.
    moons napisał:
    CH_PD przez rezystor 1K do 3.3V
    RX przez rezystor 10k do masy i przed drugi 10k do arduino
    TX bezpośrednio do arduino.

    Językiem elektroników jest schemat a nie opis co gdzie jest podłączone!
    Aby zobaczyć jak teraz wygląda schemat, muszę ściągnąć go z jakiegoś forum czy gdzie on tam jest (może w EAGLE a ja go nie mam więc trzeba zainstalować czego NA PEWNO nie zrobię) i nanieść poprawki. To samo musi zrobić każdy kto chce pomóc! Czy nie prościej, lepiej,szybciej aby zrobiła to RAZ JEDNA osoba potrzebująca niż kilkanaście osób, które chcą pomóc?

    Zobaczyłbym aktualny schemat, pewnie dano już napisał bym co jest nie tak. Schematu nie ma, więc jak znajdę chwilę (może w święta) to ściągnę schemat, naniosę zmiany, przeanalizuję.

    0
  • #18 07 Gru 2018 17:42
    khoam
    Poziom 20  

    moons napisał:
    RX przez rezystor 10k do masy i przed drugi 10k do arduino
    TX bezpośrednio do arduino.

    To musisz zmienić, zgodnie z tym, co pisałem w poście #11. Wątpie, aby przy obecnym podłączeniu RX/TX komunikacja esp-uno działała prawidłowo.

    Dodano po 32 [minuty]:

    W kodzie zdefiniowana jest prędkość z SoftSerial do esp na wartość 9600. To też może być problem, ponieważ firmware w esp-01 może mieć wstępnie skonfigurowano prędkość transmijsi na wartość 9 600, 57 600 lub 115 200 (informacja). Dla tej ostatniej SoftSerial może nie pracować poprawnie (jest zbyt duża). Możesz spróbować, czy esp komunikuje się poprawnie przy prędkości 57 600 - trzeba zmodyfikować poniższą linię w kodzie.
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #19 07 Gru 2018 18:48
    moons
    Poziom 13  

    @LChucki , kliknij po prostu w link, wszystko jest na obrazkach, nic nie trzeba ściągać, nigdzie się rejestrować, projekt wydawał się dla takich bałwanów jak ja. Schemat nie jest profesjonalny ale myślę że spokojnie każdy go zrozumie.
    @khoam , niestety nic to nie daje, w dalszym ciągu error, może już jakoś go upaliłem, choć cały czas dioda czerwona się świeci, także chyba żyje. Macie jakiś link albo opis super sprawdzony jak go podłączyć do arduino żeby sprawdzić czy na pewno jest sprawny.
    Pozdrawiam

    0
  • #20 07 Gru 2018 18:55
    LChucki
    Poziom 18  

    Ja tam w linku schematu elektrycznego nie widzę. Jest jakiś kolorowy obrazek i fotografia.

    0
  • #21 07 Gru 2018 19:31
    khoam
    Poziom 20  

    moons napisał:
    jakiś link albo opis super sprawdzony jak go podłączyć do arduino żeby sprawdzić czy na pewno jest sprawny.

    Zakładam, że dodałeś rezystory do linii TX/RX tak, jak pisałem i testowałeś to z prędkościami, które też podałem.
    W poście #8 zamieściłem link do strony, gdzie jest opisane, jak sprawdzić działanie esp, ale bez arduino - trzeba mieć konwerter usb-serial. Na tej stronie są również opisane komendy AT służące do przetestowania esp.

    Z kolei na tej stronie jest opisane, jak wykorzystać arduino do przetestowania esp-01, w roli terminala został zastosowany Serial Monitor z Arduino IDE. Została użyta wersja nano, ale to nie ma znaczenia.

    Dodano po 18 [minuty]:

    kaczakat napisał:
    Jeśli interesuje cię większy zasięg i chcesz to mieć na zewnątrz to można wziąć moduł ESP8266 w wersji 07 ze złączem anteny zewnętrznej

    Tak, to byłby dobry pomysł biorąc pod uwagę, że wtedy nawet arduino stał by się zbędny :)

    0
  • #22 07 Gru 2018 19:59
    moons
    Poziom 13  

    @khoam , dzięki za cierpliwość ale chyba nic już nie poradzę poza zakupem nowego modułu WIFI. Podłączyłem tak jak w linkach które podałeś i wgrałem programy który były w opisach, dwa razy klapa.
    Z tego Link w monitorze wychodzi mi tylko:

    Code:
    Remember to to set Both NL & CR in the serial monitor.
    
       Ready

    i dalej nic nie rusza i nic się nie dzieje

    Z tego Link w monitorze wychodzi:
    Code:
    SETUP!! @9600


    i dalej nic się nie dzieje
    Próbowałem innych prędkości i też klapa.
    Ktoś podpowiadał ESP-07 czy tam podłączenie też będzie identyczne?
    Pozdrawiam

    0
  • #23 07 Gru 2018 20:04
    khoam
    Poziom 20  

    moons napisał:
    i dalej nic nie rusza i nic się nie dzieje

    Bo czeka na wydanie przez Ciebie komend AT, które są opisane w linkach, które Ci podałem.

    Dodano po 1 [minuty]:

    moons napisał:
    Ktoś podpowiadał ESP-07 czy tam podłączenie też będzie identyczne?

    Generalnie tak (z dokładnością do odpowiednich pinów), ale wtedy zastanów się, czy uno Ci będzie jeszcze do czegoś potrzebne :)

    Dodano po 1 [minuty]:

    moons napisał:
    Remember to to set Both NL & CR in the serial monitor.

    A tu nawet podpowiada, jak należy ustawić terminal.

    0
  • #24 07 Gru 2018 20:41
    moons
    Poziom 13  

    Sorry za kolejne lamerskie pytanie ale jak wydać te komendy? wpisywałem je w okienko na górze monitora i nic kompletnie się nie działo, zmieniłem też ustawienie monitora tak jak było pokazane na obrazku.
    co do wersji 07 ESP jakiś większy link może? chociaż chyba to już nie na moją głowę.
    Pozdrawiam

    0
  • #25 07 Gru 2018 20:45
    khoam
    Poziom 20  

    moons napisał:
    Sorry za kolejne lamerskie pytanie ale jak wydać te komendy? wpisywałem je w okienko na górze monitora i nic kompletnie się nie działo, zmieniłem też ustawienie monitora tak jak było pokazane na obrazku.

    Jeżeli masz na myśli Serial Monitor w Arduino IDE, to czy kliknąłeś przycisk "Send" po wpisanie z lewej strony komendy AT?

    0
  • #26 07 Gru 2018 20:56
    moons
    Poziom 13  

    no nie było pytania :) już się nauczyłem ale dalej nici z tego tak wygląda mój monitor po wydawaniu komend. Oczywiście czekałem dłuższą chwilę po wpisaniu każdej z nich, zero odpowiedzi.
    Stacja meteo, nie mogę zaprogramować

    Pozdrawiam

    0
  • #27 07 Gru 2018 20:58
    LChucki
    Poziom 18  

    Poco kombinować ESP przez Arduino? Nie prościej podłączyć konwerter USB-TTL-LV?

    0
  • #28 07 Gru 2018 20:59
    khoam
    Poziom 20  

    moons napisał:
    Oczywiście czekałem dłuższą chwilę po wpisaniu każdej z nich, zero odpowiedzi.

    To teraz spróbuj z kolejnymi prędkościami tak, jak pisałem wcześniej - post #18.

    0
  • #29 07 Gru 2018 21:19
    moons
    Poziom 13  

    No jak by coś ruszyło na prędkości 115200 ale pojawiają się jakieś krzaki. i nie znajduje żadnej sieci tylko odpowiada error. tak to wygląda: Stacja meteo, nie mogę zaprogramować
    Pozdrawiam

    0
  • #30 07 Gru 2018 21:29
    khoam
    Poziom 20  

    moons napisał:
    No jak by coś ruszyło na prędkości 115200 ale pojawiają się jakieś krzaki.

    Gratulacje! :) To teraz ustaw nową prędkość dla esp na wartość 57 600 komendą:

    Kod: dos
    Zaloguj się, aby zobaczyć kod

    Następnie odłącz esp od zasilania, zmień prędkość w terminalu i ponownie podłącz esp do zasilania. Sprawdź, czy "widzisz" esp z terminala.

    0