Spisu treści:

Podstawy IoT: Łączenie IoT z chmurą za pomocą systemu operacyjnego Mongoose: 5 kroków
Podstawy IoT: Łączenie IoT z chmurą za pomocą systemu operacyjnego Mongoose: 5 kroków

Wideo: Podstawy IoT: Łączenie IoT z chmurą za pomocą systemu operacyjnego Mongoose: 5 kroków

Wideo: Podstawy IoT: Łączenie IoT z chmurą za pomocą systemu operacyjnego Mongoose: 5 kroków
Wideo: Zbuduj i zeskaluj produkt IoT na AWS 2024, Lipiec
Anonim
Podstawy IoT: Łączenie IoT z chmurą za pomocą systemu operacyjnego Mongoose
Podstawy IoT: Łączenie IoT z chmurą za pomocą systemu operacyjnego Mongoose
Podstawy IoT: Łączenie IoT z chmurą za pomocą systemu operacyjnego Mongoose
Podstawy IoT: Łączenie IoT z chmurą za pomocą systemu operacyjnego Mongoose

Jeśli jesteś osobą, która zajmuje się majsterkowaniem i elektroniką, najczęściej natkniesz się na termin Internet Rzeczy, zwykle skracany jako IoT i odnosi się do zestawu urządzeń, które mogą łączyć się z Internetem! Będąc taką osobą, byłem zafascynowany, gdy dowiedziałem się, że tak wspaniałe urządzenia są dla mnie łatwo dostępne. Sama myśl o możliwości połączenia moich projektów z Internetem za pomocą małego sprzętu i samo myślenie o niezliczonych bramach, które otworzy to dla moich pomysłów na projekty, podniosło mnie na duchu.

Ale nakazanie Internetowi Rzeczy, aby łączył się z Internetem, nie jest tak proste, jak po prostu kupienie go z półki i włączenie go. Oprócz połączenia urządzenia z Internetem, musimy również przesłać do Internetu przydatne dane. Ta instrukcja dotyczy procedury związanej z osiągnięciem powyższego celu i jest przeznaczona dla czytelników na dowolnym poziomie doświadczenia, od początkujących po weteranów, którzy są nowicjuszami w IoT.

W tym Instruktażowym przykładzie zademonstruję, jak wykreślić wykres odczytów wewnętrznych czujników temperatury płyty rozwojowej ESP32, co powinno dać czytelnikom dobre pojęcie o tym procesie.

Chociaż ta instrukcja używa ESP32 i Mongoose OS, procedura może zostać rozszerzona na wszystkie IoT i oprogramowanie układowe!

Kieszonkowe dzieci

Aby móc samodzielnie zaimplementować tę instrukcję, będziesz potrzebować tylko minimalnej ilości sprzętu, a są to:

  • Internet of Thing (IoT): Użyłem taniego klonu płytki rozwojowej ESP32. Jeśli planujesz kupić nową płytkę rozwojową ESP32, musisz sprawdzić płytkę ESP32 firmy DFRobot.
  • Kabel do transmisji danych: użyj kabla, którego Twój IoT wymaga do flashowania itp.
  • Bateria (opcjonalnie): Kup to tylko wtedy, gdy zamierzasz zasilać swój IoT przez długi czas.
  • Mini deska do krojenia chleba (opcjonalnie)

Sugeruję czytelnikowi, aby używał IoT innego niż ESP32, aby mógł naprawdę zrozumieć, co się tutaj dzieje, zamiast po prostu naśladować mnie. Zaufaj mi, spodoba ci się implementacja tego procesu przy użyciu własnego umysłu w innym IoT, na przykład ESP8266 byłby dobrym wyborem.

Krok 1: Wprowadzenie do MQTT

Wprowadzenie do MQTT
Wprowadzenie do MQTT

Co to jest MQTT?

„MQTT to prosty protokół przesyłania wiadomości, zaprojektowany dla urządzeń z ograniczeniami o niskiej przepustowości. Jest to więc idealne rozwiązanie dla aplikacji Internetu Rzeczy. MQTT umożliwia wysyłanie poleceń do sterowania wyjściami, odczytywanie i publikowanie danych z węzłów czujników i wiele więcej. (Z samouczków RandomNerd)

