Spisu treści:
- Krok 1: Koncepcja, łączność i komponenty
- Krok 2: Uruchom Arduino IDE
- Krok 3: Podłączanie czujnika temperatury, diody LED i czujnika PIR
- Krok 4: Konfiguracja serwera WWW w chmurze
- Krok 5: Konfiguracja bazy danych do przechowywania danych o temperaturze
- Krok 6: Utwórz tabelę „temperatury”
- Krok 7: Prześlij szkic czujnika temperatury do swojego ESP8266
- Krok 8: Dostęp do czujnika temperatury i ruchu
- Krok 9: Zainstaluj HomeBridge dla HomeKit w Raspberry Pi (opcjonalnie)
- Krok 10: Podłączanie Homebridge do iPhone'a
- Krok 11: Spraw, aby Twój Homebridge działał w tle
Wideo: Bezprzewodowy czujnik temperatury i ruchu IoT: 11 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
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
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
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
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
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”
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
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
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)
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
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
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:
IoT-Ubidots-ESP32+Bezprzewodowy-Długiego Zasięgu-Czujnik-Wibracji-Temperatury-: 7 Kroków
IoT-Ubidots-ESP32+Długi zasięg-Bezprzewodowy-czujnik-wibracji-i-temperatury: Wibracje to naprawdę ruch tam i z powrotem – lub oscylacja – maszyn i komponentów w zmotoryzowanych gadżetach. Wibracje w systemie przemysłowym mogą być objawem lub motywem kłopotów lub mogą być związane z codzienną pracą. Na przykład osci
Zasilany energią słoneczną czujnik temperatury i wilgotności Arduino jako czujnik Oregon 433 mhz: 6 kroków
Czujnik temperatury i wilgotności Arduino zasilany energią słoneczną jako czujnik Oregon 433 mhz: Jest to konstrukcja czujnika temperatury i wilgotności zasilanego energią słoneczną. Czujnik emuluje czujnik Oregon 433 mhz i jest widoczny w bramce Telldus Net. Czujnik ruchu energii słonecznej" z serwisu eBay. Upewnij się, że mówi o cieście 3,7 V
Czujnik dzwonka do drzwi i czujnik temperatury: 6 kroków
Czujnik nacisku i temperatury dzwonka do drzwi: Ulepsza standardowy dzwonek przewodowy do drzwi z modułem esp-12F (esp8266). Instaluje się w samym dzwonku, aby uniknąć jakichkolwiek zmian w okablowaniu. Zapewnia następujące funkcje Wykrywanie przyciśnięć dzwonka do drzwiWysyła powiadomienia na telefon za pośrednictwem sklepów IFTTTS
Bezprzewodowy czujnik temperatury i wilgotności IOT dalekiego zasięgu z czerwonym węzłem: 27 kroków
Bezprzewodowy czujnik temperatury i wilgotności IOT dalekiego zasięgu z Node-Red: Przedstawiamy bezprzewodowy czujnik temperatury i wilgotności dalekiego zasięgu NCD, który może pochwalić się zasięgiem do 28 mil przy użyciu bezprzewodowej architektury sieci kratowej. Wyposażony w czujnik temperatury i wilgotności Honeywell HIH9130 przekazuje bardzo dokładną temperaturę i
Bezprzewodowy punkt dostępowy o zasięgu 50 metrów z TP Link WN7200ND Bezprzewodowy adapter USB na Raspbian Stretch: 6 kroków
Bezprzewodowy punkt dostępowy o zasięgu pięćdziesięciu metrów z bezprzewodowym adapterem TP Link WN7200ND USB na Raspbian Stretch: Raspberry Pi świetnie nadaje się do tworzenia bezpiecznych bezprzewodowych punktów dostępowych, ale nie ma dobrego zasięgu, użyłem bezprzewodowego adaptera USB TP Link WN7200ND, aby go rozszerzyć. Chcę się podzielić jak to zrobićDlaczego zamiast routera używać raspberry pi?T