Spisu treści:
- Krok 1: Komponenty sprzętowe
- Krok 2: Utwórz konto w IBM Watson IoT i zarejestruj swoje urządzenie
- Krok 3: Opracuj aplikację Node-RED do analizy nastrojów
- Krok 4: Szkic Arduino
- Krok 5: Podłącz swój kubek
Wideo: Podłączony kubek: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Czasami rano, popijając kawę przed pójściem do biura, chciałbym zobaczyć, czego oczekuje ode mnie w skrzynce odbiorczej. tj. liczba i ton otrzymanych e-maili… czy projekt, który właśnie ukończyłem dzień wcześniej, działa, czy nie i czy są na jego temat pozytywne lub negatywne komentarze. Z drugiej strony nie mam nic przeciwko otwieraniu aplikacji klienta poczty na telefonie komórkowym i czytaniu e-maili podczas śniadania.
Z tych rozważań wywodzi się idea tego projektu; używa kubka do kawy wzbogaconego diodami LED, które zmieniają swoje kolory w oparciu o wynik analizy sentymentu wykonanej na ostatnich nieprzeczytanych wiadomościach otrzymanych na moim koncie e-mail. Wystarczy podłączyć kubek, a diody LED zmienią kolor na zielony, jeśli ostatnio odbierane wiadomości e-mail będą miały pozytywne wiadomości, czerwony kolor na odwrót.
Analiza sentymentu nieprzeczytanych wiadomości e-mail jest wykonywana przez usługi IBM Watson IoT. Płytka Arduino MKR1000 służy do sterowania paskiem LED oraz do łączenia się z usługami IBM Watson IoT przez WiFi za pomocą protokołu MQTT.
Krok 1: Komponenty sprzętowe
Płyta rozwojowa sprzętu:
Arduino MKR1000
Zestawienie komponentów sprzętu
- 3x rezystory 100ohm
- 3x tranzystory NPN TIP122
- 1x gniazdo zasilania
- 1x Taśma świetlna LED RGB (AglaiaLT-S2)
- Zapasowe kable
Okablowanie do sterowania paskiem LED z Arduino MKR1000 oparte jest na tym samouczku:
Krok 2: Utwórz konto w IBM Watson IoT i zarejestruj swoje urządzenie
Aby stworzyć aplikację w chmurze, która będzie w stanie wykonywać analizę sentymentu nieprzeczytanych wiadomości e-mail za pomocą IBM Watson IoT, konieczne jest najpierw założenie bezpłatnego konta testowego (https://www.ibm.com/internet-of-things/trial/). Drugim krokiem jest stworzenie aplikacji na platformę Watson IoT i zarejestrowanie płyty Arduino MKR1000; jest to teraz standardowa procedura łączenia platform sprzętowych z IBM Watson IoT i jest dobrze udokumentowana w przewodnikach IBM Quickstart:
console.ng.bluemix.net/docs/services/IoT/i…
IBM dostarcza również szablonowe szablony dla IoT, które przyspieszają te kroki, ograniczając usługi i środowiska wykonawcze potrzebne do uruchomienia aplikacji IoT. W tym projekcie wykorzystano IoT for Electronics Starter Boilerplate.
Instrukcja rejestracji urządzenia krok po kroku znajduje się tutaj:
console.ng.bluemix.net/docs/services/IoT/i…
Zanotuj swoje org-id, credential, device-id i device-type po zakończeniu procedury rejestracji urządzenia, ponieważ będą one potrzebne do skonfigurowania Arduino Sketch i aplikacji NodeRED.
Krok 3: Opracuj aplikację Node-RED do analizy nastrojów
NodeRED to wizualne narzędzie, które można wykorzystać w platformie IBM Watson IoT do tworzenia aplikacji okablowania urządzeń i usług w chmurze (nodered.org).
Opracowana aplikacja NodeRED jest bardzo prosta i składa się z dwóch przepływów, jednego do analizy sentymentu wiadomości e-mail, a drugiego do rejestrowania stanu Arduino MKR1000 (wynik sentymentu otrzymany przez urządzenie i kombinacja RGB dla wyświetlanej diody LED).
Pierwszy przepływ łączy się okresowo z kontem e-mail i pobiera ostatnie nieprzeczytane wiadomości e-mail; konfiguracja zależy od Twojego konta e-mail. Każdy otrzymany e-mail jest wysyłany do pola analizy sentymentu, które zwraca wynik (mniejszy lub wyższy od 0) na podstawie negatywnej/pozytywnej treści analizowanego tekstu (patrz informacje https://github.com/thisandagain/sentiment/blob/mas… dla więcej szczegółów). Wynik sentymentu jest wysyłany do prostego okna funkcyjnego, które oblicza średnią ostatnich otrzymanych danych i przekazuje wynik do następnego węzła. Wreszcie ostatni blok wysyła wiadomość zawierającą wartość wyniku sentymentu do podłączonego urządzenia za pomocą protokołu MQTT; ten blok musi być skonfigurowany z poświadczeniami wygenerowanymi podczas procesu rejestracji urządzenia.
Drugi przepływ służy do celów testowych w celu wizualizacji stanu płyty Arduino; łączy wejściowy węzeł IoT dla płyty Arduino ze stroną internetową IBM quickstart w celu wizualizacji danych (https://quickstart.internetofthings.ibmcloud.com/). Węzeł wejściowy IoT jest skonfigurowany jak powyżej, aby otrzymywać komunikaty o stanie z płyty Arduino za pomocą protokołów MQTT. Komunikaty o stanie zawierają wynik sentymentu i kombinację RGB dla diod LED aktualnie używanych w Arduino.
Aplikacja Node-RED została wyeksportowana do schowka i dołączona tutaj jako plik.txt.
Krok 4: Szkic Arduino
Szkic Arduino oparty jest na bibliotece klienta MQTT autorstwa Gilberto Conti (https://github.com/256dpi/arduino-mqtt), która została zmodyfikowana do połączenia z IBM Watson IoT. Kod składa się z trzech części:
- setup(): połącz się z WiFi AP i brokerem IBM MQTT; zarejestrować wywołanie zwrotne dla wiadomości otrzymanych z IBM Watson IoT
- loop(): ustaw pin RGB do sterowania diodami LED; wyślij do IBM Watson IoT status urządzenia (RGB i wynik sentymentu)
- messageReceived(…): wywołanie zwrotne wywołane odebraniem wiadomości z wynikiem sentymentu z aplikacji Watson IoT. Wynik jest mapowany na wartość RGB (ujemny: czerwony; dodatni: zielony).
Skonfiguruj kod w następujący sposób, na podstawie danych uwierzytelniających wygenerowanych podczas procedury rejestracji urządzenia (identyfikator org, typ urządzenia, identyfikator urządzenia):
- MQTT_MODE = IBM_API_KEY
- char *client_id = "d:identyfikator-twojego-organizacji:typ-twojego-urządzenia:id-twojego-urządzenia";
- char *user_id = "użyj-token-auth";
- char *hasło = "twoje-hasło";
- char *ibm_hostname = "identyfikator-twojej-organizacji.messaging.internetofthings.ibmcloud.com";
Aplikacja subskrybuje temat iot-2/cmd/+/fmt/string, a wywołanie zwrotne messageReceived analizuje komunikaty pod kątem sentymentu typu polecenia.
Komunikaty o stanie są publikowane w temacie: iot-2/evt/status/fmt/json
Uwaga: pamiętaj o aktualizacji certyfikatu SSL dla MKR1000; postępuj zgodnie z instrukcjami tutaj: https://github.com/arduino-libraries/WiFi101-Firm… i wprowadź nazwę hosta_ibm, aby pobrać i zainstalować certyfikaty główne w MKR1000.
W załączeniu szkic Arduino.
Krok 5: Podłącz swój kubek
Byłoby fajnie zrobić trochę więcej integracji elektroniki i diod LED w kubku, ale do tego projektu po prostu przykleiłem pasek LED wokół kubka, jak pokazano na zdjęciu.
Następnie podłączam taśmę LED do obwodu płytki stykowej, zasilam diodę LED oraz Arduino MKR1000 i czekam na otrzymanie wiadomości z sentymentem z aplikacji NodeRED. Na zdjęciu testowałem na przykład wysyłając na moje konto maile zawierające tekst typu "Świetna robota!, Twój projekt jest wspaniały!" itp.
Możliwe jest również sprawdzenie na publicznej stronie IBM Quickstart (https://quickstart.internetofthings.ibmcloud.com) stanu aplikacji Arduino w czasie rzeczywistym (wyświetlany kod RGB i otrzymany wynik sentymentu); wystarczy wprowadź identyfikator urządzenia..
Teraz mogę wreszcie cieszyć się kawą w podłączonym kubku.
Zalecana:
Kubek z wyświetlaczem E-Ink: 8 kroków (ze zdjęciami)
Kubek E-Ink Display: To jeden z tych szalonych pomysłów, które spontanicznie zalegają w moim mózgu. Pomyślałem, czy nie byłoby wspaniale, gdyby był kubek do kawy, który można by dostosować w locie? Taki, który wyglądał jak zwykła filiżanka do kawy. Poszukałem i
Wentylator podłączony do Internetu dla Zwift: 7 kroków (ze zdjęciami)
Wentylator podłączony do Internetu dla Zwift: Stworzyłem wentylator podłączony do Internetu do użytku z Zwift, wirtualną grą wyścigową / systemem treningowym. Kiedy jedziesz szybciej w Zwift, wentylator obraca się szybciej, aby symulować warunki jazdy na zewnątrz.;) Miałem dobrą zabawę, budując to, mam nadzieję, że ci się spodoba
Podłączony termostat: 6 kroków (ze zdjęciami)
Podłączony termostat: Dokładne monitorowanie temperatury w domu to zdecydowanie jeden z najlepszych sposobów na zaoszczędzenie na rachunkach za energię. Jednocześnie chcesz czuć się dobrze w ciepłym domu w okresie zimowym.Mój aktualny termostat pozwala tylko na programowanie statyczne: Ja
TfCD E-tekstylny termoczuły uchwyt na kubek: 5 kroków (ze zdjęciami)
TfCD E-textile Termoresponsywny uchwyt na kubek: Dzięki zastosowaniu e-tekstyli ten uchwyt na kubek informuje, kiedy twoja herbata ma idealną temperaturę do picia. Składa się z bawełnianego rękawa z obwodem elektrycznym, który zawiera wiele diod LED i czujnik temperatury
Tani termostat podłączony do Internetu: 12 kroków (ze zdjęciami)
Tani termostat podłączony do Internetu: Jednym z pierwszych produktów Internetu Rzeczy, który trafił do wielu gospodarstw domowych, jest inteligentny termostat. Mogą dowiedzieć się, kiedy chcesz, aby Twój dom się ogrzał i jaka temperatura w pomieszczeniu jest zwykle wymagana. Fajne jest to, że mogą również