Zdalny dostęp do wielu jednostek projektu IoT

10

Jesteśmy na wczesnym etapie planowania projektu IoT.

Jednym z problemów, z którym borykamy się, jest to, w jaki sposób nasz serwer internetowy może uzyskać dostęp do każdej jednostki naszego projektu IoT i wdrażać aktualizacje kodów, wiadomości ... itd.

Martwię się o to, ponieważ oczywiście każda jednostka IoT znajduje się we własnej sieci WiFi, która jest zamknięta z założenia.

W jaki sposób nasz serwer, niezbędny element naszej konfiguracji, nazywa wszystkie swoje „dziećmi” w ramach ich odpowiednich zamkniętych sieci?

sisko
źródło
1
Witamy w IoT stackexchange! Z jakich protokołów korzystasz?
anonimowy2
@ anonymous2: Dziękujemy za powitanie. Wybacz mi, ale jestem zupełnie nowy. Nie mam pojęcia, jakich protokołów użyć, przynajmniej nie wiem, o czym mówisz.
sisko
1
@Mawg - to nie do końca prawda, nawet historycznie. Prawdą jest, że klient musi zainicjować połączenie - ale dopóki połączenie jest otwarte, serwer może zepchnąć niezamówiony ruch. Jeśli połączenie zostanie zerwane, klient ponownie je ustanowi. To nie jest nowy pomysł.
Chris Stratton,
Wah! Czy naprawdę to napisałem? Tuż przed snem, ale wciąż nie ma wymówki. Skasuję ten bezbłędny komentarz (myślę jednak, że moim głównym punktem było to, że nie jest to nic nowego dla IoT i lepiej byłoby zadać pytanie na siostrzanej stronie)
mówi Mawg przywrócenie Moniki

Odpowiedzi:

6

Wygląda na to, że powinieneś szukać kompletnej platformy do zarządzania urządzeniami IoT - istnieje zbyt wiele skomplikowanych aspektów skalowalności, bezpieczeństwa, udostępniania i aktualizacji oprogramowania układowego, aby było to rozsądne, aby spróbować opracować ją od zera. Wybierz platformę, która wykorzystuje otwarte standardy.

Aby odpowiedzieć na twoje pytanie bardziej bezpośrednio, każdy punkt końcowy zazwyczaj otwiera bezpieczne połączenie TLS z serwerem w chmurze (używając czegoś takiego jak CoAP, LWM2M lub MQTT w zależności od celu połączenia), więc połączenia są prawie zawsze inicjowane z punktu końcowego. Tylko w przypadku IPv6 lub szczególnie szczególnych przypadków użycia chmura może inicjować połączenie bez żadnej pomocy ze strony punktu końcowego.

Sean Houlihane
źródło
5

Jednym dobrym sposobem na dostęp do urządzeń rozproszonych w sieciach prywatnych jest użycie MQTT do komunikacji. W MQTT serwer publikuje wiadomości na tematy, a urządzenia mogą je subskrybować, a tym samym otrzymywać powiadomienia o pojawieniu się nowych treści na dany temat.

W Internecie dostępne są rozwiązania , które możesz wybrać albo wdrożyć własne.

Główną ideą jest stworzenie tematu dla np. „Aktualizacji oprogramowania układowego”, a albo łącze albo sam pakiet pojawia się jako odpowiedź. Wiadomości MQTT do oznaczania wiadomości jako przeczytanej powodują, że aktualizacja odbywa się tylko raz.

mico
źródło