Spisu treści:

Czujnik gazu IoT: 7 kroków
Czujnik gazu IoT: 7 kroków

Wideo: Czujnik gazu IoT: 7 kroków

Wideo: Czujnik gazu IoT: 7 kroków
Wideo: Jak przetestować czujnik czadu? Prezentujemy: Alarm Test CO. 2024, Lipiec
Anonim
Image
Image
Koncepcja
Koncepcja

Chciałem stworzyć czujnik gazu, który może wykryć wyciek gazu w domu. Praktyczne zastosowanie tego, aby upewnić się, że nie pozostawisz pieca bez ognia, co spowoduje zatrucie gazem. Innym zastosowaniem może być upewnienie się, że nie przegotowałeś zbyt długo lub nie pozostawiłeś patelni na ogniu zbyt długo, co skutkuje jedzeniem z węgla drzewnego. To ostatnie wydaje się trudniejsze w praktyce i trzeba się nad tym zastanowić. Dlatego ponownie używam podobnej koncepcji do czujnika temperatury IoT, aby później zbudować dane na serwerze sieciowym, aby uniknąć kłopotów z otwieraniem portów na routerze.

Krok 1: Koncepcja

Pomysł polega na podłączeniu czujnika do ESP8266 i monitorowaniu ilości gazu w powietrzu. Gdy ilość gazu osiągnie określony próg, wywoła to alarm (brzęczyk). Dane dotyczące gazu będą również okresowo przesyłane do chmury (serwera internetowego), co umożliwia zdalny dostęp i monitorowanie gazu. Jeśli dane są gromadzone w bazie danych w danym okresie, można je wykreślić na wykresie, aby pokazać trend.

Krok 2: Użyte materiały

Użyte materiały
Użyte materiały
Użyte materiały
Użyte materiały
Użyte materiały
Użyte materiały

Oto lista materiałów użytych w tej konstrukcji:

- ESP8266 - To będzie mózg, który pozwoli nam łączyć rzeczy z Internetem

- Czujnik gazu MQ-5

- Brzęczyk

ESP8266 to fantastyczny moduł, który pozwala łączyć się z internetem, zastosowany czujnik gazu MQ5 umożliwia 2 tryby pracy, tryb cyfrowy i tryb analogowy. Pozwala nam również regulować czułość gazową za pomocą rezystora zmiennego na płycie czujnika.

Krok 3: Schemat połączeń

Diagram połączeń
Diagram połączeń
Diagram połączeń
Diagram połączeń

Podłączamy czujnik gazu MQ-5 do wejścia analogowego (AD0) ESP8266, jak pokazano na schemacie. Brzęczyk jest podłączony do Pin GND i D3.

W tym przykładzie korzystamy z wyjścia analogowego czujnika, które pozwala nam na monitorowanie znacznie większego zakresu gazu. Można również użyć wyjścia cyfrowego czujnika, ale należy je odpowiednio skalibrować, aby zapewnić pożądany wyzwalacz po wykryciu określonego składu gazu.

Drugie zdjęcie przedstawia połączenie za pomocą płytki prototypowej. Podłączyliśmy czujnik i brzęczyk. ESP8266 jest zasilany napięciem 3,3 V. Płytka umożliwia podłączenie USB, które konwertuje napięcie 5V na 3,3 V używane przez płytkę.

Po podłączeniu możesz podłączyć połączenie USB do komputera PC lub Mac, aby umożliwić przesłanie kodu przez Arduino IDE. Jeśli nie znasz Arduino IDE, możesz sprawdzić mój inny wpis Instructables, który pomoże ci zacząć.

Krok 4: Konfiguracja serwera WWW

Konfiguracja serwera WWW
Konfiguracja serwera WWW

Warunek: jesteś zaznajomiony z konfiguracją serwera WWW, przesyłaniem plików przez FTP, tworzeniem katalogów wirtualnych i skryptami serwera. Jeśli nie jesteś zaznajomiony, nie martw się, zawsze możesz poprosić swojego geekowego przyjaciela, aby pomógł ci w tym kroku.

Pobierz plik „IoTGasSensorWebserver.zip” i rozpakuj go do katalogu głównego serwera WWW za pomocą ulubionego oprogramowania FTP lub do dowolnych katalogów wirtualnych. W tym przykładzie zakładam, że serwer to „https://arduinotestbed.com”

Skrypt php, który wywoła ESP8266, nazywa się „gasdata_store.php”. w tym przykładzie zakładamy, że pełna ścieżka do tego pliku to „https://arduinotestbed.com/gasdata_store.php”

Jeśli poprawnie załadowałeś pliki, możesz sprawdzić, czy wszystko działa, wskazując w przeglądarce następujący link "https://arduinotestbed.com/GasData.php"

Powinieneś zobaczyć podobną stronę jak na powyższym obrazku z pokrętłem danych gazu.

Jeszcze jedna rzecz, którą musisz upewnić się, że plik „gas.txt” musi być zapisywalny, więc musisz ustawić uprawnienia tego pliku na „666” za pomocą następującego polecenia uniksowego:

chmod 666 gas.txt

Można to również zrobić za pomocą oprogramowania FTP lub menedżera plików na twoim hostingu.

Ten plik jest miejscem, w którym dane czujnika zostaną przesłane przez ESP8266.

Krok 5: Kodeks

Kod
Kod

Po zakończeniu konfiguracji możesz otworzyć Arduino IDE i pobrać powyższy szkic. Wyodrębnij plik zip, a w sumie powinieneś mieć 2 pliki:

-ESP8266GasSensor.ino

- strona główna.h

- ustawienia.h

Umieść je wszystkie w tym samym folderze i otwórz "ESP8266GasSensor.ino" w Arduino IDE, a następnie dokonaj niewielkiej modyfikacji kodu, aby wskazywał prawidłową lokalizację serwera WWW pokazaną na powyższym obrazku.

Zmodyfikuj również następujący wiersz, aby dopasować plik w lokalizacji serwera WWW.

String weburi = "/gasdata_store.php"

Następnie skompilowałem szkic, wybierając przycisk „zaznacz” u góry Arduino IDE. Jeśli wszystko pójdzie dobrze, Twój kod powinien się pomyślnie skompilować.

Następnym krokiem jest wgranie kodu do ESP8266, w tym celu możesz kliknąć przycisk "=>" na interfejsie Arduino, co powinno załadować twój kod do ESP8266. Jeśli wszystko pójdzie dobrze, powinieneś mieć działający AP (punkt dostępu) z ESP8266 przy pierwszym uruchomieniu. Nazwa AP to „ESP-GasSensor”.

Spróbuj połączyć się z tym punktem dostępowym za pomocą laptopa lub telefonu komórkowego, a następnie dowiedz się, jaki jest adres IP, który został ci przypisany, można to zrobić za pomocą polecenia „ipconfig” w systemie Windows lub polecenia „ifconfig” w systemie Linux lub Mac. Jeśli używasz iPhone'a, możesz kliknąć przycisk „i” obok czujnika gazu ESP, do którego jesteś podłączony. Otwórz przeglądarkę internetową i wskaż adres IP ESP-GasSensor, jeśli masz przypisany adres 192.168.4.10 jako up, ESP-GasSensor ma adres IP 192.168.4.1, więc możesz skierować przeglądarkę internetową na http:/ /192.168.4.1 Powinieneś zobaczyć stronę ustawień, na której możesz wprowadzić konfigurację Wi-Fi. Po wprowadzeniu punktu dostępu Wi-Fi, który łączy się z Internetem, zaznacz pole wyboru „Aktualizuj konfigurację Wifi” i kliknij „Aktualizuj”, aby zapisać ustawienia w ESP8266.

ESP8266 uruchomi się teraz ponownie i spróbuje połączyć się z routerem WiFi. Jeśli wszystko pójdzie dobrze, powinieneś zobaczyć, jak dane dotyczące gazu są aktualizowane na twoim serwerze internetowym w regularnych odstępach czasu. W tym przykładzie możesz skierować przeglądarkę na „https://arduinotestbed.com/GasData.php”

Gratulacje!! jeśli uda ci się dotrzeć do tej części. Powinieneś poklepać się po plecach. Teraz możesz powiedzieć znajomym o posiadanym czujniku gazu.

Krok 6: Co dalej

Co dalej
Co dalej

Możesz ponownie skalibrować alarm czujnika, aby dopasować go do swoich potrzeb.

To nie tylko na pokaz, powinno uruchamiać się i alarmować, gdy próg gazu osiągnie określony poziom. Zależy od typu czujnika, którego używasz, będziesz musiał go skalibrować. Więc idź weź zapalniczkę i skieruj zapalniczkę w stronę czujnika, a bez zapalania zapalniczki naciśnij przycisk uwalniania gazu na zapalniczce, aby gaz popłynął do czujnika. To powinno wyzwolić brzęczyk. Jeśli nie, to musisz sprawdzić, czy odczyt rośnie, patrząc na serwer WWW. Jeśli to nie działa, musisz sprawdzić połączenie, czujnik i brzęczyk. Jeśli wszystko pójdzie dobrze, brzęczyk powinien wydać dźwięk.

Próg w kodzie jest ustawiony na 100, powinieneś go znaleźć w następującej sekcji kodu:

podwójny próg = 100;

Możesz zmienić próg na wyższy lub niższy w zależności od potrzeb.

Mam nadzieję, że podoba Ci się ten projekt. Jeśli tak, napisz do mnie i zagłosuj na mnie w konkursie IoT i zasubskrybuj mój blog, aby uzyskać prostsze projekty Arduino.

Kilka końcowych myśli, możesz zapisać odczyt gazu do bazy danych za pomocą sqllite lub czegoś bardziej wydajnego. Umożliwi to wykreślenie wykresu podobnego do powyższego. Nie tylko po to, aby wyglądać schludnie, ale także po to, aby pomóc w kalibracji czujników. Na przykład, jeśli chcesz umieścić to w celu monitorowania wycieku gazu na kuchence, możesz zostawić go z odczytem pomiaru przez kilka dni, a następnie pobrać odczyt, aby zobaczyć, jak wyglądają wzorce przy normalnym użytkowaniu, a następnie możesz ustawić wyzwalacz dla wyjątków od reguły, gdy odczyt wykracza poza normalny poziom.

Zalecana: