Spisu treści:

Gniazdo zasilania z dostępem do Internetu: 13 kroków
Gniazdo zasilania z dostępem do Internetu: 13 kroków

Wideo: Gniazdo zasilania z dostępem do Internetu: 13 kroków

Wideo: Gniazdo zasilania z dostępem do Internetu: 13 kroków
Wideo: Połączenie i zasilanie kamer IP po kablu, z wykorzystaniem adapterów POE 2024, Lipiec
Anonim
Image
Image
Potrzebne materiały
Potrzebne materiały

PowerHub Webserver Project i instrukcje konfiguracji gniazdka z dostępem do Internetu

Centralne centrum utrwalania danych dla oświetlenia i gniazdek z dostępem do Internetu w Twoim domu!

Krok 1: Instrukcja konfiguracji projektu PowerHub Webserver i gniazdka z dostępem do Internetu

Centralne centrum utrwalania danych dla oświetlenia i gniazdek z dostępem do Internetu w Twoim domu

Flashowanie dysku twardego RaspberriPi / instalacja wymaganego oprogramowania (przy użyciu systemu Ubuntu Linux) Pobierz "RASPBIAN JESSIE LITE"

Utwórz nowy dysk twardy dla DashboardPI

Włóż kartę microSD do komputera za pomocą adaptera USB i utwórz obraz dysku za pomocą polecenia dd

Zlokalizuj włożoną kartę microSD za pomocą polecenia df -h, odmontuj ją i utwórz obraz dysku za pomocą polecenia disk copy dd

$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /media/XXX/1234-5678

$ umount /dev/sdb1

Uwaga: upewnij się, że polecenie jest całkowicie dokładne, za pomocą tego polecenia możesz uszkodzić inne dyski

if=lokalizacja pliku obrazu RASPBIAN JESSIE LITE of=lokalizacja karty microSD

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (uwaga: w tym przypadku jest to /dev/sdb, /dev/sdb1 to istniejąca partycja fabryczna na microSD)

Konfigurowanie RaspberriPi

Włóż nową kartę microSD do raspberrypi i włącz ją za pomocą monitora podłączonego do portu HDMI

Zaloguj sie

użytkownik: pi pass: malina

Zmień hasło do konta ze względów bezpieczeństwa

sudo passwd pi

Krok 2: Włącz zaawansowane opcje RaspberriPi

sudo raspi-config

Wybierz: 1 Rozwiń system plików

9 opcji zaawansowanych

Nazwa hosta A2 zmień ją na „WIFI-OUTLET”

A4 SSH Włącz serwer SSH

A7 I2C Włącz interfejs i2c

Włącz klawiaturę angielską/amerykańską

sudo nano /etc/default/klawiatura

Zmień następujący wiersz: XKBLAYOUT="us"

Zrestartuj PI, aby zmiany układu klawiatury / zmiana rozmiaru systemu plików zaczęły obowiązywać

$ sudo zamknięcie -r teraz

Automatyczne łączenie z Wi-Fi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Dodaj następujące wiersze, aby raspberrypi automatycznie łączył się z domową siecią Wi-Fi (jeśli Twoja sieć bezprzewodowa nosi na przykład nazwę „linksys”, w poniższym przykładzie)

network={ ssid="linksys" psk="TUTAJ HASŁO BEZPRZEWODOWE" } Uruchom ponownie PI, aby połączyć się z siecią Wi-Fi

$ sudo zamknięcie -r teraz

Teraz, gdy Twoje PI jest już w sieci lokalnej, możesz zalogować się do niego zdalnie przez SSH. Ale najpierw musisz uzyskać adres IP, który obecnie posiada.

$ ifconfig Poszukaj "inet addr: 192.168. XXX. XXX" w wyniku następującego polecenia dla adresu IP twojego PI

Przejdź do innego komputera i zaloguj się do swojego raspberrypi przez ssh

$ ssh [email protected]. XXX. XXX

Krok 3: Rozpocznij instalowanie wymaganych pakietów

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install vim git python-requests python-gpiozero python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-sdevpython

Zaktualizuj lokalne ustawienia strefy czasowej

$ sudo dpkg-reconfigure tzdata

wybierz swoją strefę czasową za pomocą interfejsu

Skonfiguruj proste polecenie l katalogu [opcjonalne]

vi ~/.bashrc

dodaj następujący wiersz:

alias l='ls -lh'

źródło ~/.bashrc

Napraw domyślne podświetlanie składni VIM [opcjonalne]

sudo vi /etc/vim/vimrc

odkomentuj następujący wiersz:

składnia włączona

Zainstaluj sterowniki Pythona i2c

Krok 4: ZBUDUJ INTERNETOWE API

Poniższe instrukcje pozwolą Ci zbudować centralny koncentrator, który wyjaśnia różne gniazdka Wi-Fi i przełączniki ścienne, które możesz zbudować, które urządzenia są włączane i wyłączane. Jest to mały skrypt PHP do umieszczenia na wybranym przez Ciebie hoście. Ma następujący interfejs API do pobierania i ustawiania informacji. Uwaga: nie zapomnij dołączyć pliku.htaccess w celu prawidłowego routingu adresów URL.

Zainstaluj folder "index.php", "values/" i settings.php (skonfigurowane do własnych wartości) na wybranym serwerze WWW z obsługą PHP. Wartość tajnego klucza w pliku "settings.php" musi odpowiadać wartości tajnego klucza ustawionej w pliku "settings.py". Na podstawowym poziomie uniemożliwi to wszelkim innym ruchom internetowym ustawianie / zapisywanie wartości, włączanie urządzeń, teraz potrzebujesz tego zaszyfrowanego klucza API w nagłówku żądania HTTP, aby to zrobić.

Interfejs API obsługuje następujące funkcje, w tym projekcie będziemy używać tylko wartości „flag”, które są wartościami logicznymi, które informują przełącznik o włączaniu i wyłączaniu. Być może, gdybyś chciał skorzystać z wartości „odczytu”, mógłbyś to mieć, więc jeśli temperatura w pomieszczeniu stanie się zbyt wysoka, zapisując tam temperaturę, może włączyć wentylator okienny itp.

Zdobądź kod

Sklonuj następujący projekt z GitHub, aby uzyskać kod do uruchomienia serwera WWW i gniazda RaspberryPI.

github.com/khinds10/PowerHub

Punkty końcowe API działające na serwerze internetowym

myhost/message (pobierz aktualny zestaw wiadomości)

myhost/message/set (HTTP POST nieprzetworzoną wartość ciągu do tego adresu URL, aby ustawić nową wiadomość)

myhost/flag/{id} (pobierz aktualny stan logiczny flagi przez liczbę całkowitą: {id})

myhost/flag/all (pobierz wszystkie aktualne wartości logiczne wszystkich flag jako tablicę)

myhost/flag/{id}/set (ustaw aktualny status logiczny na 'true' dla flagi przez liczbę całkowitą: {id})

myhost/flag/{id}/unset (ustaw aktualny status logiczny na 'false' dla flagi przez liczbę całkowitą: {id})

myhost/reading/{id} (pobierz aktualną uśrednioną wartość odczytu przez liczbę całkowitą: {id})

myhost/reading/all (pobierz aktualną uśrednioną wartość dla wszystkich odczytów jako tablicę)

myhost/reading/{id}/set (HTTP POST nieprzetworzoną wartość liczbową do tego adresu URL, aby dodać nową wartość do bieżącej obliczonej średniej) - zobacz poniżej, ile wartości w sumie jest kompilowanych do wartości średniej Konfiguracja Wartości „odczytów” są obliczane jako średnie pewnej liczby ostatnich utrwalonych wartości liczbowych odczytów. Ustaw następującą stałą określającą, ile ostatnich odczytów należy uwzględnić, aby uzyskać średnią.

$odczytyAverageLimit = 5;

Datastore Server będzie utrwalać wartości w prostych plikach umieszczonych zgodnie z poniższymi konwencjami nazewnictwa. Uwaga: {id} zostanie zastąpiony rzeczywistą liczbą całkowitą prezentowaną przez adres URL przychodzącego żądania.

$valueFileFolder = 'values' (nazwa folderu zawierającego pliki pomiarowe) $messageFileName = 'message.msg' (nazwa pliku tekstowego wiadomości) $readingsFilesNames = 'reading{id}.avg' (nazwa pliku CSV uśredniona odczytów) $flagFilesNames = 'flag{id}.flg' (nazwa pliku flagi wartości logicznej flagi)

Upewnij się, że wszystkie pliki wartości są zapisywalne przez wartości systemchmod 777/*

Krok 5: Potrzebne materiały

Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały

Otwornica 1 cal (do wiertarki)

Moduł przekaźnika 5 V 2 kanałowy

Dwustronna płyta ścienna z gniazdem

Gniazdo dwustronne

Pi Zero W

Podwójny zespół do montażu powierzchniowego w puszce

Białe podświetlane przyciski

Krok 6: Budowanie gniazdka

Budowanie outletu
Budowanie outletu

Przerwij klapki wylotowe

Złam zakładkę z boku gniazdka, aby każde gniazdo włączało się/wyłączało niezależnie

Krok 7: Zainstaluj przyciski

Zainstaluj przyciski
Zainstaluj przyciski
Zainstaluj przyciski
Zainstaluj przyciski

Na płycie czołowej wylotu za pomocą 1-calowej piły do otworów wytnij 2 otwory na przyciski, które mają być umieszczone obok wylotów

Test doboru komponentów

Upewnij się, że wszystkie elementy zmieszczą się w puszce do montażu powierzchniowego na wylocie

Krok 8: Przekaźnik przewodowy

Przekaźnik przewodowy
Przekaźnik przewodowy
Przekaźnik przewodowy
Przekaźnik przewodowy

Podłącz przekaźnik do gniazdka, z przedłużacza biegnącego do ściany, podłącz masę (zielony) i neutralny (biały) bezpośrednio do gniazdka. W przypadku gorącego (czarnego) podłącz je do przekaźnika, a następnie z przekaźnika do każdego gniazdka gorącego indywidualnie

Krok 9: Dodatkowe obrazy okablowania i montażu

Dodatkowe obrazy okablowania i montażu
Dodatkowe obrazy okablowania i montażu

Krok 10: Schemat połączeń

Schemat połączeń
Schemat połączeń

Użyj diagramu, aby poprawnie podłączyć komponenty do pracy z kodem RaspberryPI Python.

Krok 11: Przetestuj przebieg próbny

Przetestuj pracę na sucho
Przetestuj pracę na sucho
Przetestuj pracę na sucho
Przetestuj pracę na sucho
Przetestuj pracę na sucho
Przetestuj pracę na sucho

Po ostatecznym montażu, przed skręceniem zespołu otworów, wykonaj suchobieg urządzenia, aby upewnić się, że nie ma zwarć, złego okablowania

Krok 12: Ustaw skrypty startowe

crontab -e

dodaj następujące wiersze

@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py

Zalecana: