Spisu treści:

Bezprzewodowy czujnik temperatury i ruchu IoT: 11 kroków (ze zdjęciami)
Bezprzewodowy czujnik temperatury i ruchu IoT: 11 kroków (ze zdjęciami)

Wideo: Bezprzewodowy czujnik temperatury i ruchu IoT: 11 kroków (ze zdjęciami)

Wideo: Bezprzewodowy czujnik temperatury i ruchu IoT: 11 kroków (ze zdjęciami)
Wideo: Jak podłączyć czujnik ruchu OSPEL ŁP-16 - montaż konfiguracja instrukcja test | ForumWiedzy 2024, Lipiec
Anonim
Bezprzewodowy czujnik temperatury i ruchu IoT
Bezprzewodowy czujnik temperatury i ruchu IoT

Zainspirowało mnie wiele projektów IoT, które są w Instructables, więc w procesie uczenia się staram się połączyć kilka przydatnych aplikacji, które są istotne. Jako rozszerzenie moich poprzednich instrukcji dotyczących czujnika temperatury IoT, dodałem teraz więcej możliwości do podsystemu. Dodatkowa funkcjonalność to:

- Połączenie NTP, aby uzyskać czas

- LED, który można zdalnie sterować

-Czujnik PIR do wykrywania ruchu

- Podłączony zestaw domowy Raspberry PI z systemem umożliwiającym połączenie z iPhone'em "Home"

Krok 1: Koncepcja, łączność i komponenty

Koncepcja, łączność i komponenty
Koncepcja, łączność i komponenty

Przedstawiona powyżej koncepcja polega na umożliwieniu zdalnego monitorowania temperatury z dodatkową możliwością wykrywania ruchu, jeśli ktoś jest w domu, i umożliwia powiadamianie za pomocą diody LED. Dostęp do urządzenia można uzyskać lokalnie w sieci LAN lub zdalnie przez serwer WWW. Możesz również podłączyć Raspberry pie (opcjonalnie) z zainstalowanym akcesorium Homekit, aby umożliwić połączenie z aplikacją „Home” iPhone'a.

Tak samo jak w poprzedniej wersji, w tym projekcie wymagane są następujące komponenty, pamiętaj, że poniższy link jest linkiem partnerskim, więc jeśli nie chcesz wnosić wkładu, po prostu przejdź bezpośrednio.

- Płytka deweloperska NodeMcu Lua ESP8266. Dostaję mój z Banggood.

- czujnik temperatury LM35

- czujnik PIR

- PROWADZONY

- Płytka prototypowa

- Arduino IDE

- Działający serwer WWW z włączonym skryptowaniem serwera php

- Raspberry pi (opcjonalnie)

Krok 2: Uruchom Arduino IDE

Uzyskaj Arduino IDE do pracy
Uzyskaj Arduino IDE do pracy

Aby uzyskać szczegółowe informacje na temat tego kroku, zobacz moje wcześniejsze instrukcje Krok 2. na czujniku temperatury IoT z ESP8266.

Krok 3: Podłączanie czujnika temperatury, diody LED i czujnika PIR

Podłączanie czujnika temperatury, diody LED i PIR
Podłączanie czujnika temperatury, diody LED i PIR
Podłączanie czujnika temperatury, diody LED i PIR
Podłączanie czujnika temperatury, diody LED i PIR
Podłączanie czujnika temperatury, diody LED i PIR
Podłączanie czujnika temperatury, diody LED i PIR

