Inteligentny dom oparty na Arduino: instrukcja krok po kroku na temat montażu

Inteligentny dom oparty na Arduino: instrukcja krok po kroku na temat montażu

.
..
.

Do tej pory systemy takie jak "inteligentny dom" z niesamowitej egzotyki, dostępne tylko dla najbogatszych, stały się powszechne, do których każdy może się przyłączyć. Jest coś do wyboru: wielu programistów opanowało wydanie takich systemów sprzętu i oprogramowania. Do najbardziej znanych należy Arduino, którego produkty poznamy teraz.

Spis treści

  • 1Czym jest "inteligentny dom"
  • 2Zapoznanie się z Arduino
    • 2.1Zalety systemu Arduino
    • 2.2Jakie rozwiązania oferuje Arduino?
      • 2.2.1Wideo: zaczynamy pracę z Arduino - zarządzamy diodą LED za pośrednictwem interfejsu sieciowego
  • 3Przygotowanie projektu na Arduino
    • 3.1Niezbędne komponenty do produkcji systemu "inteligentnego domu"
  • 4Zbuduj "inteligentny dom instrukcje krok po kroku
    • 4.1Podłączanie urządzeń wykonawczych i czujników
    • 4.2Opracowanie kodu programu
    • 4.3Instalowanie aplikacji klienckiej na smartfonie (dla systemu Android)
    • 4.4Konfigurowanie przeglądarki do pracy z "inteligentnym domem"
    • instagram viewer
    • 4.5Praca z routerem
    • 4.6Zakładanie konta na noip.com
    • 4.7Wideo: inteligentny dom na Arduino
  • 5Funkcje niektórych urządzeń Arduino
..

Czym jest "inteligentny dom"

Termin ten ma bardziej zrozumiały analog - "automatyzacja domu". Istotą takich rozwiązań jest zapewnienie automatycznego wykonywania różnych procesów zachodzących w domach, biurach lub wyspecjalizowanych obiektach. Najprostszym przykładem jest automatyczne włączanie oświetlenia w czasie, gdy jeden z pasażerów wchodzi do pokoju.

System "inteligentnego domu" firmy Arduino to zestaw urządzeń do sterowania pracą różnych urządzeń za pomocą telefonu komórkowego opartego na systemie operacyjnym Android

W każdym systemie "inteligentnego domu" można wyróżnić następujące komponenty:

  1. Część zmysłowa. Jest to zestaw urządzeń, których główna część jest reprezentowana przez różne czujniki, co pozwala systemowi rejestrować zdarzenia o różnym charakterze. Przykładami są czujniki temperatury i ruchu. Inne urządzenia części czujnikowej służą do przesyłania poleceń użytkownika do systemu. Są to zdalne przyciski i piloty z odbiornikami.
    Jednym z najczęściej wykorzystywanych elementów "inteligentnego domu" jest czujnik ruchu
  2. Część wykonawcza. Są to urządzenia, które system może kontrolować, reagując w ten sposób na zdarzenie zgodnie ze scenariuszem zdefiniowanym przez użytkownika. Przede wszystkim jest to przekaźnik, za pomocą którego kontroler "inteligentnego domu" może zasilać dowolne urządzenie elektryczne, to znaczy włączać je i wyłączać. Na przykład na bawełnie w dłoni (system "słyszy" ją za pomocą mikrofonu) można skonfigurować aktywację przekaźnika, który dostarcza moc do wentylatora. Uwaga: w tym przykładzie wentylator może być dowolny. Możesz jednak użyć urządzenia specjalnie wydanego do pracy w ramach określonego systemu. Na przykład Arduino produkuje silniki elektryczne do swoich systemów, za pomocą których można na przykład zamknąć lub otwórz okno, a Xiaomi (chiński producent podobnych systemów) - urządzenia sterujące filtr powietrza. Takie urządzenie jest całkowicie kontrolowane przez system, to znaczy, że może nie tylko włączyć, ale także zmienić ustawienia.
    Elektromotor jest siłownikiem, który aktywowany jest sygnałem sterownika systemu i napędza podłączony do niego mechanizm
  3. Procesor. Można również nazwać kontrolerem. Jest to "mózg" systemu, który koordynuje i koordynuje pracę wszystkich jego elementów.
    Płyta procesora (lub kontroler) steruje aktuatorami w oparciu o oprogramowanie sprzętowe i dane otrzymywane z czujników
  4. Oprogramowanie. Jest to zestaw instrukcji sterujących procesorem. W systemach niektórych producentów, w tym Arduino, użytkownik może napisać program niezależnie, w innych - stosowane są gotowe rozwiązania, w których tylko typowe scenariusze.

Nowoczesne systemy "inteligentnego domu" podzielone są na kilka odmian:

  1. Wyposażony we własny kontroler.
  2. Wykorzystanie w tym charakterze procesora komputera użytkownika (tabletu, smartfona).
  3. Przetwarzanie informacji za pomocą zdalnego serwera należącego do firmy deweloperskiej (usługa w chmurze).
.

System może nie tylko aktywować to urządzenie, ale także poinformować użytkownika o zdarzeniu, które wystąpiło, wysyłając wiadomość na telefon lub w inny sposób. W ten sposób można mu powierzyć funkcje alarmowe, w tym ochronę przeciwpożarową.

Scenariusze mogą być znacznie bardziej złożone niż opisaliśmy w przykładach. Na przykład, możliwe jest nauczenie systemu, aby zawierał kocioł i przekazywał do niego dostawę gorącej wody po odcięciu zasilania centralnego, jeśli ujawni się obecność kogoś od lokatorów w domu (pomoc w podczerwieni, czujniki ultradźwiękowe, a także czujniki) ruch).

Zapoznanie się z Arduino

Arduino to włoska firma zajmująca się opracowywaniem i produkcją komponentów i oprogramowania dla prostych inteligentnych systemów domowych przeznaczonych dla osób nie będących specjalistami. Warto zauważyć, że twórca ten spowodował, że architektura tworzonych przez niego systemów była całkowicie otwarta, co umożliwiło to producentów zewnętrznych do opracowywania nowych i kopiowania istniejących urządzeń zgodnych z Arduino, a także do tworzenia oprogramowania dla ich.

.
Zestaw Arduino Uno zawiera niezbędne elementy do implementacji urządzeń opisanych w załączonej książce

Takie podejście zapewniło wysoką popularność systemom włoskiej firmy, ale ma również wadę: ze względu na fakt, że do produkcji komponenty do systemów Arduino są brane, że tak powiem, wszyscy, którzy nie są leniwi, nie zawsze udaje im się po raz pierwszy osiągnąć wysoką jakość produkt. Często trzeba zmierzyć się z problemem zgodności komponentów różnych producentów.

Potencjalny użytkownik powinien mieć świadomość, że od 2008 r. Istnieją dwie firmy produkujące produkty pod marką Arduino. Na początku, który rozpoczął ten kierunek, oficjalna strona znajduje się pod adresem www.arduino.cc; drugi, nowo utworzony - na www.arduino.org. To, co zostało opracowane przed podziałem, na obu stronach jest równo reprezentowane, ale zakres nowych produktów jest już inny.

Oprogramowanie dla systemów "inteligentnego domu" Arduino ma postać powłoki programowej (zwanej IDE), w której można pisać i kompilować programy. Jest dystrybuowany bezpłatnie. Programy są napisane w C ++.

Wersje programu Arduino IDE prezentowane na tych stronach są również bardzo różne, choć mają one takie same nazwy, ale również numery wersji.Z tego powodu są dość łatwe do zmieszania. Różnica polega na tym, że każde oprogramowanie obsługuje swoje biblioteki i tablice.

"Sprzęt" systemu składa się z płyty głównej z mikrokontrolerem (płyta procesora) i zainstalowanych na niej kart rozszerzeń, które są powszechnie nazywane shildami. Podłączenie ekranu do płyty procesora pozwala na dodanie nowych elementów do inteligentnego domu. Zmontowany system może być całkowicie autonomiczny lub współpracować z komputerem za pośrednictwem standardowego interfejsu przewodowego lub bezprzewodowego.

Na płycie procesora można zainstalować specjalne rozszerzenia (shild), które zwiększają funkcjonalność systemu

Zalety systemu Arduino

Ten pakiet oprogramowania sprzętowego przyciąga użytkownika z takimi zaletami:

  • możliwość samodzielnej pracy z powodu obecności własnego kontrolera;
  • duże możliwości konfiguracji systemu (sam użytkownik pisze program, w którym można dostarczyć scenariusze o dowolnej złożoności);
  • Prostota procesu ładowania programu do kontrolera: programator nie jest do tego potrzebny, wystarczy mieć kabel USB (w mikrokontrolerze jest firmware bootloadera);
  • przystępny koszt komponentów ze względu na brak praw monopolistycznych dla konkretnego producenta (architektura jest otwarta).

Jeśli bootloader bootloadera zaczął działać nieprawidłowo lub nie pojawił się w zakupionym mikrokontrolerze, użytkownik ma możliwość samodzielnego wygenerowania go. Powłoka oprogramowania IDE zapewnia wsparcie dla wielu najpopularniejszych i popularnych programistów do tego celu. Ponadto prawie wszystkie procesory Arduino mają męskie złącze umożliwiające programowanie w obwodzie.

Program Arduino IDE, prezentowany na stronie internetowej arduino.cc, platformy oprogramowania sprzętowego użytkownika, podczas gdy w wersji programu na arduino.org takie funkcja jest nieobecna.

Jakie rozwiązania oferuje Arduino?

Ponieważ produkcja czujników i urządzeń zgodnych z Arduino jest obsługiwana przez wiele firm, zakres tych produktów jest dość szeroki. Tutaj najczęściej stosuje się:

  1. Czujniki monitorujące parametry klimatyczne:
    • temperatura;
    • wilgotność;
      Specjalna tablica z czujnikami temperatury i wilgotności zapewnia interfejs do wysyłania mierzonych parametrów do wyświetlacza LCD
    • opady atmosferyczne (czujnik deszczu i śniegu);
    • iluminacja;
    • ciśnienie.
  2. Czujniki, pozwalające określić położenie przestrzenne obiektu, na którym są zamocowane:
    • 6-osiowy czujnik żyroskopowy z przyspieszeniomierzem;
    • kompas.
      Wbudowany kompas pozwala określić boki światła w stosunku do obiektu, w którym system jest używany
  3. Czujniki, pozwalające zarejestrować obecność różnych obiektów:
    • czujnik ruchu;
    • czujnik podczerwieni (przymocuj nieruchomą osobę siedzącą lub zwierzę ciepłokrwiste);
      Czujnik podczerwieni pozwala określić obecność ludzi w domu i przejść do odpowiedniej gałęzi scenariusza roboczego
    • czujnik ultradźwiękowy (wykrywa obiekty o dowolnej temperaturze i określa odległość do nich).
  4. Czujniki awaryjne:
    • czujnik dymu;
    • czujnik ognia;
    • czujnik wycieku gazu;
      Podłączenie czujnika gazu natychmiast wykryje wyciek gazu w pomieszczeniu i uruchomi scenariusz awaryjny
    • czujnik dwutlenku węgla.
  5. Inne urządzenia, na przykład:
    • mikrofon;
    • godziny;
    • czujnik otwarcia drzwi;
    • zdalne sterowanie (częstotliwość radiowa i podczerwień) z odbiornikami;
    • przyciski zdalnego sterowania.

Niektóre z tych urządzeń są zawarte w zestawie podstawowym Arduino Start, który od niektórych producentów nosi nazwę StarterKit.

Zestaw początkowy systemu Arduino obejmuje płytę procesora i kilka najczęściej używanych urządzeń

Część wykonawcza zawiera ogromny zestaw urządzeń, na przykład:

  • silniki elektryczne;
  • przekaźniki i różne przełączniki;
  • ściemniacze (pozwalają na płynną zmianę intensywności oświetlenia);
  • zamykacze drzwi;
  • Zawory i trójdrożne zawory z serwonapędami.
.

Jeśli planujesz podłączyć oświetlenie za pomocą przekaźnika Arduino, lepiej użyć lamp LED jako opraw oświetleniowych. Lampy żarowe po podłączeniu przez takie przekaźniki szybko się palą.

.

Wideo: zaczynamy pracę z Arduino - zarządzamy diodą LED za pośrednictwem interfejsu sieciowego

Przygotowanie projektu na Arduino

Proces tworzenia i konfiguracji "inteligentnego domu" Arduino zostanie pokazany na przykładzie systemu, w którym zostaną zbudowane następujące funkcje:

  • monitorowanie temperatury na ulicy i w pomieszczeniach;
  • monitorowanie stanu okna (otwarte / zamknięte);
  • monitorowanie warunków pogodowych (czyste / deszczowe);
  • generowanie sygnału dźwiękowego po wyzwoleniu czujnika ruchu, jeżeli funkcja alarmu jest włączona.

System zostanie skonfigurowany w taki sposób, aby dane mogły być przeglądane za pomocą specjalnego aplikacji, a także przeglądarki internetowej, czyli użytkownik będzie mógł to zrobić z dowolnego miejsca, w którym jest dostęp w Internecie.

Użyte skróty:

  1. "GND" jest podstawą.
  2. "VCC" - jedzenie.
  3. "PIR" - czujnik ruchu.

Niezbędne komponenty do produkcji systemu "inteligentnego domu"

Do systemu inteligentnego domu Arduino potrzebne są:

  • płyta mikroprocesorowa Arduino;
  • Moduł Ethernet ENC28J60;
  • dwa czujniki temperatury marki DS18B20;
  • mikrofon;
  • czujnik deszczu i śniegu;
  • czujnik ruchu;
  • przełącznik trzciny;
  • przekaźnik;
  • Oporność rezystora, kOhm;
  • skrętka dwużyłowa;
  • Kabel Ethernet.

Koszt wszystkich komponentów wynosi około 90 USD.

Aby stworzyć system z niezbędnymi funkcjami, potrzebujemy zestawu urządzeń o wartości około 90 USD

Zbuduj "inteligentny dom instrukcje krok po kroku

.

To jest kolejność, w której musisz działać.

Podłączanie urządzeń wykonawczych i czujników

Łączymy wszystkie komponenty zgodnie ze schematem.

Montaż systemu zasadniczo ogranicza się do połączenia siłowników z odpowiednimi stykami płyty procesora

Opracowanie kodu programu

Użytkownik zapisuje cały program w powłoce Arduino IDE, dla której ten ostatni jest wyposażony w edytor tekstu, kierownik projektu, kompilator, preprocesor i środki do wypełnienia kodu programu do mikroprocesora płytki Arduino. Opracowane wersje IDE dla systemów operacyjnych Mac OS X, Windows i Linux. Językiem programowania jest C ++ z kilkoma uproszczeniami. Programy użytkownika dla Arduino są zwykle nazywane szkicami szkicu lub szkicami, IDE zapisuje je do plików z rozszerzeniem ".ino".

Funkcja main (), która jest obowiązkowa w C ++, jest tworzona automatycznie przez opakowanie IDE, określając w nim szereg standardowych działań. Użytkownik powinien napisać funkcje setup () wykonywane raz w czasie rozpoczęcia) i loop () (wykonywane w nieskończonej pętli). Obie te funkcje są obowiązkowe dla Arduino.

Pliki nagłówkowe standardowych bibliotek nie muszą być wstawiane do programu - IDE robi to automatycznie. Nie dotyczy bibliotek użytkowników - muszą one być określone.

.

Dodawanie bibliotek do IDE "Project Managera" odbywa się w dość niecodzienny sposób. W postaci kodu źródłowego napisanego w C ++ są one dodawane do specjalnego folderu w katalogu roboczym powłoki IDE. Następnie nazwy tych bibliotek pojawiają się w odpowiednim menu IDE. Te, które znaczniki użytkownika zostaną dodane do listy kompilacji.

.

IDE zapewnia minimum ustawień, a w ogóle nie ma możliwości skonfigurowania kompilatora. Tak więc początkujący programista jest odporny na błędy.

Oto przykład najprostszego programu, który powoduje, że dioda LED podłączona do 13 wyjścia płytki błyska co 2 sekundy:

.

void setup () {pinMode (13, WYJŚCIE); // Wyjście 13 wyjścia Arduino}

void loop () {digitalWrite (13, WYSOKI); // Włączenie 13 wyjścia, parametr wywołania funkcji cyfrowej HIGH jest znakiem wysokiego poziomu logicznego

opóźnienie (1000); // Opóźnienie cyklu przez 1000 msek - 1 sekundę

digitalWrite (13, LOW); // Wyjście wyłączone 13, wywołanie parametru LOW - niski poziom logiczny atrybutu

opóźnienie (1000); // Opóźnienie cyklu przez 1 sekundę}

.

Obecnie jednak, zanim użytkownik nie zawsze jest taka potrzeba osobiście napisać program: sieć jest wyłożona wielu gotowych bibliotek i skecze (spójrz tutaj: http://arduino.ru/Reference). Jest gotowy program dla systemu rozważanego w tym przykładzie. Musi zostać pobrany, rozpakowany i zaimportowany do IDE. Tekst programu opatrzony jest komentarzem wyjaśniającym zasadę jego działania.

Wszystkie programy na Arduino działają na tej samej zasadzie: użytkownik wysyła żądanie do procesora, a użytkownik pobiera niezbędny kod na ekran komputera lub smartfona

Kiedy użytkownik kliknie przycisk "Odśwież" w przeglądarce lub aplikacji na smartfonie, mikrokontroler Arduino wysyła dane do tego klienta. Na każdej stronie, zidentyfikowane jako «/ tempin», «/», «tempout / deszczu», «/», «okiennej / ALARM», wprowadza kod, który jest wyświetlany na ekranie.

Instalowanie aplikacji klienckiej na smartfonie (dla systemu Android)

Aby odbierać dane z systemu inteligentnego domu w sieci, możesz pobrać gotową aplikację.

Oto, co musi zrobić właściciel gadżetu:

  1. Pobierz plik SmartHome.apk.
  2. Wyślij to na swój telefon.
  3. Po otwarciu "Menedżera plików" umieść ten plik.
  4. Kliknij go i wybierz "Zainstaluj" (należy zaznaczyć "znacznik wyboru umożliwiając instalację programów poza usługą Google Play).
    Musisz włączyć instalację programów nie z PlayMarket, który znajduje się w sekcji "Bezpieczeństwo" ustawień smartfona
  5. Po zakończeniu instalacji aktywuj aplikację.
  6. Ustaw to.

Dzięki tej aplikacji można nie tylko odbierać informacje z systemu inteligentnego domu, ale także zarządzać nim - włączać i wyłączać alarmy. Jeśli jest włączony, aplikacja otrzyma powiadomienie po uruchomieniu czujnika ruchu. Przesłuchanie systemu Arduino dla wyzwalacza aplikacji czujnika ruchu odbywa się z częstotliwością raz na minutę.

Aktywując ikonę "Ustawienia możesz edytować swój adres IP.

Konfigurowanie przeglądarki do pracy z "inteligentnym domem"

W pasku adresu przeglądarki wpisz XXX.XXX.XXX.XXX/all, gdzie "XXX.XXX.XXX.XXX" jest twoim adresem IP. Po tym będzie możliwe otrzymywanie danych z systemu i zarządzanie nim.

Przedstawiony tutaj kod pozwala przeglądarce włączać i wyłączać światło, podczas gdy w aplikacji na smartfony z Androidem taka funkcja nie jest zaimplementowana.

Praca z routerem

Następnie na routerze trzeba otworzyć port:

  • otwórz ustawienia routera;
  • przepisać adres Arduino IP;
  • otwórz port 80.
    Konieczne jest zarejestrowanie trasy do procesora Arduino dla portu 80

Zakładanie konta na noip.com

Ten krok jest opcjonalny, ale jest konieczny, jeśli chcesz przypisać nazwę domeny do adresu. Aby to zrobić, musisz się zarejestrować na stronie https://www.noip.com/, przejdź do sekcji "Dodaj hosta" i wprowadź adres IP systemu.

Po zarejestrowaniu się na stronie noip.com, możesz uzyskać dostęp do systemu nie tylko za pomocą adresu IP, ale także pełnej nazwy domeny
.

Utworzenie projektu jest zakończone, możesz sprawdzić stan systemu.

Wideo: inteligentny dom na Arduino

..

Funkcje niektórych urządzeń Arduino

Biorąc pod uwagę, że komponenty kompatybilne z Arduino są produkowane przez wiele firm trzecich, których jakość jest sama w sobie firma Arduino nie kontroluje, użytkownik jest bardziej skłonny do zakupu komponentu, który nie działa całkiem poprawnie.

.

Podobna sytuacja rozwinęła się w rozwoju komputerów osobistych. W pewnym momencie IBM uczynił architekturę swoich komputerów otwartymi, w wyniku czego komputery kompatybilne z IBM i poszczególne komponenty zaczęły produkować wiele firm. W rezultacie "osobowości" tego typu są szeroko rozpowszechnione na całym świecie, jednak jakość komponentów i stopień ich kompatybilności w wielu przypadkach nie były na najwyższym poziomie. Przeciwne taktyki stosowały się do firmy Apple. Ograniczyło to kręgi programistów z dostępem do architektury, a ta sama polityka była realizowana w dziedzinie tworzenia oprogramowania. W rezultacie komputery Apple były mniej powszechne i droższe, ale są o rząd wielkości lepsze od urządzeń kompatybilnych z IBM z systemem Windows.

.

W przypadku niektórych komponentów systemów Arduino użytkownicy zauważyli, co następuje:

  1. Czujnik temperatury DHT11, dostarczany z zestawem podstawowym (StarterKit), daje znaczący błąd 2-3 stopni. W pomieszczeniu zaleca się użycie czujnika temperatury DHT22, dającego dokładniejsze wskazania i do instalacji na ulicy - DHT21, zdolny do pracy w ujemnych temperaturach i posiadający ochronę przed mechanicznymi obrażenia.
  2. Na niektórych płytach mikroprocesorowych Arduino, gdy podłączony do nich przekaźnik zamyka się, port COM ulega uszkodzeniu. Z tego powodu mikrokontroler nie może wczytać szkicu: po rozpoczęciu napełniania, procesor uruchamia się ponownie. Przekaźnik kliknie, port COM zostanie wyłączony i proces ładowania szkicu zostanie przerwany.
  3. Czujnik zamknięcia okna / drzwi czasami zaskakuje w postaci fałszywych trafień. W związku z tym szkic jest tak napisany, że system generuje niezbędne działanie dopiero po otrzymaniu kilku sygnałów z rzędu.
  4. Aby skonfigurować zarządzanie procesami za pomocą klaśnięć, niektórzy niedoświadczeni użytkownicy zamawiają detektor dźwięku z ręczną regulacją progów zamiast mikrofonu. W tym celu komponent ten nie jest odpowiedni, ponieważ ma bardzo krótki zasięg: konieczne jest klaskać nie więcej niż 10 cm od detektora. Ponadto czujnik ten przesyła sygnały o impulsach krótkotrwałych, tak że w obecności dużej Szkic, który zajmuje stosunkowo dużo czasu, mikrokontroler po prostu nie ma dla nich czasu naprawić.
  5. W przypadku instalacji przeciwpożarowej należy stosować wykrywacz dymu, a nie czujnik pożarowy. Ten ostatni rejestruje płomień nie większy niż 30 cm od niego.
  6. W przypadku nieprawidłowego działania mikrokontrolera lub błędów w kodzie, lepiej jest użyć przekaźników normalnie zamkniętych z szeregowo połączonymi przełącznikami ręcznymi.

Aby uniknąć zakupu komponentów o niskiej jakości, doświadczeni użytkownicy zalecają wstępne zbadanie ich recenzji opublikowanych w Internecie. Niedrogie czujniki można kupić w kilku wersjach, aby osobiście sprawdzić, który z nich działa lepiej.

Być może system "inteligentnego domu" od Arduino nie jest najlepszy, ale najszerszy wybór komponentów i ich przystępny koszt sprawiły, że jest to jeden z najbardziej popularnych. Korzystając z naszych wskazówek, szybko nauczysz się tworzyć projekty Arduino, automatyzując różne procesy domowe.

.
..
Interesujące:
.
.
Jak zainstalować płytę kuchenną na blacie

Jak zainstalować płytę kuchenną na blacieJak Zainstalować

Jak prawidłowo zainstalować płytę grzewczą w blacie Cooktops oszczędzają miejsce w kuchni i działają jak nieporęczne piece. Ponadto instalacja płyty grzejnej jest całkowicie łatwa, dzi...

Czytaj Więcej
Jak zrobić uziemiającą pralkę

Jak zrobić uziemiającą pralkęJak Zainstalować

Jak samodzielnie uziemić pralkę Uziemienie pralki - to klucz do Twojego bezpieczeństwa i długiej żywotności urządzeń gospodarstwa domowego. Kupno i instalacja pralki to tylko połowa su...

Czytaj Więcej