Spisu treści:
- Krok 1: Eksperyment
- Krok 2: Sprzęt
- Krok 3: Google Cloud - rejestracja
- Krok 4: Google Cloud – Pub/Sub
- Krok 5: Google Cloud - rdzeń IOT
- Krok 6: Google Cloud - funkcje w chmurze
- Krok 7: Google Cloud – Cloud DataStore
- Krok 8: Google Cloud – BigQuery
- Krok 9: Google Cloud - Studio danych
- Krok 10: Faza przewidywania
- Krok 11: Kod
Wideo: Wykrywacz zatkania odpływu: 11 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Nie pozwól, aby zatkany odpływ Cię spowolnił! Wracając z wakacji byliśmy zaskoczeni wodą pokrywającą podłogę naszego mieszkania i dowiedzieliśmy się, że to nie jest nawet czysta woda, wszędzie ścieka. Po wyczyszczeniu odpływu i wyczyszczeniu podłogi miałem takie pytanie: dlaczego nie mamy systemu alarmowego na potencjalne zatkanie odpływu? Zatkane odpływy nie tylko mogą zatrzymać Twój dom, ale pochłoną dodatkowe koszty z Twoich kieszeni. Według HomeAdvisor średnio 206 USD to koszt oczyszczenia zatkanego odpływu, oprócz ukrytych kosztów uszkodzonych dywanów, drewnianych mebli itp. Naszą ideą jest umożliwienie właścicielom domów, a także przedsiębiorstwom, takim jak wydziały utrzymania miasta/związków oraz wyspecjalizowanym usługodawcom, posiadanie wydajnego i inteligentnego systemu, który jak najwcześniej będzie ostrzegał osoby odpowiedzialne za podjęcie działań, co przyczynia się do wzbogacenia inteligentnych miast o ważny funkcja.
Idea Chociaż wykrywanie zatorów można wykonać za pomocą wielu technik, takich jak czujniki gazu lub mechanizmy wewnętrzne, nasz zespół skupił się na wykorzystaniu dźwięku jako sygnału wejściowego, ponieważ wiemy, że pukanie w otwartą rurkę jest innym dźwiękiem niż ten, który się wydarzył podczas zamykania. Zgodnie z tą prostą koncepcją, jeśli potrafimy wytrenować model wzorców dźwiękowych występujących na powierzchni rur podczas zatykania się, a także tych, które występują w otwartych rurach, możemy następnie zastosować model do proaktywnego wykrywania, kiedy zatkanie zaczyna się komponować, a następnie zadzwoń kilka rachunków.
Kredyty dla
- Mohamed Hassan
- Ahmed Emam
Szczegółowy projekt W projekcie realizowane są 3 fazy: Zbieranie danych, Nauka i przewidywanie.
Przed zastosowaniem tego systemu w prawdziwym życiu, musieliśmy stworzyć wymuszone środowisko symulacyjne, w którym mamy rurę, płynącą wodę i jakoś symulujemy zatkanie. Więc dostaliśmy rurkę, wąż ze źródłem wody, robiąc to w wannie i używając powierzchni wanny do zamknięcia rurki, która reprezentuje zatkanie. W tym filmie wyjaśniamy, w jaki sposób zbudowaliśmy środowisko i jak zbieraliśmy dane do trenowania modelu.
A w następnym filmie, pokazującym, jak przeprowadziliśmy testy systemu i modelu, w trybie otwartym, a następnie w trybie zatykania i z powrotem do trybu otwartego
Przyjrzyjmy się więc krok po kroku naszej implementacji:
Krok 1: Eksperyment
W tym scenariuszu używamy małej fajki wodnej połączonej z naszym sprzętem i czujnikiem dźwięku. Sprzęt odczytuje wartość czujnika i wysyła ją z powrotem do chmury. Zostało to zrobione przez 10 minut dla zablokowanej probówki, a następnie kolejne 10 minut dla probówki, która nie jest zablokowana.
Krok 2: Sprzęt
I- Arduino
Aby wykryć dźwięk wody wewnątrz rury, potrzebujemy czujnika dźwięku. Jednak Raspberry Pi 3 nie ma analogowego GPIO. Aby poradzić sobie z tym problemem, używamy Arduino, ponieważ Arduino ma analogowe GPIO. Podłączamy więc czujnik Grove Sound do nakładki Grove Arduino, a Shield do Arduino UNO 3. Następnie łączymy Arduino i Raspberry za pomocą kabla USB. Więcej informacji na temat czujnika Grove Sound można znaleźć w jego karcie katalogowej. W karcie katalogowej można znaleźć przykładowy kod, jak odczytać wartości czujnika. Przykładowy kod jest prawie używany w przypadku niewielkich zmian. W poniższym kodzie podłączamy czujnik do A0 w nakładce. Do pisania na serialu używamy funkcji Serial.begin(). Aby komunikować się z Raspberry, prędkość transmisji ustawiona na 115200 Dane zostaną wysłane do Raspberry, jeśli przekroczy określony próg w celu zmniejszenia szumu. Przeprowadzono wiele prób, aby wybrać żądane wartości progowe i opóźnienia. Stwierdzono, że próg wynosi 400, a wartość opóźnienia wynosi 10 milisekund. Próg został wybrany w celu filtrowania normalnego szumu i zapewnienia, że do chmury będą wysyłane tylko istotne dane. Opóźnienie zostało wybrane z dala, aby czujnik natychmiast wykrył wszelkie zmiany w dźwięku przepływu wewnątrz rurki.
II- Raspberry Pi 3Aby pobrać rzeczy z Androidem na Raspberry, możesz pobrać najnowszą wersję z konsoli Android Things. W tym projekcie używamy wersji: OIR1.170720.017. postępuj zgodnie z instrukcjami na stronie Raspberry, aby zainstalować system operacyjny na Raspberry, dla Windows możesz skorzystać z tych kroków Po instalacji możesz podłączyć Raspberry do komputera za pomocą USB. Następnie w konsoli komputera użyj poniższego polecenia, aby uzyskać adres IP Raspberry
nmap -sn 192.168.1.*
Po uzyskaniu adresu IP połącz się z Raspberry za pomocą poniższego polecenia
połączenie adb
Aby podłączyć Raspberry do Wi-Fi (dodaj swój identyfikator SSID i hasło)
adb am startservice
-n com.google.wifisetup/. WifiSetupService
-a WifiSetupService. Połącz
-e identyfikator *****
-e hasło ****
Krok 3: Google Cloud - rejestracja
Google oferuje bezpłatny poziom dla wszystkich użytkowników przez rok z pułapem 300 $, Dzięki Google:). Postępuj zgodnie z ekranami, aby utworzyć nowy projekt w Google Cloud
Krok 4: Google Cloud – Pub/Sub
Google Cloud Pub/Sub to w pełni zarządzana usługa do przesyłania wiadomości w czasie rzeczywistym, która umożliwia wysyłanie i odbieranie wiadomości między niezależnymi aplikacjami.
Krok 5: Google Cloud - rdzeń IOT
II- IOT CoreW pełni zarządzana usługa do łatwego i bezpiecznego łączenia, zarządzania i pozyskiwania danych z urządzeń rozproszonych na całym świecie. IOT Core nadal Beta, aby mieć do niego dostęp, musisz złożyć prośbę z uzasadnieniem do Google. Złożyliśmy prośbę, naszym uzasadnieniem był ten konkurs. Zatwierdzone przez Google, Jeszcze raz dziękuję Google:). Raspberry wyśle dane z czujników do IOT Core, które przekażą odczyty do utworzonego w poprzednim kroku tematu PubSub
Krok 6: Google Cloud - funkcje w chmurze
Cloud Functions to bezserwerowe środowisko do tworzenia i łączenia usług w chmurze. Wyzwalaczem dla tej funkcji jest temat PubSup utworzony w kroku 1.;; Ta funkcja zostanie uruchomiona, gdy nowa wartość zostanie zapisana w PubSup i zapisze ją w Cloud DataStore z rodzajem „SoundValue”
Krok 7: Google Cloud – Cloud DataStore
Google Cloud Datastore to baza danych dokumentów NoSQL stworzona z myślą o automatycznym skalowaniu, wysokiej wydajności i łatwości tworzenia aplikacji. Chociaż interfejs Cloud Datastore ma wiele takich samych funkcji jak tradycyjne bazy danych, jako baza danych NoSQL różni się od nich sposobem, w jaki opisuje relacje między obiektami danych. Nie ma potrzeby żadnej konfiguracji, ponieważ gdy Cloud Functions zapisze wartości czujnika do DataStore, dane zostaną dodane do DataStore
Krok 8: Google Cloud – BigQuery
Pobieramy próbkę 10 min z normalnej rury i 10 min z zablokowanej rury z różnicą dokładnie 1 godziny między 2 iteracjami. Po pobraniu danych DataStore i dokonaj manipulacji, aby dodać klasyfikację dla każdego wiersza. Teraz mamy 2 pliki csv, po jednym dla każdej kategorii. Najlepszym rozwiązaniem jest przesyłanie plików CSV z danymi najpierw do Cloud Storage. Na poniższym ekranie tworzymy nowy zasobnik i przesyłamy dwa pliki CSV Ponieważ ten zasobnik będzie używany tylko do analizy, nie trzeba wybierać zasobnika wieloregionalnego Następnie utwórz nowy zbiór danych i nową tabelę w BigQuery i prześlij dwa pliki CSV z zasobnika do nowy stół
Krok 9: Google Cloud - Studio danych
Następnie używamy Data Studio do wyciągnięcia pewnych wniosków. Studio danych odczyta dane z tabeli BigQuery. Z wykresów widać różnicę między 2 kategoriami pod względem liczby telemetrii i sumy wartości na minutę. W oparciu o te spostrzeżenia możemy zaprojektować prosty model, rura jest uważana za zablokowana, jeśli w ciągu 3 kolejnych minut liczba wartości telemetrii, które są wyższe niż próg szumu (400) przekracza 350 telemetrii. aw ciągu 3 kolejnych minut liczba telemetrii, która jest wyższa niż próg iskry (720), wynosi więcej niż 10 telemetrii.
Krok 10: Faza przewidywania
Odnosimy się do odczytu, gdy przekracza pewną wartość (THRESHOLD_VALUE), która została ustawiona na 350, która filtruje hałas i niższe prędkości przepływu wody w rurze, aby nie był uważany za odczyt
Analiza danych wykazała, że w trybie otwartym liczba odczytów jest mniejsza niż 100, ale w trybie zatykania wartości są znacznie wyższe (osiągnęły 900 na minutę), ale w rzadkich przypadkach były również mniejsze niż 100. Jednak te przypadki nie są konsekwentnie powtarzane, a przez trzy kolejne minuty, całkowita liczba odczytów zawsze przekraczała 350. Mając tryb otwarty w tych samych trzech minutach sumuje się mniej niż 300, moglibyśmy śmiało sformułować tę zasadę: Reguła nr 1 Przez trzy minuty surowe, jeśli suma odczytów > 350, wtedy wykryto zatkanie. Stwierdziliśmy, że maksymalna wartość osiągnięta w trybie otwartym nie przekracza pewnej wartości (SPARK_VALUE), która wynosi 770, więc dodaliśmy następującą regułę: Reguła #2 Jeśli wartość odczytu > 350, najczęściej wykrywane jest zatkanie.
Połączenie obu reguł dało nam łatwy sposób na zaimplementowanie logiki wykrywania, jak pokazano. Zauważ, że poniższy kod został wdrożony na Arduino, który następnie ocenia otrzymane telemetrie w oparciu o nasz model i wysyła do Raspberry, jeśli rura jest zatkana lub otwarta.
Krok 11: Kod
Cały kod dla Arduino, Raspberry i funkcji chmury można znaleźć na Github.
Więcej informacji znajdziesz pod tym linkiem
Zalecana:
Bezprzewodowy wykrywacz prądu AC: 7 kroków (ze zdjęciami)
Bezprzewodowy wykrywacz prądu AC: Podczas tworzenia mojego poprzedniego Instructable (łatwego czujnika zbliżeniowego na podczerwień) odkryłem kilka rzeczy na temat używania 2 tranzystorów z rzędu w celu wzmocnienia bardzo słabego sygnału. W tym Instruktażu omówię tę zasadę, która jest również nazywana &quo
Prosty wykrywacz metali Arduino: 8 kroków (ze zdjęciami)
Prosty wykrywacz metali Arduino: *** Opublikowano nową wersję, która jest jeszcze prostsza: https://www.instructables.com/Minimal-Arduino-Metal-Detector/ ***Wykrywanie metali to świetna okazja, na zewnątrz, odkrywaj nowe miejsca, a może znajdziesz coś ciekawego. Sprawdź
Wykrywacz odległości społecznej: 7 kroków (ze zdjęciami)
Social Distance Detector: Social Distance Detector: Nazywam się Owen O z Denver Colorado iw tym roku będę w 7 klasie. Mój projekt nazywa się Social Distance Detector! Idealne urządzenie do zachowania bezpieczeństwa w tych trudnych czasach. Cel Social Distance Detector
Wykrywacz masek COVID-19: 6 kroków (ze zdjęciami)
Wykrywacz masek COVID-19: Ze względu na wpływ epidemii koronawirusa (COVID 19), tylko personel może przechodzić przez wejście i wyjście z budynku biurowego Makerfabs i musi nosić maski NFC specjalnie dostosowane przez Makerfabs, do których nie mają dostępu osoby postronne . Ale niektórzy ludzie
Wykrywacz dymu IOT: Zaktualizuj istniejący wykrywacz dymu za pomocą IOT: 6 kroków (ze zdjęciami)
IOT Smoke Detector: Update Existing Smoke Detector With IOT: List of contributor,Inventor:Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Kierownik: Dr Chia Kim Seng Wydział Inżynierii Mechatroniki i Robotyki, Wydział Inżynierii Elektrycznej i Elektronicznej, Universiti Tun Hussein Onn Malezja.Dystrybuuj