Czujnik temperatury LM35 ma 3 nogi, pierwsza noga to VCC, można ją podłączyć do 3,3V (wyjście płyty ESP8266 to 3,3V). Środkowa noga to Vout (tam, z której odczytywana jest temperatura, można ją podłączyć do wejścia analogowego pinu AD0 ESP8266, które znajduje się w prawym górnym rogu płyty, jak pokazano na rysunku. A prawa noga powinna być podłączony do ziemi.

Czujnik PIR składa się również z 3 nóżek, na płytce obok nóżki widać malutkie oznaczenie +, 0, -. Podłącz więc "+" do 3,3V, "-" do masy, a środkowy pin "0" do pinu D6 ESP8266.

Dioda LED miała tylko 2 nóżki, "+" (anoda), dłuższa nóżka łączy ją z pinem D5 ESP8266 i "-" (katoda) krótsze nóżki powinny być podłączone do masy (GND).

Krok 4: Konfiguracja serwera WWW w chmurze

Dla tego kroku istnieje pewne założenie:

Masz już działający serwer sieciowy hostowany w odpowiedniej domenie. I jesteś zaznajomiony z przesyłaniem plików na serwer WWW przez FTP za pomocą Filezilla lub innego programu FTP.

Prześlij załączony plik zip do katalogu głównego swojej witryny. Załóżmy, że w tym ćwiczeniu Twoja witryna to „https://arduinotestbed.com”

Zakłada się, że cały plik znajduje się w katalogu głównym serwera WWW, jeśli przechowujesz go w innym folderze, odpowiednio dostosuj lokalizację pliku zarówno w pliku ArduinoData3.php, jak i szkicu Arduino. Jeśli nie jesteś pewien, daj mi znać, a postaram się jak najlepiej pomóc.

Krok 5: Konfiguracja bazy danych do przechowywania danych o temperaturze

Konfigurowanie bazy danych do przechowywania danych o temperaturze
Konfigurowanie bazy danych do przechowywania danych o temperaturze
Konfigurowanie bazy danych do przechowywania danych o temperaturze
Konfigurowanie bazy danych do przechowywania danych o temperaturze
Konfigurowanie bazy danych do przechowywania danych temperatury
Konfigurowanie bazy danych do przechowywania danych temperatury

do tego ćwiczenia używamy bazy danych sqllite. Sqllite to lekka baza danych oparta na plikach, która nie wymaga serwera. Baza danych znajduje się lokalnie na Twoim serwerze WWW. Jeśli obawiasz się o bezpieczeństwo, powinieneś zmodyfikować kod, aby używał odpowiedniego serwera bazy danych, takiego jak mysql lub MSSQL.

Zanim zaczniesz musisz zmienić hasło do bazy danych znajdujące się w pliku phpliteadmin.php. Więc otwórz ten plik na swoim serwerze WWW i edytuj informacje o haśle w linii 91 na hasło, które chcesz.

Następnie wskaż phpliteadmin.php na swoim serwerze WWW. Korzystając z naszego przykładu, należy najpierw wskazać

Ponieważ na serwerze nie ma bazy danych, zostanie wyświetlony ekran tworzenia bazy danych. Wpisz „temperature.db” w nowym polu wprowadzania bazy danych i kliknij przycisk „Utwórz”. Baza danych zostanie następnie pomyślnie utworzona. W tym momencie baza danych jest nadal pusta, więc będziesz potrzebować skryptu sql, aby utworzyć strukturę tabeli bazy danych do przechowywania danych.

Krok 6: Utwórz tabelę „temperatury”

Utwórz
Utwórz
Utwórz
Utwórz

Aby utworzyć tabelę, kliknij zakładkę "SQL" i wklej następujące zapytanie sql.

ROZPOCZNIJ TRANSAKCJĘ;

---- -- Struktura tabeli dla temperatury ---- CREATE TABLE 'temperatura' ('ID' INTEGER PRIMARY KEY NOT NULL, wilgotność INT NOT NULL, temperatura REAL, znacznik czasu DATETIME DEFAULT CURRENT_TIMESTAMP, 'heater' BOOLEAN, 'goaltemp' PRAWDZIWY); POPEŁNIAĆ;

Następnie kliknij przycisk „Idź” na dole. Tabela powinna zostać pomyślnie utworzona.

Jeśli odświeżysz stronę, powinieneś teraz zobaczyć tabelę „temperatura” pod bazą danych temperature.db po lewej stronie. Jeśli klikniesz na tabelę temperatur, jeśli nadal nie zawiera żadnych danych.

Teraz, gdy mamy utworzoną bazę danych, możesz wskazać następujący adres URL

arduinotestbed.com/ArduinoData3.php

Zobaczysz pokrętło temperatury pokazujące fałszywe dane, czujnik ruchu i panel sterowania, aby włączyć diodę LED. Dolna część wykresu będzie nadal pusta, ponieważ nie ma jeszcze danych.

Krok 7: Prześlij szkic czujnika temperatury do swojego ESP8266

Prześlij szkic czujnika temperatury do swojego ESP8266
Prześlij szkic czujnika temperatury do swojego ESP8266
Prześlij szkic czujnika temperatury do swojego ESP8266
Prześlij szkic czujnika temperatury do swojego ESP8266
Prześlij szkic czujnika temperatury do swojego ESP8266
Prześlij szkic czujnika temperatury do swojego ESP8266

Teraz skopiuj cały załączony plik i otwórz „ESP8266TempPIRSensor.ino”, interfejs Arduino utworzy dla Ciebie folder. Przenieś resztę plików do nowego folderu utworzonego przez interfejs Arduino.

W razie potrzeby zmodyfikuj określony serwer WWW i lokalizację pliku data_store3.php. Następnie wgraj szkic do ESP8266.

Jeśli wszystko pójdzie dobrze, powinno zostać pomyślnie przesłane i za pierwszym razem ESP przejdzie w tryb AP. Możesz użyć laptopa lub telefonu komórkowego, aby się z nim połączyć. Powinieneś być w stanie znaleźć AP o nazwie "ESP-TEMP". - Spróbuj połączyć się z ESP-TEMP za pomocą laptopa lub telefonu komórkowego - Dowiedz się, jaki jest adres IP, do którego jesteś przypisany, wykonując Polecenie „ipconfig” w systemie Windows lub polecenie „ifconfig” w systemie Linux lub mac. - Jeśli używasz iphone'a, kliknij przycisk i obok ESP-TEMP, z którym jesteś połączony - Otwórz przeglądarkę i wskaż ESP-TEMP, jeśli przypisano ci adres IP 192.168.4.10, ESP-TEMP ma adres IP 192.168.4.1, więc możesz po prostu przejść do https://192.168.4.1 i powinna zostać wyświetlona strona ustawień, na której możesz wprowadzić identyfikator SSid routera Wi-Fi i klucz psk. po wprowadzeniu obu i zaznaczeniu pola wyboru „Aktualizuj konfigurację Wifi”, kliknij „Aktualizuj”, aby zaktualizować ustawienia do swojego ESP8266.

Jeśli chcesz włączyć debugowanie do monitora szeregowego, musisz odkomentować

#define DEBUGUJ

wiersz w clock.h i skomentował

//#undef DEBUG

linia. następnie kliknij Narzędzia->Monitor szeregowy. Okno monitora szeregowego pokaże postęp połączenia Wi-Fi i pokaże lokalny adres IP ESP8266. Wewnętrzna niebieska dioda LED mignie raz, gdy nastąpi odczyt temperatury. Włączy się również po wykryciu ruchu.

Krok 8: Dostęp do czujnika temperatury i ruchu

Dostęp do czujnika temperatury i ruchu
Dostęp do czujnika temperatury i ruchu
Dostęp do czujnika temperatury i ruchu
Dostęp do czujnika temperatury i ruchu

Powinieneś teraz móc ponownie wskazać lokalny serwer sieciowy ESP8266. A to pokaże czas, temperaturę i czujnik ruchu.

Teraz możesz również wskazać swój zewnętrzny serwer WWW, w tym przykładzie jest to

Możesz przesunąć przycisk pod panelem sterowania, aby przełączyć diodę LED. Używam tego do powiadamiania dzieci, gdy wracam z pracy do domu.

Czujnik ruchu jest aktualizowany co kilka sekund, więc będziesz musiał częściej odświeżać stronę, aby sprawdzić, czy wykryto ruch. W tej chwili automatyczne odświeżanie jest ustawione na 60 sekund. Temperatura będzie odczytywana co kilka minut, ale możesz również dostosować ją do czasu, który Ci odpowiada.

Gratulacje, jeśli dotarłeś tak daleko!!, poklep się po plecach i ciesz się swoim dziełem. Kolejny krok jest opcjonalny, tylko jeśli chcesz mieć możliwość sterowania diodą LED i monitorowania temperatury oraz czujnika ruchu z urządzeń Apple.

Krok 9: Zainstaluj HomeBridge dla HomeKit w Raspberry Pi (opcjonalnie)

Zainstaluj HomeBridge dla HomeKit w Raspberry Pi (opcjonalnie)
Zainstaluj HomeBridge dla HomeKit w Raspberry Pi (opcjonalnie)

Zainspirowały mnie instrukcje z GalenW1, które pozwalają mi tak wiele dowiedzieć się o HomeBridge.

Aby zainstalować HomeBridge dla HomeKit na Raspberry Pi, możesz skorzystać z poniższej instrukcji

github.com/nfarina/homebridge

HomeBridge umożliwia podłączenie aplikacji domowej w iPhonie do czujników, które właśnie zbudowałeś w poprzednich krokach.

Po zainstalowaniu HomeBridge musisz zainstalować kilka wtyczek:

- Czujnik temperatury

- Czujnik ruchu

- Przełącznik

sudo npm install -g homebridge-http-temperature

sudo npm install -g homebridge-MotionSensor

sudo npm install -g homebridge-http-simple-switch

Po zainstalowaniu wtyczki musisz skonfigurować plik config.json znajdujący się poniżej

sudo vi /home/pi/.homebridge/config.json

możesz dostosować zawartość pliku config.json zgodnie z poniższym opisem, upewnij się, że adres URL wskazuje prawidłową lokalizację.

{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51886, "pin": "031-45-154" }, "description": "To jest plik HomeBridge Config, dodaj więcej akcesoriów i platformy.", "accessories": [{ "accessory": "HttpTemperature", "name": "Temperatura w salonie", "url": "https://arduinotestbed.com/temp.txt", "http_method": "GET", "field_name": "" }, { "accessory": "Ruch", "name": "Czujnik ruchu na moim biurku", " url": "https://arduinotestbed.com/motion_data.php?json=true", "http_method": "GET", "json_response": "motion" }, { "accessory": "SimpleHttpSwitch", "name": "Light Switch", "url": "https://arduinotestbed.como/setlight.php", "http_method": "POST", "default_state_off": true, "sendimmediately": "" }] }

Krok 10: Podłączanie Homebridge do iPhone'a

Podłączanie Homebridge do iPhone'a
Podłączanie Homebridge do iPhone'a
Podłączanie Homebridge do iPhone'a
Podłączanie Homebridge do iPhone'a
Podłączanie Homebridge do iPhone'a
Podłączanie Homebridge do iPhone'a

Teraz, gdy wszystkie akcesoria zostały skonfigurowane, możesz uruchomić mostek domowy za pomocą następującego polecenia

Homebridge

Powinieneś zobaczyć ekran jak powyżej. Możesz wykonać następujący krok, aby dodać Homebridge do swojego zestawu domowego.

- Teraz uruchom aplikację "Dom" na swoim iPhonie

- Kliknij przycisk „Dodaj akcesoria”

- pojawi się ekran do zeskanowania kodu, możesz użyć kamery telefonu do zeskanowania kodu z ekranu Raspberry Pi lub ręcznie dodać kod.

Należy pamiętać, że zarówno iPhone, jak i Raspberry Pi muszą być podłączone do tego samego routera bezprzewodowego, aby działały.

- Po połączeniu zostaniesz poproszony o wyświetlenie ekranu z informacją, że Twoje akcesoria nie są certyfikowane, kliknij przycisk „Dodaj mimo to”, aby kontynuować

- Będziesz miał wtedy możliwość skonfigurowania każdego z akcesoriów, w tym przypadku mamy włącznik światła, czujnik ruchu i czujnik temperatury.

- Ostatni ekran pokaże wszystkie podłączone akcesoria.

Po podłączeniu możesz użyć Siri do sprawdzenia czujnika ruchu, temperatury oraz włączania i wyłączania światła.

Krok 11: Spraw, aby Twój Homebridge działał w tle

Spraw, aby Twój Homebridge działał w tle
Spraw, aby Twój Homebridge działał w tle
Spraw, aby Twój Homebridge działał w tle
Spraw, aby Twój Homebridge działał w tle
Spraw, aby Twój Homebridge działał w tle
Spraw, aby Twój Homebridge działał w tle

Gratulacje!! zrobiłeś to. Jako bonus możesz uruchomić homebridge w tle za pomocą następującego polecenia:

pomost domowy i

Teraz możesz pobawić się z Siri i cieszyć się swoją ciężką pracą.

Dziękuję za śledzenie tego do końca. Jeśli Ci się to podoba, zostaw kilka komentarzy lub zagłosuj na mnie.

Zalecana: