Kbsa Łączenie Urządzenia Shelly 1 G3 z Aws Iot Co

Podłączanie urządzenia Shelly 1 G3 do AWS IoT Core za pomocą MQTT
Connecting a Shelly 1 G3 Device to AWS IoT Core Using MQTT.jpg

Ten przewodnik pomoże Ci skonfigurować urządzenie Shelly z AWS IoT Core, umożliwiając komunikację przez MQTT.

Przegląd

Ten przewodnik pomoże Ci skonfigurować urządzenie Shelly z AWS IoT Core, umożliwiając komunikację przez MQTT. Postępuj dokładnie według tych instrukcji, aby zapewnić bezpieczne i poprawne połączenie urządzenia.

Wymagania wstępne

  • Darmowe konto AWS z włączoną usługą IoT Core, również obecnie bezpłatne.

  • Urządzenie Shelly Gen2+ (np. Shelly 1 G3) podłączone do sieci z dostępem do internetu.

  • Podstawowa znajomość AWS IoT Core i MQTT.

  • Upewnij się, że Twoje urządzenie Shelly ma zainstalowane najnowsze oprogramowanie układowe.

Instrukcja krok po kroku

Część 1 - Konfiguracja AWS

Wykonaj następujące kroki, aby skonfigurować AWS IoT Core, utworzyć Thing i wygenerować niezbędne poświadczenia bezpieczeństwa.

Zaloguj się do konsoli AWS i utwórz nowe Thing w AWS IoT

  1. Otwórz AWS Management Console i przejdź do usługi IoT Core za pomocą paska wyszukiwania.

  2. W IoT Core Dashboard po lewej stronie kliknij Manage > All Devices > Things.

  3. Po przejściu tam, po prawej stronie zobaczysz pomarańczowy przycisk Create Thing, kliknij go.

    1.jpg
  4. Wybierz Create single thing i kliknij Next.

    2.jpg
  5. W tym kroku musisz wypełnić następujące pola:

  • Name urządzenia (np. Shelly1-G3).

  • Opcjonalnie przypisz Thing Type (np. Relay, Plug, Bulb) w celu łatwiejszego zarządzania.

  • Jeśli zdecydujesz się przypisać typ, zobacz drugie zdjęcie.

  • Wybierz No Shadow

  • Kliknij Next

3.jpg
4.jpg

Optional(Add a Type)

  1. Wygeneruj certyfikaty.

Na tym ekranie wybierz Auto-generate a new certificate (to jest zalecana opcja) i kliknij Next.

5.jpg
  1. Tutaj zostaniesz poproszony o przypisanie polityki; chociaż jest napisane „Optional”, stanowczo zalecamy jej utworzenie, klikając Create Policy.

6.jpg
  1. Pojawi się okno podręczne — wprowadź następujące wartości:

  • Name Polityki

  • Kliknij na JSON

  • Wprowadź poniższe wartości:

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:*", "Resource": "*" } ] }
  • To pozwoli na wszystkie akcje IoT (Connect, Publish, Receive, Subscribe, Retain Publish, ListRetainedMessages, GetRetainedMessages) dla wszystkich zasobów.

  • Gdy wszystkie wartości zostaną dodane, kliknij Create.

7.jpg
  1. Teraz zobaczymy nowo utworzoną Politykę:

  • Wybierz nową Politykę

  • Kliknij Create Thing

8.jpg

  1. Teraz zobaczysz ekran z różnymi plikami do pobrania; potrzebne nam są:

  • Device Certificate

  • Private Key

  • Root CA

Pamiętaj, że kreator może poprosić o pobranie również klucza publicznego. Możesz zmienić nazwy plików dla ułatwienia. Po zakończeniu kliknij Done.

9.jpg

Teraz mamy utworzone Thing i możemy go zobaczyć wraz z przypisanym Type.

10.jpg

Przejdź teraz do Test > MQTT test client i rozwiń Connection Details

  • Zapisz Client ID

  • Zapisz Endpoint

Będziemy potrzebować tych dwóch wartości później w części dotyczącej Shelly tego przewodnika! Również w polu Topic Filter wpisz # i kliknij Subscribe. Pozwoli to zobaczyć wszystkie wiadomości pochodzące z naszego urządzenia Shelly.

11.jpg

Część 2 - Konfiguracja Shelly

Zasilanie i konfiguracja sieci dla urządzenia Shelly

  1. Podłącz urządzenie Shelly (np. Shelly 1 G3) do zasilania i upewnij się, że zostało dodane do Twojej lokalnej sieci.

    • Upewnij się, że Twoje urządzenie Shelly jest podłączone do sieci z dostępem do internetu (WAN). Sieć musi zezwalać na połączenia wychodzące.

  2. Aktualizacja oprogramowania układowego urządzenia Shelly

    • Przejdź do interfejsu webowego urządzenia Shelly.

    • Przejdź do Settings > Firmware i upewnij się, że Twoje urządzenie działa na najnowszej wersji oprogramowania układowego.

Kilka uwag do zapamiętania!

  • Aktualna stabilna wersja to 1.4.2 i mamy ją już zainstalowaną. Widać to na drugim zrzucie ekranu w Kroku 1.

  • Jeśli chcemy sprawdzić aktualizacje, klikamy przycisk Check for Updates.

  • Jeśli będą dostępne odpowiednie wyniki, zostaną wymienione jak w Kroku 3. PAMIĘTAJ, ŻE POJAWIĄ SIĘ RÓWNIEŻ WERSJE TESTOWE I BETA — POTRZEBUJEMY TYLKO STABILNEJ!

12.jpg
13.jpg

  1. Przetestuj łączność sieciową z AWS IoT Core

    • Otwórz terminal lub wiersz poleceń na urządzeniu używającym tej samej sieci co Twój Shelly.

    • Uruchom test ping, aby sprawdzić łączność sieciową z punktem końcowym AWS IoT (możesz pobrać endpoint z części Konfiguracja AWS w ostatnim kroku — pamiętasz te zapisane wartości? W naszym przypadku to):

BASH
ping a370ypdmp7t0up-ats.iot.eu-central-1.amazonaws.com

Jeśli otrzymujesz odpowiedzi, Twoja sieć jest poprawnie skonfigurowana do komunikacji z AWS IoT Core.

14.jpg
  1. Skonfiguruj ustawienia TLS na urządzeniu Shelly

  • Uzyskaj dostęp do interfejsu webowego Shelly, wpisując jego adres IP w przeglądarce.

  • Przejdź do Settings > przewiń w dół i na dole przejdź do TLS Configuration.

15.jpg

W sekcji TLS Configuration załaduj następujące certyfikaty, które już pobraliśmy w części Konfiguracja AWS.

  • Pamiętaj, żeby ładować certyfikaty w tej samej kolejności, w jakiej pokazujemy je tutaj od góry do dołu:

    • Pierwszy to certyfikat CA: Amazon Root CA 1 lub tak, jak go zmieniłeś.

    • Drugi to certyfikat urządzenia: lub tak, jak go zmieniłeś.

    • Na końcu prywatny klucz: Prywatny klucz powiązany z certyfikatem urządzenia.

  • Zapisz konfigurację, klikając Upload dla każdego certyfikatu z osobna; powinieneś zobaczyć komunikat Save successful! dla każdego z nich.

Prześlij certyfikaty

  1. Skonfiguruj ustawienia MQTT na urządzeniu Shelly

  • W interfejsie Shelly przejdź do Settings > MQTT i wprowadź następujące wartości:

    • Typ połączenia: Default TLS.

    • Zaznacz wszystkie dostępne pola, aby włączyć wymagane opcje MQTT.

    • Server: a370ypdmp7t0up-ats.iot.eu-central-1.amazonaws.com (zamień na swój endpoint AWS IoT, który można znaleźć w konsoli AWS IoT).

    • Client ID: Client ID powinien być czymś unikalnym, na przykład nazwą Device/Thing. Client ID jest unikatowym identyfikatorem, którego klient MQTT (w tym przypadku Twoje urządzenie Shelly) używa podczas łączenia się z brokerem (w tym przypadku AWS IoT Core)

  • Zapisz konfigurację i kliknij przycisk Reboot Now który pojawi się w prawym górnym rogu.

  1. Przetestuj połączenie MQTT

  • Po ponownym uruchomieniu urządzenia Shelly wróć do konsoli AWS IoT Core.

  • Przejdź do Test > MQTT Test Client.

  • W polu Topic filter wpisałeś # co pozwala subskrybować wszystkie tematy. Poniższy przykład pokazuje inny temat: shelly1g3-54320459fb8c/status/switch:0 który pokaże tylko przełączanie przekaźnika.

  • Z interfejsu webowego Shelly włącz przekaźnik, aby wysłać wiadomość i potwierdzić, że urządzenie jest pomyślnie połączone.

Przetestuj połączenie

Cenimy Twoją opinię!

Dziękujemy za poświęcony czas na przeczytanie naszego artykułu! Czy był pomocny lub interesujący?

Twoje uwagi pomogą nam się poprawić. Będziemy wdzięczni za wszelkie opinie. Jeśli masz chwilę,

prosimy podziel się nimi pod następującym adresem e-mail:

Integration@shelly.com

Użyte urządzenia