Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Arduino UNO + domoticz - Połączenie arduino z domoticz poprzez brame mysensors

Sickboy 27 Oct 2016 21:11 11118 6
  • #1
    Sickboy
    Level 11  
    Potrzebuję pomocy bo mnie zaraz coś strzeli...
    Otóż zacząłem zabawę z arduino. Na początek nic wielkiego - sygnalizacja świetlna (3 diody, trochę kodu). Działa. Nawet fajnie. Dobre na rozgrzewkę i poznanie IDE. Następnie DS 18b20 - wow, mam 27 stopni C! Potem wyświetlacz 4-ro cyfrowy tm1637 i wyświetlanie na nim temperatury. Szukając opisu do w.w wyświetlacza trafiłem na wątki o uruchomieniu ekranu z telefonów nokii 3310 bądź 3510i (fck yeah! mam taki). Polutowałem, podłączyłem i...działa. Dumny siebie wziąłem się za coś cięższego: moduł WiFi ESP8266 (ESP-07). Wieczór zabawy i działa. Komendy AT chodzą jak głupie. Wpinam się do WiFi, stawiam stronę Hello World i bajka.
    Więc pomyślałem, że można zacząć zrobić pierwszy krok w kierunku tego co skłoniło mnie do zabawy z arduino, a mianowicie potocznie nazywany 'inteligenty dom' (wcześniej w innym wątku pytałem was o porady dot. rozwiązania ID). I przyznam się wam. że utknąłem tuż na starcie...
    Otórz postawiłem na fedorze (na niej też działam z arduino, na razie bez zastrzeżeń) domoticz w najnowszej wersji - działa. Wstępna konfiguracja itp. Myślałem, że dalej będzie już lekko. Ale nie było...
    Poczytałem o możliwości podpięcia gołego arduino do domoticza i wszędzie pada fraza mySensors. Poczytałem o tworzeniu bramy (nadajnik/odbiornik NRF radiowo) ale że też można po USB. Ucieszyło mnie to, gdyż i tak planuję wszędzie kłaść przewody UTP (może w przyszłości pod rozwiązania Deimic'a) więc po co się pchać w pełno urządzeń radiowych jak można korzystać z przewodów.
    Zacząłem więc stawiać mysensor gateway...i klops. Kilka poradników - nawet z ich strony: https://www.mysensors.org/build/temp - i nic. Ciągle domoticz wywala z dziwnym błędem:
    Code:
    Error: Serial Port closed!... Error: End of file
    
    terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::thread_resource_error> >'
      what():  boost thread: trying joining itself: Resource deadlock avoided
    Aborted (zrzut pamięci)


    Jak już powgrywałem odpowiednie biblioteki (sic! kilkanaście bibliotek tej samej nazwy a każda inna!) to kompilator IDE stroi w miejscu...
    Wspomniany kod to:
    Code: c
    Log in, to see the code


    Może ktoś z was też tak zaczynał i może nakierować? Nie chcę gotowca - niczego to mnie nie nauczy. Potrzebuję tylko ustanowić stabilne połączenie z domoticzem i podesłać mu wynik z jednego czujnika (może to być stała, ustawiona z palca zmienna)...

    Dla przypomnienia: Mam arduino. Docelowo ma ono obsługiwać część zadań 'inteligentnego domu' (czujniki temperatury i wilgotności pomieszczeń, stacja pogodowa, oświetlenie zewnętrzne, może rolety, ogrzewanie - w miarę rozwoju systemu). Z racji, iż wszędzie będą przewody UTP to chciałbym to robić na tych przewodach (zasilanie + DATA) toteż nie idę w komunikację bezprzewodową.
    Potrzebuję sparować arduino z domoticzem (po kablu usb) tak, by można było dodawać czujniki podpięte pod arduino.
    To tyle. Z góry dziękuję za jakiekolwiek wskazówki.
    PS. Jak zły dział to proszę o przeniesienie.
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • #2
    ditomek
    Level 21  
    Podłączając arduino do komputera kablem USB powodujesz, że host rozpoznaje zabudowy na płytce arduino mostek USB-Serial. W systemie tworzony jest nowy port szeregowy i całą zabawa z Atmegą odbywa się właśnie tędy. Komunikat który przesłałeś wskazuje na problemy z otwarciem portu szeregowego. Masz zainstalowane sterowniki do mostka na płytce arduino?
  • #3
    Slawek K.
    Level 35  
    Wyglada na brak inicjalizacji portu szeregowego na fedorze na którym pracuje arduino, w konfiguracji domoticz nie wybrałeś prawidłowego portu lub jest problem z jego inicjlizacją.

    Pozdr
  • #4
    Sickboy
    Level 11  
    OK, problem z otwarciem - to też zdążyłem zauważyć. Tylko wychodzi na to, że to domoticz ma problem, bo jak podpiąłem ESP8266 pod arduino i wgrałem sketch do otwarcia portu na komendy AT to z poziomu terminala (minicom, cu) port otwiera się bez problemu (komendy AT wykonują się prawidłowo)...
  • #6
    Sickboy
    Level 11  
    W domoticzu wygląda że wszystko jest ok - zarówno port (pokazuje tylko aktywne) jak i prędkość transmisji (ustawione w trakcie wgrywania sketcha).
    Spróbuję jeszcze zrobić zalecenie zgodnie z poradnikiem https://www.arduino.cc/en/Guide/Linux Choć faktycznie, z początku miałem problemy z grywaniem i właśnie po dodaniu siebie do grupy chyba dialout problem ustał. Obstawiam jeszcze na problem z uprawnieniami - spróbuję uruchomić wszystko z poziomu root'a.
    Jak dalej będzie problem postawię domoticza na windowsie, zainstaluję ide i zobaczę pod windą.

    Edit:
    Dodam, iż postawiłem na szybko domoticza na win 8.1 i działa. Niestety, nie chcę mieć win 8 więc postawiłem na win 7 i...ten to w ogóle ma problemy ze sterownikiem. Jest klops. Następnym krokiem będzie postawienie ubuntu i tam zobaczymy jak się sterownik zachowuje.
  • #7
    Sickboy
    Level 11  
    Dobra, temat zamykam.
    Rozwiązanie mySensors jest skierowane tylko do komunikacji radiowej, tzn serwer domoticz z podpiętym arduino jako brama oraz sensory (każdy ze swoim arduino) komunikujący się przez transmisję radiową. Nie da się zrobić, by arduino, które jednocześnie jest bramą działał jako sensor - chore.
    Nie pozostaje nic innego jak podpiąć pod arduino czujniki i tworzyć własny system.
    Chyba, że jest jakaś alternatywa do mysensor to czekam na sugestie na PW.