Jak działa MQTT?

Zanim przejdziemy do kwestii technicznych, pomyślmy najpierw o naszym prawdziwym świecie. Załóżmy, że interesuje Cię kolekcja kart należąca do znajomego znajomego, powiedzmy Laurel, którego osobiście nie znasz. Ponieważ bardzo podchodzisz do tej kolekcji kart, poprosisz swojego przyjaciela, załóżmy, Toma, by zapytał, czy Laurel chce ją sprzedać, czy nie. Robiąc to, poprosisz Toma, aby sam kupił kolekcję kart, jeśli Laurel zechce sprzedać, ponieważ nie chcesz, aby jakaś inna osoba dostała w swoje ręce kolekcję, której pragniesz! W miarę upływu czasu Tom i Laurel wchodzą w interakcję i za obopólną zgodą Laurel przekazuje Tomowi kolekcję kart w zamian za pieniądze. Po tej wymianie Tom trzyma karty przy sobie, dopóki nie spotka się z tobą ponownie, kiedy w końcu da ci kolekcję kart. Tak przebiega normalna wymiana w naszym codziennym życiu.

W MQTT podstawowymi elementami zaangażowanymi w wymianę są wydawca (Laurel), subskrybent (Ty) i broker (Tom). Jego przepływ pracy jest również podobny do powyższego przykładu ze świata rzeczywistego, z wyjątkiem jednej ogromnej różnicy! W MQTT wymiana jest inicjowana przez brokera, tzn. Laurel jako pierwsza dodzwoniłaby się do Tomka, by powiedzieć, że chce sprzedać swoją kolekcję kart. Jeśli porównamy działanie MQTT z naszym przykładem ze świata rzeczywistego, wyglądałoby to następująco:

  1. Laurel mówi Tomowi, że chce sprzedać swoją kolekcję kart (dane lub ładunek) i daje mu karty.
  2. Tomek bierze te karty w swoje posiadanie i jest otwarty na oferty odbioru kart. Kiedy spotkacie się z Tomem, a on dowie się, że jesteś zainteresowany kartami (zapisuje się do tematu). Tom następnie daje ci karty.

Ponieważ cały proces opiera się na brokerze i nie ma bezpośredniej interakcji między subskrybentem a wydawcą, MQTT eliminuje kłopoty z synchronizacją zarówno wydawcy, jak i subskrybenta. Obecność pośrednika pośredniczącego jest dobrodziejstwem dla urządzeń o ograniczonych zasobach, takich jak IoT i mikroprocesory, ponieważ ich moc obliczeniowa jest niewystarczająca do przeprowadzenia przesyłania danych w normalny sposób, co wiązałoby się z dodatkowymi kosztami ogólnymi, takimi jak uwierzytelnianie, szyfrowanie itp. Poza tym, MQTT ma wiele innych funkcji, takich jak bycie lekkim, dystrybucja jeden-do-wielu itd., co czyni go idealnym dla ograniczonych sieci i klientów

Krok 2: Wprowadzenie do platformy IoT

Co to jest platforma IoT?

„Na wysokim poziomie platforma Internetu rzeczy (IoT) to oprogramowanie pomocnicze, które łączy sprzęt brzegowy, punkty dostępu i sieci danych z innymi częściami łańcucha wartości (które są zazwyczaj aplikacjami dla użytkowników końcowych). Platformy IoT zazwyczaj obsługi bieżących zadań zarządzania i wizualizacji danych, co pozwala użytkownikom zautomatyzować ich środowisko. (Z laboratorium Link)

Mówiąc wprost, platforma IoT działa jako medium między użytkownikiem a agentami zbierającymi dane, które są odpowiedzialne za reprezentację zebranych danych.

