Asystent AI
Domoticz - Arduino ...
 
Powiadomienia
Wyczyść wszystko

Domoticz - Arduino - MySensors - konfiguracja

14 Wpisów
5 Użytkownicy
0 Reactions
5,646 Wyświetleń
(@ombre)
Wpisów: 13
Bywalec
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#1926]

Nawiązując do postu @isom, otworzyłem oddzielny wątek dla początkujących, którzy chcą obsługiwać sporo wejść poprzez Domoticz korzystając z Arduino jako urządzenia zwiększającego liczbę GPIO. Arduino ma być podłączone poprzez USB z wykorzystaniem biblioteki MySensors. 

 

Tutaj zwracam się z prośbą do wszystkich, którzy korzystają z takiej konfiguracji: proszę o wskazówki jak to skonfigurować oraz przykłady kodów (algorytmy) obsługujących np włączniki i przekaźniki do światła, włączniki i przekaźniki do rolet, ciekawe sterowanie zaworami do podłogówki.

 


 
Dodane : 30/09/2020 8:45 am
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@ombre przeniosłem Twój wpis do domoticz bo tu znajdzie go więcej użytkowników tego systemu.

Poniżej masz kod do dowolnego arduino, ale najlepiej takie które bezpośrednio podłączysz przez USB z maliną . Kod pracuje jako bramka USB i jednocześnie obsługuje x przycisków i przekaźników . Przyciski sterują przekaźnikami autonomicznie czyli bez udziału domoticza.

Rozbudowa to zwiększenie ilości przekaźników Piny Cyfrowe , przycisków piny analog i powielenie funkcji ( łatwo się zorientować)

Po dodaniu tego arduino , kolejne już mogą pracować jako nody komunikujące się z bramką 

 
Dla zachęty dla zupełnie zielonych poniżej kod obsługujący same czujniki , np kontaktrony albo PIR
Tu wystarczy tylko zdefiniować pierwszy pin i podać ilość czujników oczywiście biorąc pod uwagę możliwości arduino
to co trzeba zmienić 
 
#define FIRST_PIN 2 // Arduino Digital I/O pin for button/reed switch
#define noButtons 6
 
Powyżej mamy start od pinu 2 i w sumie 6 czujników  
 
 

 
Dodane : 30/09/2020 11:13 am
(@ombre)
Wpisów: 13
Bywalec
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@isom dziękuje za przesłanie przykładów. Zaimplementuje je w niedziele wieczorem zapewne. Nie znam jeszcze struktury forum i dlatego umieściłem wątek w początkujących. Dziękuję za przełożenie do właściwego działu.

 

 


 
Dodane : 30/09/2020 11:31 am
(@krzysztofch)
Wpisów: 488
Ekspert Donator 2K20 Zasłużony dla Forum, Donator 2K19
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@isom tez chce podziekowac za kod. Nigdy nie bawilem sie arduinem. Po za jednym razem . Wlasciwie juz nie pamietam jak to robilem. Czy ktos by podpowiedzial na szybkiego jak ten kod tam wrzucic. 

A moze powinienem zamowic arduino mega aby miec wiecej wyjsc? 

Z gory dziekuje. 

 image

 
Dodane : 01/10/2020 12:47 am
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@krzysztofch na początek wystarczy to co masz . Pobierz sobie Arduino IDE https://www.arduino.cc/en/main/software

Zaktualizuj biblioteki w tym Mysensors , otwierasz nowy sketch i wklejasz kod , obejrzyj kilka filmików w sieci jak nigdy tego nie robiłeś


 
Dodane : 01/10/2020 3:14 pm
(@upiter81)
Wpisów: 34
Praktykant
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Witam, po pierwsze wielkie dzięki za udostępnienie kodów, zastosowałem w 2 arduino mega podłączonych do maliny 🙂 wszystko działa pięknie za wyjątkiem stanów urządzeń w domoticzu - są odwrócone, tj. gdy przekaźnik włączony, urządzenie w domoticz wyłączone / gdy przekaźnik wyłączony, urządzenie w domoticz włączone ..., istnieje możliwość odwrócenia tych stanów (najlepiej z poziomu arduino, nie stosując trików w domoticz, typu wirtualne urządzenia)?

Wskazówka dla tych którzy chcieli by podłączyć 2 arduino do domoticza, wykorzystując powyższe kody (potrzeba dużej ilości wejść / wyjść): a więc, kody muszą mieć różne, wszystkie zmienne (nazwy przekaźników, przycisków, stanów, wiadomości itd.). Być może jest na to łatwiejszy sposób, ale ja poradziłem sobie z tym w taki 🙂


 
Dodane : 27/04/2021 11:19 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@upiter81 Stany przekaźników zależą od sposobu wyzwalania twoich modułów przekaźnikowych, w kodzie dla 32 przekaźników bardzo łatwo odwrócić stan dla wszystkich przekaźników i nie potrzeba nic kombinować w domoticz . Zmiana fragmentu kodu poniżej odwraca działanie przekaźników

#define NUMBER_OF_RELAYS 32 // Total number of attached relays
#define RELAY_ON 0 // GPIO value to write to turn on attached relay
#define RELAY_OFF 1 // GPIO value to write to turn off attached relay

Co do reszty, to moim zdaniem zmiana prezentacji kodu wystarczy żeby rozróżnić przekaźniki w dwóch arduino, w drugim można zmienić na 

void presentation()
{
// Send the sketch version information to the gateway and Controller
sendSketchInfo("Relay1", "1.0");

 


 
Dodane : 28/04/2021 7:37 am
(@upiter81)
Wpisów: 34
Praktykant
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@isom dzięki za wskazówkę, właśnie od tego zamierzałem zacząć przy kolejnych próbach 🙂 - wieczorkiem przetestuję i tak czy inaczej dam znać dla potomnych 😉

Co do rozróżnienia płytek o którym wspomniałeś, to niestety nie zadziałała sama zmiana w presentation (to była moja pierwsza próba :)), musiałem nawet zmienić nazwy stanów tj. Relay_ON i Relay_OFF, dopiero po tych zmianach wszystko zaczęło działać bez zakłóceń (dosłownie wszystkie zmienne należy zmienić ... - myślę że to kwestia budowy bibliotek, jeszcze nie miałem czasu przejrzeć).


 
Dodane : 28/04/2021 5:12 pm
(@upiter81)
Wpisów: 34
Praktykant
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@isom wygląda na to że miałeś jednak rację również co do zmiany jedynie prezentacji kodu, zmyliło mnie zakłócenie polegające na zapętleniu się jednego z wyjść, co pojawiło się w końcu również po zmianie nazw wszystkich zmiennych, obecnie 2 arduino mega współpracują z maliną bez zarzutów, z identycznymi kodami a różnicą jedynie w sekcji presentation. Obawiam się jednak, że zakłócenie może wrócić (poprzednio również nie pojawiło się od razu, tylko po pewnym czasie oraz pewnej sekwencji wysterowania wejść / wyjść - niestety nie udało mi się zaobserwować jakiej), jeśli jednak się powtórzy, to zastanawiam się nad dodanie opóźnienia np. 100ms do części loop, po każdej funkcji aktywacji wyjścia, co o tym myślisz?


 
Dodane : 29/04/2021 9:05 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@upiter81 o prawda przy mniejszej ilości przekaźników i przycisków nigdy nie miałem zakłóceń pracy , ale tak krótkie opóźnienie nie wpłynie zbytnio na szybkość reakcji więc możesz spróbować 


 
Dodane : 30/04/2021 12:16 pm
(@belwe)
Wpisów: 3
Bywalec
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Witam podepnę się pod temat: mam problem po zmianie smarticza na nowszą wersję z komunikacja z przekażnikami:Error sending switch command, check device/hardware (idx=18)!. Problem w tym że raz przekaźnik zaskoczy a juz wylaczyć się nie chce dopiero po np 3 bledach nastepuje wyłączenie. Dotyczy to różnych przekażnikó podpietych do ardiuno mega po usb.

 Załączam skryp z githuba którego używam jest dość rozbudowany ma dużo fajnych opcji a w konfiguracji jest chyba nawet łatwiejszy niż powyższe.
Zmieniłem przewód usb zmniejszyłem band rate w domoticzu bezskutecznie. 🙁 jakieś pomysły?


 
Dodane : 25/05/2021 9:14 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Skrypt ze stronki EasySwitch powinien działać , testowałem go przez chwilę na nowej wersji . Może sprawdz port w ustawieniach ( usuń i dodaj  bramkę USB ) jeszcze raz 


 
Dodane : 25/05/2021 9:49 pm
(@upiter81)
Wpisów: 34
Praktykant
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Cześć, wracam z tematem po rozszerzeniu zasięg swojego Arduino Mega do kolejnej listwy przekaźników 😀  jednak druga listwa sterowana jest stanem wysokim w przeciwieństwie do pierwszej, oczywiście wszystko działa, ale prezentacja stanu przekaźników (ON / OFF), jest nieprawidłowa 😑 , tj. włączenie powoduje wyłączenie przekaźnika i odwrotnie (wyłączenie -> włączenie), co jest dla mnie oczywiście zrozumiałe, ale moja słaba znajomość kodu nie pozwala mi go poskładać jak należy ...

Będę wdzięczny za wszelkie wskazówki dla modyfikacji mojego kodu:


 
Dodane : 11/07/2022 4:39 pm
(@upiter81)
Wpisów: 34
Praktykant
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Poskładałem 😀  załączam kod gdyby ktoś potrzebował takiego rozwiązania, dodatkowo dorzuciłem obsługę czujnika DHT22 - pewnie nie jest to optymalne rozwiązanie, ale moje umiejętności na więcej niestety na chwilę obecną nie pozwalają 🤔, ważne że działa bez błędnie 😊 

 


 
Dodane : 09/08/2022 6:47 pm
Udostępnij: