Obrazek wpisu

Tak, opis GetWired z głównej strony kampanii jest dość długi (mamy nadzieję, że jednak nie nudny). Mimo to zabrakło w nim wielu informacji na tematy związane z praktyczną stroną stosowania naszych modułów. Jesteśmy zdania, że wielu spośród naszych patronów (obecnych i przyszłych) jest zainteresowanych tego typu detalami. Dla nich właśnie powstała ta aktualizacja. Wyjaśnimy w niej szczegółowo jak zacząć przygodę z GetWired na przykładzie zestawu podstawowego (GetWired Basic Bundle).

#5 Szybki start z GetWired

Zawartość zestawu podstawowego

Zestaw podstawowy pozwala na przetestowanie wszystkich modułów oferowanych w kampanii za rozsądną cenę wynoszącą $130. Z tego względu jest dobrą propozycją na początek przygody z naszym otwartym, przewodowym systemem automatyki domowej. Polecamy również dodanie do koszyka programatora wraz z adapterem i zestawem niezbędnych przewodów (Programmer, Adapter, and Wires) – dzięki temu rozpoczęcie pracy z GetWired będzie znacznie łatwiejsze. Zestaw podstawowy zawiera:

  • GetWired Ethernet Gateway wraz z panelem na obudowę (na zdjęciu prototyp panela frezowany CNC),
  • 2x moduł GetWired MCU,
  • GetWired 2SSR Shield,
  • GetWired RGBW Shield.

Zestaw programatora doda do Twojej kolekcji następujący sprzęt:

  • Programator USBasp V2.0 z przewodem IDC (niektórzy mogą go już posiadać),
  • Adapter do programowania MCU z przewodem 6-pin (można go nabyć jedynie w ramach kampanii, jest niezbędny do programowania modułów MCU).

Inny niezbędny sprzęt

Zestaw podstawowy zawiera pełny przekrój produktów GetWired. Do jego przetestowania niezbędne będzie jednak dodatkowe wyposażenie. Można je nabyć przez internet lub odwiedzając lokalny sklep elektryczny lub market budowlany. Część można również wydrukować w 3D. Poniżej przedstawiamy szczegółową listę zakupów.

Obudowy

Tak jak to opisaliśmy w naszej poprzedniej aktualizacji, zdecydowaliśmy się nie oferować obudów w ramach kampanii. Zamiast tego udostępniliśmy pliki do druku 3D, które można pobrać z naszego repozytorium GitHub. Należy pobrać wszystkie pliki i wydrukować w następującej konfiguracji:

  • 1x GetWired Switchboard Case bottom.stl,
  • 1x GetWired Switchboard Case top.stl,
  • 1x DIN Rail Pin.stl (niezbędne do montażu obudowy na szynie TH35),
  • 2x GetWired In-wall Case.stl

Dzięki temu będzie można zamknąć w obudowach cały zestaw podstawowy GetWired. Do obudowy modułowej na Gateway potrzebne będą również śrubki:

  • 2x M2,5×4 – przymocowanie płytki do dolnej części obudowy,
  • 2x M3x10 – przymocowanie górnej części obudowy do jej dolnej części.

Do górnej części obudowy można również przykleić panel LED będący elementem zestawu podstawowego.

Lista zakupów

Sprzęt do kupienia w markecie budowlanym, sklepie elektrycznym lub internecie.

Zasilacz i przewody

  • Zasilacz 12V DC / 3A z wtyczką DC 5.5/2.5 (masa na zewnątrz) – Przykład
  • Patch cord do połączenia Gateway’a z routerem lub switchem sieciowym – Przykład
  • Kawałek przewodu do magistrali RS485 (na potrzeby testów może to być zwykła skrętka kat. 5e) – Przykład

Odbiorniki

RGBW Shield

2SSR Shield
Można użyć dowolnej żarówki lub rolety na 230V, jeśli tylko nie przekroczy ona maksymalnego obciążenia modułu. UWAGA! Praca z napięciem 230V może być niebezpieczna dla zdrowia i życia! Jeśli nie czujesz się pewnie pracując z takim napięciem, poproś o pomoc wykwalifikowanego elektryka.

Polecane narzędzia

Następujące narzędzia będą bardzo przydatne podczas składania zestawu:

Składamy sprzęt w całość

Teraz, kiedy wszystkie niezbędne elementy są już na miejscu, możemy przejść do rzeczy. Teraz dopiero zacznie się zabawa! Ale spokojnie, to nic trudnego. Jeśli szukasz większego wyzwania, pracuj po ciemku – przynajmniej dopóki nie uruchomisz taśmy LED 😉

Łączenie sprzętu GetWired…

Zacznijmy od przewodu magistralowego. Będą potrzebne 2 odcinki przewodu, po jednym na każdy moduł z zestawu podstawowego. Po pocięciu przewodu na kawałki (jeśli przeprowadzasz właśnie testy „na biurku” dla własnej wygody dopilnuj, żeby kawałki nie były zbyt długie), zdejmij pancerz z obu końców każdego odcinka i obierz poszczególne żyły za pomocą ściągacza izolacji. Potrzebne będą 4 żyły, pozostałe (jeśli są) mogą zostać nieobrane.

Jeśli przewód jest już gotowy, należy połączyć moduły ze sobą i z Gateway’em. Nic trudnego: łączymy A z A, B z B, +12V z +12V i GND z GND. Należy zwrócić uwagę, żeby nie pomylić przewodów – wybierz kolor dla każdego sygnału i bądź konsekwentny.

…i odbiorników

Po połączeniu modułów ze sobą, można przejść do dołączenia odbiorników. Zacznijmy od modułu RGBW.

Podłączanie taśmy LED do modułu RGBW

Połącz sygnały R, G, B, W oraz zasilanie do modułu, jak pokazano poniżej (dla ułatwienia przypominamy pinout modułu RGBW. Dla zachowania pełnej izolacji galwanicznej magistrali i odbiornika, do zasilania taśmy LED należy użyć oddzielnego zasilacza. Na module RGBW znajdują się w tym celu specjalne złącza śrubowe: LED+ oraz LED-.

Podłączenie odbiorników do modułu 2SSR

Przejdźmy do modułu 2SSR (pinout modułu 2SSR). Jak już wcześniej wspomnieliśmy, napięcie pracy tego modułu może być niebezpieczne, dlatego należy zachować szczególną ostrożność i/lub zapewnić sobie wykwalifikowaną pomoc. Moduł 2SSR potrzebuje do pracy tylko przewodu fazowego. Przewód neutralny łączy się poza modułem za pomocą szybkozłączki lub kostki elektrycznej. Domyślnie moduł współpracuje również z włącznikiem światła. Najlepiej używać łączników zwiernych, które podłączamy do pinów D2 i D3, jak to pokazano na zdjęciach poniżej.

Programowanie MCU

Po podłączeniu całego zestawu można przejść do programowania modułów. Najpierw pobierz kod z naszego repozytorium GitHub. Konfiguracja oprogramowania odbywa się poprzez edycję pliku Configuration.h. Żeby zrozumieć na czym to polega, przyjrzyjmy się kilku linijkom tego pliku. Linijki, których nie przeanalizujemy nie są w tym momencie potrzebne i powinny pozostać niezmienione.

Identyfikacja modułu

Pierwsze zmiany w pliku Configuration.h dotyczą identyfikacji danego modułu:

  • MY_NODE_ID – unikalny numer modułu (każdy moduł musi mieć Node ID; nie można podłączyć dwóch modułów o tym samym numerze do jednego Gateway’a),
  • SN (sketch name) – nazwa modułu (nieobowiązkowa, najlepiej, żeby była krótka i wyróżniająca),
  • SV (sketch version) – numer wersji firmware (nieobowiązkowy).
// Identification
#define MY_NODE_ID 1
#define SN “GetWired 2SSR Module”
#define SV “1.0”

Definicje

Należy również podać kilka ogólnych definicji:

  • MAX_CURRENT – wartość w amperach (należy ustawić 3 dla 2SSR i 10 dla RGBW),
  • MVPERAMP – czułość czujnika prądu (185 dla 2SSR, 100 dla RGBW),
  • RECEIVER_VOLTAGE – napięcie pracy podłączonego odbiornika (230 dla 2SSR, 12 lub 24 dla RGBW),
  • DIMMING_STEP, DIMMING_INTERVAL – poeksperymentuj z tymi wartościami w celu uzyskania odmiennych efektów przejścia w module RGBW,
  • UP_TIME, DOWN_TIME – czas ruchu w górę i w dół dla rolety w sekundach (funkcja autokalibracji na razie jeszcze nie działa); ustaw w przypadku podłączenia rolety do modułu 2SSR.

// Power Sensor
#define MAX_CURRENT 3                                       // 2SSR – 3; RGBW, 4RelayDin – 10 [A]

#define MVPERAMP 185                                          // ACS7125A: 185 mV/A; ACS71220A: 100 mV/A
#define RECEIVER_VOLTAGE 230                         // 230V, 24V, 12V – values for power usage calculation

// Dimmer
#define DIMMING_STEP 1
#define DIMMING_INTERVAL 10

// Roller Shutter
//#define RS_AUTO_CALIBRATION
#ifdef RS_AUTO_CALIBRATION
#define CALIBRATION_SAMPLES 2
#define PS_OFFSET 0.5
#else
#define UP_TIME 21
#define DOWN_TIME 20
#endif

Konfiguracja wyjścia

To jest właściwie dość ważny moment – należy wybrać wyjście danego modułu. Należy pamiętać, że tylko jedno wyjście może być aktywne na raz.

  • DOUBLE_RELAY – odkomentuj, jeśli chcesz używać modułu 2SSR jako 2-kanałowego sterownika oświetlenia,
  • ROLLER_SHUTTER – odkomentuj, jeśli chcesz używać modułu 2SSR jako sterownika rolety,
  • DIMMER, RGB, RGBW – odkomentuj jedno z tych wyjść w zależności od rodzaju taśmy LED, którą chcesz kontrolować modułem RGBW.

// 2SSR
#define DOUBLE_RELAY
//#define ROLLER_SHUTTER

// Dimmer / RGB / RGBW
//#define DIMMER

//#define RGB

//#define RGBW

Konfiguracja wejść

Poniższe parametry umożliwiają skonfigurowanie wejść obsługiwanych przez moduł. Wszystkie mogą być aktywne jednocześnie:

  • INPUT_1 – INPUT_4 – cyfrowe wejścia o różnorodnym przeznaczeniu (możesz wybrać wariant działania danego wejścia zakomentowując parametr PULLUP_X),
  • POWER_SENSOR – zakomentuj, jeśli nie chcesz korzystać z wbudowanego czujnika prądu,
  • INTERNAL_TEMP – zakomentuj, jeśli nie chcesz korzystać z wbudowanego czujnika temperatury,
  • EXTERNAL_TEMP – odkomentuj, jeśli chcesz zastosować zewnętrzny czujnik temperatury (obecnie jest wspierane jedynie DHT22).

Ważne: w przypadku modułu RGBW przynajmniej jedno cyfrowe wejście musi być aktywne (INPUT_1).

// Digital input

#define INPUT_1
#ifdef INPUT_1
#define INPUT_ID_1 4
#define PIN_1 INPUT_PIN_3
#define PULLUP_1
#define NUMBER_OF_INPUTS 1
#endif

// ACS712 Power Sensor
#define POWER_SENSOR

// Analog Internal Thermometer
#define INTERNAL_TEMP

// 1wire external thermometer (e.g. DHT22)
//#define EXTERNAL_TEMP

Programowanie Gateway’a

Pobierz kod dla modułu GetWired Ethernet Gateway z naszego repozytorium GitHub. Wymaga ono jedynie minimalnej edycji:

  • MY_IP_ADDRESS – ustaw statyczny adres IP modułu,
  • MY_PORT – domyślny port to 5003, nie ma potrzeby go zmieniać,
  • MY_MAC_ADDRESS – dostosuj go, jeśli używasz więcej niż jednego Gateway’a lub jeśli w Twojej sieci LAN występuje konflikt z innym urządzeniem.

#define MY_IP_ADDRESS 192,168,0,10                                                       // Gateway IP address
#define MY_PORT 5003                                                                                 // The port to keep open on node server mode / or port to contact in client mode
#define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEB          // Gateway MAC address

Wgrywanie oprogramowania

Jeśli oprogramowanie jest już przygotowane, należy je wgrać do modułów za pomocą programatora. Zacznijmy od dodania do Arduino IDE mikrokontrolerów ATmega328PB. Można to zrobić bardzo łatwo dzięki MiniCore. Szczegółowa instrukcja dostępna tutaj.
O czym należy pamiętać podczas wgrywania:

  • Przy wyborze płytki w Arduino IDE, należy dobrać kilka ustawień (patrz tabela i zdjęcie poniżej),
  • Oprogramowanie można wgrać prosto z Arduino IDE (Narzędzia → Programator → USBasp, a następnie Szkic → Wgraj używając programatora),
  • Przed programowaniem należy wybrać napięcie programowania za pomocą zworki (ustaw 5V podczas programowania MCU oraz 3,3V podczas programowania Gateway’a).
Board Settings MCU Gateway
Board ATmega328 ATmega328
Clock 8 MHz external 8 MHz external
Variant 328PB 328PB
Bootloader Yes No

Po wgraniu MCU jest gotowe do połączenia z odpowiednim Shield’em. Wykonać to należy po odłączeniu zasilania od magistrali. W tym celu należy wcisnąć przycisk CONF na panelu LED Gateway’a. Dioda CONF LED powinna zacząć świecić. Po wykonaniu montażu należy ponownie wcisnąć przycisk CONF. Wówczas zgaśnie dioda CONF LED, a zapali się dioda POWER. Napięcie zasilania na magistrali zostanie przywrócone.

Podsumowanie

Po ukończeniu tej instrukcji zestaw podstawowy GetWired powinien wyglądać tak jak na gifie poniżej.

Pomimo znacznej ilości informacji zawartej w tej aktualizacji mamy jeszcze wiele tematów do poruszenia na później. Przyjmijmy, że to był dobry początek. Kolejne aktualizacje poruszą takie tematy jak:

  • współpraca GetWired z Domoticz’em i Home Assistant’em,
  • planowanie instalacji GetWired,
  • przygotowanie instalacji elektrycznej pod moduły GetWired.

Dziś to już wszystko. Dziękujemy za uwagę. Jeśli coś jest nadal niejasne, dajcie nam znać. Kolejna aktualizacja już wkrótce, a tymczasem należy zachować spokój i wesprzeć GetWired! 🙂 Przejdź do strony kampanii

 

Wszystkie dotąd opublikowane wpisy o kampanii: