Spisu treści:

DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi: 11 kroków (ze zdjęciami)
DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi: 11 kroków (ze zdjęciami)

Wideo: DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi: 11 kroków (ze zdjęciami)

Wideo: DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi: 11 kroków (ze zdjęciami)
Wideo: 32 - YAML - konfiguracja lokalna boneIO 2024, Lipiec
Anonim
DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi
DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi
DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi
DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi
DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi
DIY niskonapięciowe oświetlenie zewnętrzne sterowane za pomocą Raspberry Pi

Czemu?

Muszę przyznać, że jak wielu innych jestem wielkim fanem internetu rzeczy (lub IoT). Nadal jestem też zmęczony podłączaniem wszystkich moich świateł, urządzeń, drzwi wejściowych, bramy garażowej i kto wie, co jeszcze do wyeksponowanego internetu. Zwłaszcza w przypadku wydarzeń takich jak niedawna awaria usług Amazon S3 i stałych luk w zabezpieczeniach. A może nawet posiadamy urządzenia IoT, z których korzystamy? Co się stanie, jeśli Twój dostawca Internetu zatrzyma usługę lub przestanie działać? Za dużo punktów niepowodzenia dla mnie.

Przez ostatnie 3 lata świetnie się bawiłem odkrywając i ucząc się z Raspberry Pi i przez ten czas miałem okazję zrobić wszystko, od zautomatyzowanego systemu kroplówki ogrodniczej po rewitalizację mojej starej drukarki laserowej poprzez dodanie łączności sieciowej i nadrobienie zaległości na słodkich grach retro (choć Arduino to wciąż moja pierwsza miłość…).

W ciągu ostatniego roku pracowałem nad dodaniem zamkniętej werandy z tyłu i ulepszeniem mojego podwórka. Wiedziałem, że chcę trochę oświetlenia zewnętrznego, ale nie byłem pod wrażeniem systemów i ich braku łączności. Czerpiąc inspirację z całej sieci, zhakowałem opłacalny system do obsługi niskonapięciowego systemu oświetlenia zewnętrznego, utrzymując łączność z siecią lokalną (może to ujawnić, jeśli chcesz) i będąc wystarczająco elastycznym, aby rozszerzyć i dostosować do swoich zawartość serca.

Podziękowanie:

TheFreeElectron - Prosty i intuicyjny interfejs sieciowy dla Twojego Raspberry Pi - jeśli rozłączysz się po stronie internetowej, sprawdź tutaj, inspiracje dla strony serwerowej

CodePen - niesamowite źródło inspiracji i nauki CSS

Akademia Kodu - Jestem starym facetem od HTML, z dodanymi trochę. NET i C#. Python, CSS, Javascript, PHP - wszystko podrasowane do użytecznego/hackowalnego poziomu z pomocą Akademii Kodowania.

Przegląd podstawowy:

Zasilanie niskonapięciowe (12V światła/przekaźniki i 5V RPi/przekaźniki) dostarczane z jednego zasilacza ATX

Konfiguracja Raspberry Pi z Apache (serwer WWW), WiringPi (zarządzanie GPIO) przy użyciu strony głównej PHP (po stronie serwera) z Javascript (po stronie użytkownika) i Python (skrypty) do monitorowania stanu GPIO i wyświetlania odpowiednich informacji dla głównej strony internetowej. Pola wyboru (w przebraniu) używane do sterowania pinami GPIO, które sterują przekaźnikami, które sterują światłami! To w zasadzie magia.

Po drodze zobaczysz zdjęcia infrastruktury (przewody, skrzynki połączeniowe itp.) - trochę poza zakresem tej instrukcji. Skupię się na elektronicznych wnętrznościach systemu. Od Ciebie zależy, czy będzie odporny na warunki atmosferyczne (w razie potrzeby) lub ładny (w razie potrzeby) lub oba (pożądane).

Cieszę się, że mogę się podzielić i czekam na opinie tej społeczności. Ruszajmy - od początku do końca.

Krok 1: Sprzęt, części i narzędzia

Sprzęt, części i narzędzia
Sprzęt, części i narzędzia

Czy są lepsze części do wykorzystania? Tak.

Czy mój system działał prawidłowo z tymi częściami? Tak.

Czy powinieneś spróbować czegoś innego? Dlaczego nie?!Sprzęt/oprogramowanie

  1. RaspberryPi - im czystsze, tym lepsze, a RPi3 świetne, ponieważ potrzebujesz wifi

    • Zakładając: masz świeży ładunek Rasbian
    • Zakładając: zmieniłeś domyślne hasło i włączyłeś SSH (z ekranem)
    • Lub bez ekranu (patrz krok 1)
  2. Zasilacz ATX - z recyklingu jest najlepszy, miałem swój ze starego sprzętu do gier - zwracaj uwagę na waty podczas obliczania liczby potrzebnych świateł i najlepiej poszukaj szyny zasilającej +5VSB@2,5+Amp - to jest fioletowy przewód i zasili RPi w energię bez konieczności uruchamiania całego systemu odsysania mocy
  3. Oświetlenie zewnętrzne (12v) - były świetne: niska moc, przyzwoita moc, rozsądna cena
  4. Moduły przekaźników 5v i/lub 12v
  5. Jakiś rodzaj obudowy - użyłem puszki przyłączeniowej z PVC 8X8X4
  6. Notepad++ z NppFTP - służy do szybkiego ładowania i edycji plików RPi
  7. Putty - służy do instalowania kilku dodatkowych pakietów na RPi

Części

  1. Kabel zasilający 12 V do użytku na zewnątrz
  2. Zszywki druciane
  3. 1/2 "PCV i kilka połączeń pod kątem prostym - 2 stopy i 2 kąty proste dla każdej oddzielnej linii, którą planujesz biegać
  4. Jakiś kabel ethernet
  5. Zworki drutowe - różne kombinacje męskie/żeńskie
  6. Stwórz własne złącza Molex
  7. Rurki termokurczliwe
  8. Taśma elektryczna
  9. Kabel MicroUSB
  10. Opcjonalnie: te złącza przewodów są niesamowite - używaj ich cały czas (pojazdy dla dzieci, inteligentny ogród (złącza elektromagnetyczne) i przewód zasilający USB łączący ATX z RPi)

Narzędzia

  1. Dobra para nożyc do drutu - z mniejszej strony
  2. Śrubokręt krzyżakowy
  3. Mała para szczypiec półokrągłych
  4. Opcjonalnie: Woltomierz z testerem ciągłości - dużo przewodów i bardzo pomocny przy diagnozowaniu problemów…
  5. Czasami

Krok 2: Poznaj swój zasilacz

Poznaj swój zasilacz
Poznaj swój zasilacz
Poznaj swój zasilacz
Poznaj swój zasilacz

Przyjrzyj się całemu bałaganowi przewodów, które wydostają się z twojego zasilacza ATX. W zależności od Twojego wieku, będziesz miał główne złącze mobo (20-22 pinów - na zdjęciu pinout) plus zasilanie dla wszelkiego rodzaju innych rzeczy - napędów, kart graficznych, zasilania pomocniczego itp.

  • Linia +5VSB (Stand By) jest fioletowa. To będzie dedykowane Twojemu RPi - moc przez cały czas
  • Linia PS_ON jest zielona. Gdy jest podłączony do uziemienia, włączy czerwone i żółte dostawy
  • Linie +5V są czerwone. Jedna linia może zasilać 2-3 przekaźniki 5v
  • Linie +12V są żółte. Będziesz potrzebować 3-4 do zasilania oświetlenia zewnętrznego
  • Linie GROUND/COMMON są czarne. Będziesz potrzebować kilku z nich dla każdego z pozostałych kolorów
  • Wszystkie inne kolory nie będą używane w tym projekcie

Krok 3: Przygotuj zasilacz

Najpierw trochę zastrzeżenie:

Masz do czynienia z zasilaniem liniowym, jeśli nie wiesz/lub nie szanujesz tego, co robisz - możesz naprawdę zranić się lub gorzej… Zanim przejdziesz dalej, upewnij się, że tym razem i KAŻDYM RAZEM pracujesz z odłączonym zasilaniem ATX dostarcz i daj mu czas na rozładowanie, zanim go otworzysz. Nie jestem odpowiedzialny za to, że nie przestrzegasz i nie przestrzegasz kilku prostych zasad, które zapewnią Ci bezpieczeństwo.

OK! Iść dalej!

  1. Odłącz zasilanie i poczekaj 10-15 minut na rozładowanie kondensatorów
  2. Użyj śrubokręta krzyżakowego i wyjmij śruby z obudowy zasilacza (dla informacji, gwarancja unieważniona - dobry powód, aby przerobić)
  3. Odetnij wszystkie Molex/złącza, aby mieć kilka wolnych przewodów
  4. Oddziel i uporządkuj przewody fioletowy, zielony, żółty, czerwony i czarny
  5. Ostrożnie przetnij wszystkie pozostałe przewody wewnątrz obudowy - nie będziesz ich potrzebować, a to zaoszczędzi miejsce
  6. Zakryj końce przeciętych przewodów odrobiną taśmy izolacyjnej
  7. Uszczelnij tę obudowę za pomocą tylko potrzebnych przewodów z zasilacza, upewnij się, że przecinaj przewody nie w pobliżu radiatorów lub wentylatorów

Krok 4: Moc do Pi

Moc do Pi!
Moc do Pi!
Moc do Pi!
Moc do Pi!
Moc do Pi!
Moc do Pi!

Zanim zaczniesz sterować przekaźnikami, zasilmy całe RPi.

Pamiętaj, że nie omawiam podstaw wstępnej konfiguracji RPi (ładowanie systemu operacyjnego na kartę SD, ustawianie nowego hasła i włączanie SSH) - sprawdź ponownie w sekcji sprzętu / oprogramowania (krok 2), aby uzyskać linki do świetnych linków obejmujących te rzeczy.

Spójrz na pierwsze zdjęcie - stwórzmy przewód hybrydowy, który przeniesie fioletową linię z ATX do RPi:

Przewód zasilający USB do ATX

  1. Używając nożyc do drutu, przetnij przewód micro USB bliżej końcówki USB niż końcówki micro USB
  2. Ostrożnie zdejmij zewnętrzną osłonę kabla
  3. Powinieneś mieć 4 przewody (czarny, czerwony, zielony i biały)
  4. Pozostaw 1/2" do 3/4" czerni i czerwieni i usuń te końce, aby odsłonić miedź
  5. Całkowicie wytnij Green & White, nie będziesz ich potrzebować - to tylko dla zasilania, bez danych
  6. Weź kilka przewodów, które odciąłeś od zasilacza ATX (czerwony i czarny)
  7. Podłącz je do przewodu USB

    • Kilka sposobów, aby to zrobić - w kolejności długowieczności:

      • (A) Zdjąłem oba końce, zlutowałem je razem, a następnie użyłem trochę termokurczliwego to wszystko
      • (B) Skręć dwa pozbawione izolacji końce wzdłuż, a następnie obkurcz termokurczliwie
      • (C) Połącz dwa pozbawione izolacji końce kilkoma małymi nakrętkami z drutu
      • (D) Skręć ze sobą dwa pozbawione izolacji końce i owiń taśmą elektryczną
  8. Jeśli używasz złączy, zdejmij drugie końce i wsuń 1/4 "- 3/8" do złącza (upewnij się, że pasujesz do dodatniej i ujemnej strony)
  9. Jeśli używasz złącza, zdejmij fioletowy przewód z ATX i czarny i ponownie obserwuj dodatnie i ujemne (fioletowy do czerwonego i czarny do czarnego)
  10. Jeśli nie używasz złącza, po prostu je nakręć.

Po podłączeniu do zasilania i RPi sprawdź, czy nie ma żadnych innych pozbawionych izolacji przewodów i podłącz ponownie zasilacz. Po włączeniu zasilania powinieneś mieć działające Raspberry Pi!

Jeśli nie - dokładnie sprawdź połączenia, pozytywy, masę itp.

Nie ma kości? Użyj testera ciągłości woltomierza, aby sprawdzić przewód. Powinien usłyszeć sygnał dźwiękowy po dotknięciu obu końców. Sprawdź również, czy fioletowa linia z zasilacza ATX ma +5V.

Nadal nie możesz iść? Wypróbuj czerwony przewód dla +5v, może to wykorzystać, ale zmieni trochę następny krok i zużyje większą moc.

Teraz zróbmy sobie przerwę od sprzętu i popracujmy nad naszymi miękkimi umiejętnościami.

Krok 5: SSH do RPi i pobierz oprogramowanie

SSH do RPi i chwyć trochę oprogramowania
SSH do RPi i chwyć trochę oprogramowania

Ach, piękno open source… takie wspaniałe…

Zacznijmy od małej szpachli.

Istnieje mnóstwo wspaniałych zasobów w tym małym, ale mało potężnym programie. Jeśli masz włączone SSH i zmieniłeś domyślne hasło, wszystko jest gotowe. Odpalmy go i zdejmijmy kilka nowych pakietów i oprogramowania.

Open Source to najlepsze źródło

Zacznijmy od wszystkich ważnych:

$ sudo apt-get update

$ sudo apt-get upgrade

Tak na wszystkie pytania.

Teraz weźmy bibliotekę WiringPi - sprawia, że GPIO jest znacznie łatwiejsze w zarządzaniu.

$ sudo apt-get zainstaluj git-core

Tak na wszystkie pytania - teraz go zbuduj:

$ klon git git://git.drogon.net/wiringPi

$ cd ~/okablowaniePi $./build

Ostatni, ale nie mniej ważny - jeden niesamowity serwer WWW:

$ sudo apt-get zainstaluj apache2 php5 libapache2-mod-php5

Jeśli wszystko pójdzie dobrze, powinieneś być w stanie wpisać adres IP RPi i zobaczyć "To działa!"

Następnie zapewnij sobie dostęp:

$ sudo chown pi:pi /var/www/html/ $ sudo chmod 755/var/www/html/

Uwaga dodatkowa dotycząca adresów IP

Jednym z powodów, dla których podoba mi się ten projekt IoT, jest to, że jest mój. iIoT, jeśli chcesz. Nie musisz się martwić o „chmurę” ani inne usługi. ALE musisz określić, w jaki sposób chcesz, aby to działało dla siebie. Kluczem do każdej opcji jest potrzeba stałego, stabilnego adresu IP - w przeciwnym razie nigdy nie będziesz wiedział, gdzie się udać, aby włączyć i wyłączyć światła. Osobiście korzystam z opcji (C), ale Twój telefon.

Kilka opcji:

  • (A) statyczny adres IP dla RPi
  • (B).lokalne przypisanie domeny
  • (C) Pozwól routerowi przypisywać za każdym razem ten sam. Zależy od możliwości routera - poszukaj ustawienia o nazwie „Rezerwacja adresu”, zwykle w sekcji Zaawansowane ustawienia sieci LAN.

Krok 6: Połącz się z RPi przez NotePad ++ SSH

Połącz się z RPi przez NotePad++ SSH
Połącz się z RPi przez NotePad++ SSH
Połącz się z RPi przez NotePad++ SSH
Połącz się z RPi przez NotePad++ SSH

Będę używał Notepad ++ do edycji plików HTML, PHP, Python, JavaScript i CSS oraz wtyczki o nazwie NppFTP, aby szybko i łatwo wprowadzić te zmiany do twojego RPi - eleganckie, proste i szybkie. NppFTP jest domyślnie dostępny w wersji 32-bitowej, ale jeśli przejdziesz na wersję 64-bitową, jest teraz również obsługiwany, ale będziesz musiał zainstalować go ręcznie.

  1. Otwórz Notatnik ++
  2. Wtyczki NppFTP Pokaż okno NppFTP (można również wybrać mały folder z ikoną łańcucha)
  3. W oknie NppFTP wybierz ikonę COG i „Ustawienia profilu”
  4. To powinno być puste, jeśli nigdy tego nie używałeś, wybierz „Dodaj nowy”
  5. Nazwa hosta = adres IP RPi w sieci lokalnej
  6. SFTP to typ z portem 22 (SSH)
  7. Nazwa użytkownika to „Pi”, a hasło to nowo zaktualizowane hasło… prawda?!
  8. Ustaw także domyślny katalog na '/var/www/html/' - ułatwi to zadanie
  9. Kliknij ikonę połączenia i wybierz profil, który właśnie utworzyłeś - powinien spakować Cię bezpośrednio do nowego katalogu

Otwarcie pliku przyniesie lokalny plik do twojego komputera, zapisanie go automatycznie załaduje twoje zmiany do RPi.

Otwórz index.php, gpio.php, css.css i script.js w Notepad++, a następnie prześlij je do folderu html.

Przetestuj go, wprowadzając adres IP swojego RPi - powinieneś zobaczyć domyślną stronę kontrolną ładowania.

Jeśli nie, sprawdź i upewnij się, że wszystkie pliki znajdują się w RPi, a także upewnij się, że nie ma innych „indeksów” w folderze html.

Jeśli widzisz wczytywanie strony, sukces! Porozmawiajmy więcej o plikach, które umieszczasz na swoim RPi i o tym, jak pomagają Ci kontrolować oświetlenie!

Krok 7: Przegląd interfejsu i Index.php

Przegląd interfejsu i Index.php
Przegląd interfejsu i Index.php
Przegląd interfejsu i Index.php
Przegląd interfejsu i Index.php

Moim głównym celem było sterowanie oświetleniem za pomocą prostego, internetowego interfejsu, który można załadować z dowolnego urządzenia. Rezultatem jest strona z dużą liczbą funkcji, DUŻO miejsca na dostosowanie jej do własnych potrzeb i wieloma kolorowymi językami.

Jak widać na pierwszym obrazku - JavaScript zawarty w index.php służy do wywoływania gpio.php, gdy zmieni się stan naszego checkboxa (np. przełącznika). gpio.php następnie zapisuje i odczytuje piny gpio.

Zacznijmy od index.php w załącznikach. Zajmę się tym pojedynczo, wskazując obszary i kilka konkretnych notatek, które mogą ci pomóc.

Pierwsze linki prowadzą do arkusza stylów CSS i niestandardowej ikony, która jest bitmapą 32x32 z rozszerzeniem „.ico”

Drugi to trochę Javascript, przykład z taktowanym zegarem z w3schools, dopracowany, aby dodać trochę AM/PM i migający dwukropek (tak jak chciałem, żeby był wyświetlany, może chcesz, żeby było inaczej?)

Po pierwsze, trochę PHP - uruchomi się jako pierwsze - tylko na serwerze (nie widać go w źródle po załadowaniu strony) - również powód, dla którego nie można go nadal używać do zapisywania stanów pinów.

$nm_array = array("Twój przełącznik 1", "Twój przełącznik 2" itp.);

//tutaj dodajesz obszary, które chcesz oddzielnej kontroli nad światłami //Możesz dodać tyle, ile chcesz/potrzebujesz - jest skonfigurowany do liczenia i tworzenia odpowiednich przełączników

$wthr_array = tablica(); //puste, ale przechowuje punkt danych wypełniony przez skrypt Pythona

Następna pętla użyje funkcji PHP 'system' i 'exec', aby ustawić wszystkie tryby pinów za pomocą WiringPi (wszystkie wyjścia), a następnie je odczytać. Ponieważ wiele źródeł może wprowadzać zmiany, chciałem mieć pewność, że nowe strony będą widzieć aktualny stan. Javascript później je odczyta i odpowiednio ustawi pola wyboru na zaznaczone lub odznaczone.

Na koniec, jeśli chcesz wykonać skrypt Pythona, aby pobrać punkt danych i wypełnić tablicę $wthr_array.

Dalej w górę klasa div "header" - każdy z elementów listy reprezentuje zawartość kontenerów w nagłówku strony internetowej (czas, tytuł i temp.)

Pętla PHP, która będzie się zapętlać na podstawie liczby nazw przełączników dodanych do tablicy $nm_array.

Co ważne, przypisuje również numery PIN w kolejności sekwencyjnej. Począwszy od PIN0 do dowolnej liczby, ale naprawdę ograniczone w oparciu o liczbę pinów GPIO dostępnych w twoim RPi, więc 16. Będzie to bardzo ważne w następnym kroku, kiedy zaczniemy kontrolować rzeczy.

Kilka krótkich notatek na temat niektórych innych plików:

base.css

Twoje własne kolory (web, rgb, itp.) dla strony są ustawione w liniach 68, 111 i 134. Wybrałem te, ponieważ są to te same kolory, które moja super twórca żony wybrała dla mnie do pomalowania nowego ganku z tyłu, więc pomaga powiązać interfejs z miejscem, w którym interfejs jest zwykle wykonywany.

Począwszy od linii 194, możesz dostosować wygląd przełączników dwustabilnych

gettemp.py

Ten super prosty skrypt w języku Python jest gotowy do działania, gdy tylko zdobędziesz własny klucz API z podziemi meteorologicznych, a ponadto pokaże Ci statystyki dotyczące korzystania z Twojej strony (za każdym razem, gdy strona się ładuje, następuje wywołanie - dzięki czemu możesz zobaczyć niektóre dane)

Krok 8: Kontrola rzeczy za pomocą 12 V

Kontrola rzeczy z 12V
Kontrola rzeczy z 12V
Kontrola rzeczy z 12V
Kontrola rzeczy z 12V
Kontrola rzeczy z 12V
Kontrola rzeczy z 12V

Prawdopodobnie zauważyłeś, że twój zasilacz nie wydaje zbyt wiele dźwięku. Wentylator wyłączony, brak napięcia na liniach żółtych lub czerwonych itp.

To dlatego, że musimy podłączyć ZIELONY (PS_ON) do uziemienia, aby faktycznie włączyć główne zasilanie.

Wyciągnijmy jeden z tych przekaźników.

  1. Zdejmij i podłącz ZIELONY przewód do jednego z zacisków przekaźnika
  2. Zdejmij i podłącz CZARNY przewód do jednego z zacisków przekaźnika obok zielonego

Ok, teraz weź kilka kabli połączeniowych - CZERWONY i CZARNY, zarówno żeński, jak i w DOWOLNYM KOLORZE z jednej strony i męski z drugiej.

  1. Zdejmij jeden koniec CZERWONEGO i CZARNEGO, pozostawiając jedną żeńską stronę i połącz za pomocą nakrętki drutu CZERWONY z FIOLETOWYM (ten sam, do którego podłączony jest twój RPi) i CZARNY z CZARNYM
  2. Strona żeńska przejdzie do przekaźnika CZERWONY do dodatniego, a CZARNY do ujemnego
  3. Wybrany KOLOR będzie męski do GPIO (patrz zdjęcie - wybierzemy WiringPi PIN 0)

    UWAGA: Używam kabla taśmowego do podłączenia GPIO, ale możesz przejść bezpośrednio do nagłówka RPi

  4. Strona żeńska przejdzie do "sygnału" lub pinu S przekaźnika

Wróć do strony głównej (adres IP twojego RPi) – pierwszy przełącznik, być może jedyny, powinien teraz wyłączyć ATX PS ze stanu czuwania, włączyć wentylator i zacząć wysyłać sok do wszystkich 12 V, 5 V i 3,3 Przewody V.

Fajne jest to, że możesz się tutaj zatrzymać. Po prostu podłącz swoje oświetlenie do kilku linii 12V i będziesz mieć prosty, cyfrowy przełącznik do sterowania nim.

Ale gdzie jest w tym zabawa? Następnie omówię okablowanie oświetleniowe, a także metodę dodawania większej liczby przełączników i większej kontroli nad oświetleniem.

Krok 9: Większa kontrola dzięki zasilaniu (i danych) przez Ethernet (P(&D)oE)

Większa kontrola dzięki zasilaniu (i danych) przez Ethernet (P(&D)oE)
Większa kontrola dzięki zasilaniu (i danych) przez Ethernet (P(&D)oE)
Większa kontrola dzięki zasilaniu (i danych) przez Ethernet (P(&D)oE)
Większa kontrola dzięki zasilaniu (i danych) przez Ethernet (P(&D)oE)
Większa kontrola dzięki zasilaniu (i danych) przez Ethernet (P(&D)oE)
Większa kontrola dzięki zasilaniu (i danych) przez Ethernet (P(&D)oE)

Być może zastanawiałeś się, czym jest ten cały kabel ethernetowy, który dodałem do listy zaopatrzenia.

Korzystając z sieci Ethernet, możemy wysłać 5 V wraz z sygnałem GPIO bezpośrednio do innych połączeń przekaźnikowych, aby jeszcze bardziej zwiększyć kontrolę nad naszym systemem oświetleniowym. A może chcesz oddzielnej kontroli niektórych obszarów podwórka? A może przednia i tylna część? To umożliwi.

Przedstawię koncepcję i kilka sprawdzonych metod, które możesz dostosować do swoich potrzeb.

Spójrz na pierwsze i drugie zdjęcie. Biorąc linię +5V z naszego zasilacza, wysyłam ją za pomocą skręconego kabla Ethernet.

  1. Ostrożnie zdejmij zewnętrzną powłokę z kabla Ethernet - nie chcesz uszkodzić przewodów 24-23 AWG
  2. Wybierz dwa zestawy kolorów i ostrożnie je rozkręć - jeden będzie napięciem, a drugim uziemieniem

    UWAGA: Bardzo dobry pomysł, aby udokumentować, jaki jest kolor, kiedy podłączasz drugą stronę

  3. Zdejmij końce obu przewodów i przewodów do CZERWONEGO (+5v) i CZARNEGO uziemienia na twoim zasilaczu (zdjęcie 2)
  4. Zrób to samo dla innego koloru drutu, ale zamiast tego podłącz zworkę z pinu GPIO

Bardzo przydają się tutaj złącza firmy Molex, do których podłączyłem się w sekcji materiałów eksploatacyjnych. Weź 3 zestawy skręconych par, zaciśnij je w żeńskich złączach Molex wraz z 3-bolcowym złączem i będą one podłączone bezpośrednio do przekaźnika. (rysunek 3). Upewnij się, że oglądasz zamawianie, mój przekaźnik potrzebował ich, aby były w +, - i S. Jeśli zrobisz kabel Molex nie w tej kolejności, może być trudno je zmienić.

Jeśli podłączysz szynę zasilającą Ethernet do przekaźnika, możesz uruchomić tę linię w dowolnym miejscu i podłączyć do niej w różnych lokalizacjach.

Przetestowałem to z ponad 100 stopami sieci Ethernet z ograniczonym spadkiem napięcia i dobrym sygnałem GPIO, który dzięki skrętce jest stosunkowo stabilny i chroniony przed zakłóceniami.

Krok 10: Rozświetl to podwórko

Rozświetl to podwórko!
Rozświetl to podwórko!
Rozświetl to podwórko!
Rozświetl to podwórko!
Rozświetl to podwórko!
Rozświetl to podwórko!

Jest tak wiele sposobów na zrobienie tego. Omówię kilka ogólnych koncepcji i kroków, aby upewnić się, że system działa i jest bezpieczny.

Pamiętaj, że będziesz zakopywał w tym celu kabel. Kabel, z którym się połączyłem, jest tym, którego użyłem i jest przeznaczony do zakopania pod ziemią, co oznacza, że należy zachować szczególną ostrożność, aby nie przeciąć linii kablowych, linii internetowych LUB W NAJGORSZYM PRZYPADKU, linii energetycznych… jeśli nie masz pewności, skontaktuj się z lokalnym „zadzwoń przed kopaniem”. Ponadto śledź, co jest pozytywne, a co negatywne. Zawsze wiedziałem, że kabel z "słowami" (białe litery) był ujemny, a pusty był dodatnią linią)

Ponieważ dodałem ganek z tyłu, zaplanowałem nieco wcześniej i rozmieściłem skrzynki połączeniowe na całym obwodzie mojego nowego fundamentu, co znacznie uprościło sprawę. Możesz równie łatwo poprowadzić linie pod pokładem, kostkę brukową itp. Po prostu upewnij się, że wszystkie połączenia przewodowe, zwłaszcza przekaźniki, zostały umieszczone w odpornej na warunki atmosferyczne skrzynce połączeniowej.

Najpierw poprowadziłem linie 12V przez skrzynkę przyłączeniową (zdjęcie 2).

Drut ten prowadził w ziemię, przez przewód PVC o średnicy 1/2 cala pod kątem prostym u dołu, do ziemi około 6-8 cali. Wykop, który jest twardy w naszej kamienistej glebie (musiało użyć kilofa), ale może mieszkasz gdzieś z prawdziwym brudem…

Linka pojawia się (zdjęcie 4), ponownie pod kątem prostym i 1/2 PCV i przymocowana do drzewa. Skończyło się na wypełnieniu górnej części PCV odrobiną silikonu, aby zapobiec szarpaniu drutu przez dzieciaki.

W przypadku niektórych instalacji możesz się tu zatrzymać i skierować światło w stronę drzewa. Przetestuj go w nocy, aby uzyskać pożądany wygląd. Jeśli chcesz, żeby światło się obniżyło… kontynuuj.

Użyłem zszywek drucianych, uważając, aby nie przebić drutu, aby poprowadzić go za drzewem (zdjęcie 5)

Gdy masz już linię, musisz przykręcić wspornik montażowy do drzewa. Po zabezpieczeniu użyj nakrętek drucianych, aby połączyć dodatni z czerwonym i ujemnym z niebieskim lub czarnym oprawy oświetleniowej. Owiń połączenia kawałkiem taśmy elektrycznej, aby nie dopuścić do zawilgocenia.

Opłucz i powtórz dla dowolnej liczby świateł, które chcesz uruchomić!

Przetestuj go, uruchamiając telefon, iPada lub komputer i przechodząc do adresu IP RPi.

Ostatnią rzeczą, która musi się wydarzyć, jest upewnienie się, że twoje RPi i połączenia są ładne i wygodne w puszce połączeniowej lub innym rodzaju układu - ponownie, poza zakresem tutaj.

Krok 11: Ulepszenia w toku i podsumowanie

Więc co dalej i jak poprawić? Szukam pomocy tej społeczności, ale także kilku pomysłów, które wdrożyłem od czasu złożenia tego lub pracuję między innymi projektami w domu.

Aktualizowanie usługi pogodowej

Zacząłem używać Accuweather API zamiast WeatherUnderground (wycofana usługa API) - dodano 'gettemp.py', aby pokazać jak!

Dodawanie fizycznych przycisków

Wziąłem 4-przyciskową jednostkę podobną do tej, którą widzę w naszej biurowej sali konferencyjnej i od tego czasu podłączyłem ją do 4 GPIO, które są monitorowane przez skrypt Pythona, gdy urządzenie jest włączone. Teraz może również użyć ich jako innej metody włączania i wyłączania tego wszystkiego, a sposób, w jaki zaprogramowałem stronę główną, sprawdzi najpierw, jaki jest aktualny stan pinu GPIO, aby nie mieć sprzecznych sygnałów wejściowych. Ludzie z touchplate.com byli bardzo pomocni w odpowiedzi na moje pytania, aby to działało - dziękuję!

Różne dane z Weather Underground

Zacząłem ściągać dane astrologiczne z WU (wschód, zachód słońca itp.). Pracuję nad tym, aby światła włączały się i wyłączały 30 minut przed zachodem słońca i wyłączały się o określonych porach. Przydałoby się do tego kilka czujników analogowych, ale nie jest to najlepsze zastosowanie RPi, więc gra z rozwiązaniem programowym.

Dodawanie automatycznego włączania/wyłączania

Mój ganek z tyłu to solidne 10 metrów betonu, który wylaliśmy około 2 lata temu. W zeszłym roku mieliśmy kapryśną pogodę - jednego dnia na dworze było 35-40F, a następnego 70-80F przy 60-80% wilgotności. To spowodowało kondensację na płycie, czyniąc ją bardzo śliską. Aby rozwiązać ten problem, dodałem skrypt Pythona, aby obniżyć temperaturę z poprzednich dni (aby określić przybliżoną temperaturę płyty) i punkt rosy, aby określić, czy warunki są odpowiednie do tworzenia kondensacji na werandzie (https://www. weatherquestions.com/What_is_condensati… Jeśli temp. jest niższa niż punkt rosy - wtedy wentylatory włączają się, jeśli nie, to pozostają wyłączone. Nie nadpisze również, jeśli wentylatory zostały włączone ręcznie i zmieni się nieco interfejs strony jeśli 'AI' włączyło wentylatory. Dodałem 4 pliki: dryout.py, auto_on.py & auto_off.py (miejsce w folderze python) oraz zaktualizowany index.php (miejsce w folderze głównym) - ty' Będę musiał zaktualizować twój klucz API Weatherunderground.

W terminalu:

$ sudo crontab -e

Następnie dodaj na dole:

#co godzinę sprawdzaj temperaturę/punkt rosy, aby sprawdzić, czy trzeba włączyć wentylatory

0 * * * * /usr/bin/python /var/www/html/python/dryout.py

Teraz co godzinę będzie działał dryout.py. LUB możesz użyć tego jako szablonu dla innej funkcji, być może włączając i wyłączając światła za pomocą innego wyzwalacza? Czas zachodu/wschodu słońca? LUB jeśli na zewnątrz jest po prostu gorąco i chcesz, aby wentylatory włączyły się automatycznie, jeśli temperatura zostanie ustawiona. osiąga XX stopni?

Dodawanie czujników ruchu

Umieszczenie kilku czujników ruchu w pobliżu wejść, wykorzystując strukturę Ethernet do kierowania zasilania i danych we/wy, byłoby bardzo proste. Następnie prosty skrypt Pythona do monitorowania i włączania i wyłączania świateł. Może to być zabawny mały projekt dodatkowy.

Mam nadzieję, że to przynajmniej daje ci wyobrażenie, że jest to wykonalne i co najwyżej możesz odtworzyć to, czego używam z powodzeniem od ponad miesiąca. Mnóstwo świetnych odpowiedzi od przyjaciół i rodziny i wiem, że otrzymasz to samo, jeśli wyjdziesz i zaczniesz robić! Dziękuję za pójście ze mną i daj mi znać o wszelkich opiniach, poprawkach lub pytaniach, które możesz mieć! -czyściciel

Zalecana: