Spisu treści:
- Krok 1: Płyta NodeMCU oparta na ESP8266
- Krok 2: Schemat pinów
- Krok 3: DHT11 - czujnik wilgotności i temperatury
- Krok 4: Wprowadzenie do systemu operacyjnego Mongoose
- Krok 5: Kreator instalacji Mongoose
- Krok 6: Stan urządzenia - online
- Krok 7: Udostępnij urządzenie w AWS IOT
- Krok 8: Ładowanie przykładowego kodu na płytkę NodeMCU
- Krok 9: Pierwsze kroki z kontem AWS
- Krok 10: Narzędzie wiersza poleceń AWS CLI (opcjonalnie)
- Krok 11: Amazon Web Services (GUI)
- Krok 12: Rdzeń AWS IOT
- Krok 13: AWS IOT - Monitorowanie
- Krok 14: AWS IOT - subskrypcje
- Krok 15: Publikowanie domyślnej wiadomości
- Krok 16: Publikowanie informacji o naciśnięciu przycisku
- Krok 17: Opublikuj wartości temperatury i wilgotności na platformie AWS IOT
- Krok 18: Zadanie
Wideo: Pierwsze kroki z Amazon AWS IoT i ESP8266: 21 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Ten projekt pokazuje, jak wziąć moduł ESP8266 i podłączyć go bezpośrednio do AWS IOT za pomocą Mongoose OS. Mongoose OS to system operacyjny typu open source dla mikrokontrolerów, który kładzie nacisk na łączność z chmurą. Został opracowany przez Cesanta, dublińską firmę zajmującą się oprogramowaniem wbudowanym i pod koniec projektu powinieneś być w stanie zmierzyć wartości temperatury i wilgotności z czujnika temperatury DHT11 i opublikować je na platformie AWS IOT
Do tego projektu będziemy potrzebować:
Płyta NodeMCU oparta na ESP8266
Czujnik temperatury DHT 11
Narzędzie do flashowania Mongoose OS
Kabel USB do podłączenia płyty NodeMCU do komputera
Przewody połączeniowe
Konto AWS, z którego zamierzasz korzystać
Krok 1: Płyta NodeMCU oparta na ESP8266
ESP8266 to nazwa mikrokontrolera zaprojektowanego przez firmę Espressif Systems. Sam ESP8266 jest samodzielnym rozwiązaniem sieciowym Wi-Fi, oferującym jako pomost między istniejącym mikrokontrolerem a Wi-Fi, a także zdolnym do uruchamiania samodzielnych aplikacji. Ten moduł ma wbudowane złącze USB i bogaty asortyment wyprowadzeń. Za pomocą kabla micro USB możesz podłączyć devkit NodeMCU do laptopa i bez problemu sflashować go, tak jak Arduino
Specyfikacja
• Napięcie: 3,3V.
• Wi-Fi Direct (P2P), soft-AP.
• Pobór prądu: 10uA~170mA.
• Możliwość podłączenia pamięci Flash: maks. 16 MB (normalnie 512 tys.).
• Zintegrowany stos protokołów TCP/IP.
• Procesor: Tensilica L106 32-bitowy.
• Szybkość procesora: 80~160 MHz.
• Pamięć RAM: 32K + 80K.
• GPIO: 17 (multipleksowane z innymi funkcjami).
• Analogowo-cyfrowe: 1 wejście z rozdzielczością 1024 kroków.
• Moc wyjściowa +19,5 dBm w trybie 802.11b
• Obsługa 802.11: b/g/n.
• Maksymalna liczba jednoczesnych połączeń TCP: 5
Krok 2: Schemat pinów
Krok 3: DHT11 - czujnik wilgotności i temperatury
DHT11 to podstawowy, niedrogi cyfrowy czujnik temperatury i wilgotności. Wykorzystuje pojemnościowy czujnik wilgotności i termistor do pomiaru otaczającego powietrza i wypuszcza sygnał cyfrowy na pin danych (nie są potrzebne analogowe piny wejściowe). Jest dość prosty w użyciu, ale wymaga starannego wyczucia czasu, aby pobrać dane. Jedyną wadą tego czujnika jest to, że nowe dane można z niego pobierać tylko raz na 2 sekundy
Cechy
Kompensacja temperatury w pełnym zakresie
Pomiar wilgotności względnej i temperatury
Skalibrowany sygnał cyfrowy
Znakomita stabilność długoterminowa
Dodatkowe komponenty nie są potrzebne
Długa odległość transmisji
Niskie zużycie energii
Proces komunikacji (jednoprzewodowy dwukierunkowy)
Interesującą rzeczą w tym module jest protokół używany do przesyłania danych. Wszystkie odczyty czujników są przesyłane za pomocą magistrali jednoprzewodowej, co zmniejsza koszty i zwiększa odległość. Aby przesłać dane przez magistralę, musisz opisać sposób, w jaki dane będą przesyłane, aby nadajnik i odbiornik mogli zrozumieć, co mówi się nawzajem. To właśnie robi protokół. Opisuje sposób przesyłania danych. W DHT-11 magistrala danych 1-wire jest podciągnięta rezystorem do VCC. Więc jeśli nic się nie dzieje, napięcie na magistrali jest równe VCC. Format komunikacji można podzielić na trzy etapy
1) Prośba
2) Odpowiedź
3) Odczyt danych
Krok 4: Wprowadzenie do systemu operacyjnego Mongoose
Mongoose OS to system operacyjny typu open source dla małych systemów wbudowanych. Został zaprojektowany do działania na urządzeniach takich jak mikrokontrolery, które często są ograniczone pamięcią rzędu dziesiątek kilobajtów, jednocześnie udostępniając interfejs programistyczny, który zapewnia dostęp do nowoczesnych interfejsów API, które zwykle znajdują się na bardziej wydajnych urządzeniach. Urządzenie z systemem Mongoose OS ma dostęp do funkcji systemu operacyjnego, takich jak systemy plików i sieci, a także do oprogramowania wyższego poziomu, takiego jak silnik JavaScript i interfejsy API dostępu do chmury.
Narzędzie do flashowania systemu operacyjnego Mongoose
Narzędzie do flashowania służy do flashowania systemu operacyjnego Mongoose w ESP8266. Najpierw pobierz jedną z obsługiwanych płyt, na przykład ESP8266 NodeMCU, i podłącz ją do komputera, a następnie wykonaj następujące kroki:
Przejdź do strony pobierania Mongoose OS i pobierz narzędzie Mos. (Ale w tym projekcie będziemy używać starszej wersji systemu operacyjnego Mongoose)
Uruchom plik instalacyjny Mos (Mongoose OS) i postępuj zgodnie z instrukcjami kreatora instalacji:
Krok 5: Kreator instalacji Mongoose
Krok 6: Stan urządzenia - online
Po wykonaniu trzech kroków otrzymasz komunikat podany poniżej, a stan urządzenia stanie się online. Teraz nasz moduł ESP8266 jest w stanie komunikować się z dowolnymi urządzeniami zdalnymi
Krok 7: Udostępnij urządzenie w AWS IOT
Zanim będziemy mogli wysyłać zdarzenia do AWS, musimy być w stanie nawiązać bezpieczne połączenie z AWS IOT. W tym celu musimy wyposażyć ESP w certyfikaty AWS. W kreatorze instalacji Mongoose OS wybierz menu Device Config, a następnie wybierz odpowiedni region AWS i zasady AWS dla Twojego środowiska AWS. Kliknij przycisk Provision with AWS IOT. Urządzenie zostanie skonfigurowane z poprawnymi informacjami, aby połączyć się z usługą AWS. Certyfikaty zostaną zainstalowane automatycznie.
Notatka:
Użytkownik może wybrać odpowiedni region AWS i politykę AWS. W naszym scenariuszu wybraliśmy region AWS jako ap-southeast-1, a politykę AWS jako mos-default
Po zakończeniu udostępniania urządzenia na AWS IOT, teraz moduł Wi-Fi esp8266 może komunikować się z AWS -IOT
Krok 8: Ładowanie przykładowego kodu na płytkę NodeMCU
Po uruchomieniu kreatora instalacji Mongoose, jeśli klikniesz menu plików urządzeń, znajduje się plik o nazwie init.js. Wewnątrz tego pliku znajduje się przykładowy kod. Jeśli klikniesz przycisk Zapisz +Uruchom ponownie, przykładowy kod zostanie załadowany, a dane wyjściowe można przeglądać z dzienników urządzeń
Krok 9: Pierwsze kroki z kontem AWS
Co to jest AWS?
Amazon Web Services (AWS) to dostawca usług w chmurze firmy Amazon, który świadczy usługi w postaci bloków konstrukcyjnych, które można wykorzystać do tworzenia i wdrażania dowolnego typu aplikacji w chmurze. Te usługi lub bloki konstrukcyjne są zaprojektowane do współpracy ze sobą i dają w wyniku aplikacje, które są wyrafinowane i wysoce skalowalne.
Jak skonfigurować?
Istnieją dwa sposoby na skonfigurowanie usług AWS
Korzystanie z narzędzia wiersza poleceń AWS CLI
Korzystanie z GUI AWS
Krok 10: Narzędzie wiersza poleceń AWS CLI (opcjonalnie)
Najpierw musimy zainstalować AWS CLI. AWS CLI to narzędzie wiersza poleceń, które udostępnia polecenia do interakcji z usługami AWS. Umożliwia korzystanie z funkcjonalności zapewnianej przez AWS Management Console z poziomu terminala. Mongoose używa tego narzędzia do udostępniania urządzenia IOT w AWS IOT. AWS CLI potrzebuje Twoich poświadczeń, aby móc połączyć się z AWS. Aby dokonać instalacji, uruchom program aws configure z wiersza poleceń i wprowadź swoje informacje dostępowe (twoje dane uwierzytelniające). Krótko mówiąc, możesz uzyskać dostęp do Amazon Web Services i zarządzać nimi za pomocą prostego i intuicyjnego interfejsu użytkownika opartego na sieci Web. Jeśli obawiasz się, że masz dostęp do niektórych funkcji za pomocą telefonu komórkowego, aplikacja mobilna AWS Console umożliwia szybkie przeglądanie zasobów w podróży.
Krok 11: Amazon Web Services (GUI)
Po dostarczeniu z AWS możemy zalogować się do konsoli zarządzania AWS, pod zakładką usług mamy różne kategorie. Zanim zaczniemy poznawać funkcje tej konsoli, musisz utworzyć konto na AWS. Osoby nie posiadające konta mogą odwiedzić stronę AWS i założyć darmowe konto. Musisz podać dane swojej karty kredytowej/debetowej. AWS nie będzie pobierać opłat podczas bezpłatnej subskrypcji, o ile korzystasz z usług zgodnie z określonymi limitami.
Krok 12: Rdzeń AWS IOT
Po zalogowaniu zostaniesz przekierowany na następną stronę i pod Internetem rzeczy wybierz rdzeń IOT
Krok 13: AWS IOT - Monitorowanie
Po wybraniu rdzenia IOT pojawi się powyższa strona, a następnie wybierz menu testowe
Krok 14: AWS IOT - subskrypcje
Po wybraniu menu Test zostaniesz przekierowany do Subskrypcji. W temacie subskrypcji określ odpowiedni temat, którego używasz i kliknij przycisk Subskrybuj do tematu
Krok 15: Publikowanie domyślnej wiadomości
Następnie zostaniesz przekierowany na powyższą stronę. Jeśli klikniesz Opublikuj w temacie, otrzymamy przykładową wiadomość, która będzie wyświetlana tutaj domyślnie
Uwaga:Jeżeli chcesz napisać nowy kod i załadować na płytkę NodeMCU (Kod, który piszemy należy wczytać do menadżera plików urządzeń > plik init.js to należy w kodzie umieścić nazwę tematu. Po dodaniu nazwy tematu, musisz użyć tej samej nazwy tematu w sekcji subskrypcji, aby opublikować wynik
Krok 16: Publikowanie informacji o naciśnięciu przycisku
Krok 17: Opublikuj wartości temperatury i wilgotności na platformie AWS IOT
Krok 18: Zadanie
Podłącz obwód, jak pokazano poniżej
Flashuj system operacyjny mangusty na module ESP8266
Dostarcz urządzenie na AWS IOT
Załaduj kod programowania do płyty NodeMCU
Sprawdź dane wyjściowe w logach urządzenia (patrz rysunek 9)
Zaloguj się na konto AWS
Wybierz podmenu IOT core
Wybierz opcję Testuj z sekcji klienta MQTT
Określ odpowiedni temat w subskrypcjach
Kliknij przycisk opublikuj w temacie
Upewnij się, że za każdym razem, gdy naciskasz przycisk lampy błyskowej, otrzymujesz wartości temperatury i wilgotności jako komunikaty
Zalecana:
Pierwsze kroki z WeMos ESP8266: 6 kroków
Pierwsze kroki z WeMos ESP8266: W tej instrukcji uruchomimy przykład migającej diody LED na WeMos ESP8266
Pierwsze kroki z Pythonem dla ESP8266 i ESP32: 6 kroków
Pierwsze kroki z Pythonem dla ESP8266 i ESP32: Background ESP8266 i jego młodszy starszy brat ESP32 to tanie mikroczipy Wi-Fi z pełnym stosem TCP/IP i możliwościami mikrokontrolera. Chip ESP8266 po raz pierwszy zwrócił uwagę społeczności twórców w 2014 roku. Od tego czasu niska cena (
Pierwsze kroki z kamerą M5StickV AI + IOT: 6 kroków (ze zdjęciami)
Pierwsze kroki z kamerą M5StickV AI + IOT: Krótki przegląd M5StickV to maleńka kamera AI + IOT prawie o średnicy 2 monet, cena wynosi około 27,00 USD, co dla niektórych może wydawać się drogie jak na tak mały aparat, ale zawiera trochę przyzwoite specyfikacje. Aparat jest zasilany niesamowitym
Pierwsze kroki z AWS IoT z bezprzewodowym czujnikiem temperatury przy użyciu MQTT: 8 kroków
Pierwsze kroki z AWS IoT z bezprzewodowym czujnikiem temperatury przy użyciu MQTT: We wcześniejszych Instructables omówiliśmy różne platformy chmurowe, takie jak Azure, Ubidots, ThingSpeak, Losant itp. Używaliśmy protokołu MQTT do wysyłania danych z czujników do chmury prawie cała platforma w chmurze. Aby uzyskać więcej informacji
Wejście analogowe IoT - pierwsze kroki z IoT: 8 kroków
Wejście analogowe IoT - Pierwsze kroki z IoT: Zrozumienie wejść analogowych jest kluczową częścią zrozumienia, jak działają rzeczy wokół nas, większość, jeśli nie wszystkie czujniki, to czujniki analogowe (czasami te czujniki są konwertowane na cyfrowe). W przeciwieństwie do wejść cyfrowych, które mogą być tylko włączone lub wyłączone, wejście analogowe