W tym Instruktażowym planujemy umieścić odczyty temperatury naszego ESP32 w Internecie. Nasz ESP32 będzie działał jako wydawca MQTT, a broker MQTT będzie wybraną przez nas platformą IoT. Zauważ, że w naszym projekcie nie ma roli subskrybenta MQTT, ponieważ dane są reprezentowane przez samą platformę z pierwszej ręki. Platforma IoT będzie odpowiedzialna za przechowywanie naszych opublikowanych danych i ładną ich reprezentację w postaci wykresu liniowego. Będę używał Losant jako mojej platformy IoT, ponieważ jest darmowy i oferuje dobre sposoby reprezentowania danych. Inne przykłady platform IoT to Google Cloud, Amazon AWS i Adafruit, Microsoft Azure itp. Chciałbym doradzić czytelnikowi zapoznanie się z dokumentacją wybranej platformy IoT.

Konfiguracja Losant:

  1. Zaloguj się do Losant
  2. Utwórz urządzenie (typ samodzielny)
  3. Dodaj kilka typów danych do urządzenia1. Nazwa: temperatura, Typ danych: Liczba2. Nazwa: offset, Typ danych: Number3. Nazwa: jednostka, Typ danych: Ciąg
  4. Wygeneruj klucz dostępu i zanotuj identyfikator urządzenia i klucz dostępu
  5. Utwórz wykres1. Utwórz pulpit nawigacyjny.2. Dodaj do niego blok „Wykres Szeregów Czasowych” za pomocą zmiennej temperatury i utworzonego urządzenia.

„Identyfikator urządzenia” służy do działania jako unikalny odcisk palca dla urządzenia. „Klucze dostępu”, jak sama nazwa wskazuje, umożliwiają IoT publikowanie w Losant pod tożsamością urządzenia.

Krok 3: Przygotuj wydawcę MQTT

Image
Image

Teraz, gdy przygotowaliśmy platformę IoT do odbierania i reprezentowania danych, musimy przygotować wydawcę MQTT, który byłby odpowiedzialny za zbieranie i wysyłanie danych na platformę.

Zarys przygotowania wydawcy MQTT jest następujący:

  • Napisz kod: aby poinstruować wydawcę (IoT), jak zbierać dane, przetwarzać i wysyłać je na platformę IoT. Instrukcje są napisane w czytelnych dla człowieka językach programowania wysokiego poziomu, które zwykle określa się mianem kodu.
  • Flashowanie oprogramowania sprzętowego: IoT nie zrozumie łatwo tych instrukcji, ponieważ początkowo nie zna żadnego języka. Aby pokonać tę barierę językową między człowiekiem a maszyną, kod jest kompilowany w prymitywny zestaw instrukcji, w zasadzie zestawy wartości szesnastkowych lub binarnych specyficznych dla lokalizacji pamięci w IoT, znane jako oprogramowanie układowe, które jest następnie flashowane do IoT.

W tej instrukcji, ponieważ używam mojego podręcznego ESP32, będę do niego flashować oprogramowanie układowe Mongoose OS, które akceptuje programy napisane zarówno w C, jak i JavaScript. Oprócz kompatybilności z JS, Mongoose OS nadal ma wiele do zaoferowania, na przykład aktualizacje bezprzewodowe, do ulepszania programu online oraz dedykowany pulpit nawigacyjny dla urządzeń (mDash) itp.

Opracowałem aplikację open-source dla systemu operacyjnego Mongoose dla tego Instructable. Jest to prosta aplikacja o nazwie losant-temp-sensor, która wykorzystuje MQTT do wysyłania przybliżonych odczytów temperatury otoczenia, opartych na odczytach temperatury wewnętrznej ESP32, do Losant (bezpłatnej platformy IoT). Zaleca się przejrzenie kodu aplikacji w celu lepszego zrozumienia. Będziemy flashować tę aplikację dla tej instrukcji.

Jeśli lubisz przygody, możesz spróbować osiągnąć ten sam cel za pomocą oprogramowania układowego Arduino-ESP32, które umożliwia korzystanie z ESP32 jako Arduino (z funkcją WiFi).

Krótki opis flashowania aplikacji z Mongoose OS:

  1. Zainstaluj narzędzie mos dla swojego systemu operacyjnego.
  2. Otwórz narzędzie i wykonaj następujące polecenia:

    1. Klon mos
    2. cd losant-temp-czujnik
    3. mos build --platforma esp32
    4. mos flash
  3. Po pomyślnym flashowaniu pozwól urządzeniu na ponowne uruchomienie, a następnie wykonaj następujące polecenia:

    1. mos wifi „twój ssid wifi” „twoje hasło wifi” np. mos wifi "Dom" "dom@123"
    2. mos config-set temperature.basis=

      temperatura.jednostka =

      "np. mos config-set temperature.basis=33 \temperature.unit="celsjusz"

    3. mos config-set device.id=mqtt.client_id=mqtt.user=mqtt.pass=

Po prawidłowym wykonaniu wszystkich tych kroków otrzymasz ESP32, który okresowo wysyła odczyty temperatury do Losant, co 10 minut. Pomyślne opublikowanie jest sygnalizowane niebieską diodą LED, jak pokazano na powyższym filmie.

Krok 4: Przypis

Image
Image
Notatka
Notatka

Jeśli jesteś w stanie poprawnie odtworzyć poprzednie kroki, teraz będziesz mieć działający projekt, za pomocą którego możesz obserwować trendy temperatur w swoim pokoju lub w dowolnym miejscu, w którym planujesz umieścić projekt. Ponieważ utrzymywałem ten Instruktaż tak ogólny, jak tylko mogłem, dlatego możesz użyć swojego IoT do zbierania wszelkiego rodzaju danych i próbować wyciągnąć z niego coś przydatnego, lub możesz to zrobić tylko ze względu na majsterkowanie, jeśli dobrze zrozumiałem ten Instruktaż.

Dla mnie najlepszą częścią IoT jest to, że umożliwia nam zbieranie ogromnych porcji danych, niejednoznacznych, jeśli bierzemy je same i przekształcamy je w coś rozstrzygającego. To naprawdę uderza w ducha nauki. Dla mnie bardzo satysfakcjonujące i pouczające było obserwowanie spadku temperatury w moim pokoju podczas deszczowych godzin na moim wykresie.

Aplikacja losant-temp-sensor-app została zoptymalizowana pod kątem zużycia energii, ponieważ wykorzystuje funkcję głębokiego uśpienia ESP32, dzięki czemu można jej używać przez długi czas bez martwienia się o baterię. Możesz jeszcze bardziej zwiększyć wydajność energetyczną, usuwając diodę LED na płytce rozwojowej. Aktualny losowanie całego zestawu pokazano powyżej.

Celem tego Instructable od samego początku było wprowadzenie do świata IoT. Po ukończeniu tego Instruktażowego będziesz mieć dobre opanowanie podstaw, które możesz wzmocnić jeszcze bardziej za pomocą innych zasobów online.

Chociaż na tym etapie nie będziesz w stanie wykonać skomplikowanych projektów, zawsze należy pamiętać, że jeśli masz wystarczająco mocną cegłę i sposób na ich połączenie, możesz wykonać dowolną wyobrażalną konstrukcję, z prostych do złożonych. Podobnie, dobre opanowanie podstaw i wiedza o tym, jak prawidłowo je stosować, umożliwi ci stosowanie wielu urządzeń. Dlatego poklep się po plecach za zrobienie pierwszego kroku.

Krok 5: Kredyty i wsparcie

Ta instrukcja składa się z ilustracji, m.in. ten, który wyjaśnia wymianę MQTT, którą osobiście wykonałem. Te ilustracje były możliwe tylko dzięki następującym darmowym pakietom SVG:

  • Wektor infograficzny stworzony przez freepik - www.freepik.com
  • Wektor infograficzny stworzony przez starline - www.freepik.com
  • Wektor ludzi stworzony przez pikisuperstar - www.freepik.com
  • Abstrakcyjny wektor stworzony przez macrovector - www.freepik.com
  • Abstrakcyjny wektor stworzony przez macrovector - www.freepik.com
  • Wektor infograficzny stworzony przez pipisuperstar - www.freepik.com

Ten Instructable został zasponsorowany przez DFRobot. DFRobot ma niesamowitą kolekcję elektroniki, więc koniecznie ją sprawdź.

Jeśli uważasz, że podoba Ci się ten Instructable i chcesz więcej takich Instructables, możesz mnie wesprzeć na Patreon. Jeśli nie możesz zajść tak daleko, możesz podążać za mną tutaj w Instructables.

Zalecana: