Spisu treści:
- Krok 1: Instrukcja konfiguracji projektu PowerHub Webserver i gniazdka z dostępem do Internetu
- Krok 2: Włącz zaawansowane opcje RaspberriPi
- Krok 3: Rozpocznij instalowanie wymaganych pakietów
- Krok 4: ZBUDUJ INTERNETOWE API
- Krok 5: Potrzebne materiały
- Krok 6: Budowanie gniazdka
- Krok 7: Zainstaluj przyciski
- Krok 8: Przekaźnik przewodowy
- Krok 9: Dodatkowe obrazy okablowania i montażu
- Krok 10: Schemat połączeń
- Krok 11: Przetestuj przebieg próbny
- Krok 12: Ustaw skrypty startowe
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
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
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
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
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
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
Krok 10: Schemat połączeń
Użyj diagramu, aby poprawnie podłączyć komponenty do pracy z kodem RaspberryPI Python.
Krok 11: Przetestuj przebieg próbny
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:
Gniazdo zasilania sterowane przez Google Home: 9 kroków (ze zdjęciami)
Gniazdko elektryczne sterowane przez Google Home: Moja dziewczyna zawsze chciała zbudować inteligentny dom. Budujemy więc infrastrukturę i pierwszy element inteligentnego domu, zdalnie sterowany wyłącznik gniazdkowy, którym możesz sterować za pomocą panelu sterowania lub za pomocą poleceń głosowych (jeśli masz google home lub goog
Dostosuj uszkodzone lub nieznane gniazdo zasilania telefonu komórkowego: 5 kroków
Dostosuj uszkodzone lub nieznane gniazdo zasilania telefonu komórkowego: Zhakuj komórkę, do której nie masz zasilacza lub jeśli gniazdo jest uszkodzone. Użyj dowolnego innego zasilacza do telefonu komórkowego i daj swojemu zdesperowanemu telefonowi drugą szansę
Wymień uszkodzone gniazdo zasilania DC w laptopie (AKTUALIZACJA).: 12 kroków
Wymień uszkodzone gniazdo prądu stałego na swoim laptopie (AKTUALIZACJA): OK, moje dzieci biegały po moim pokoju i ciągle potykały się o kabel zasilający mojego laptopa. Wtedy gniazdo zasilania DC zostało uszkodzone. Musiałem zawsze naciskać gniazdo, aby naładować laptopa. Osiągnąłem swój limit. Prawie wyrzucałem komputer z
Dodaj gniazdo zasilania USB w samochodzie: 9 kroków (ze zdjęciami)
Dodaj gniazdo zasilania USB w swoim samochodzie: Biorąc pod uwagę nieporęczną naturę zasilaczy 12 V do pojazdów, zdecydowałem się zintegrować gniazdo zasilania USB w moim Prius III z 2010 roku. Chociaż ten mod jest specyficzny dla mojego samochodu, można go zastosować do wielu samochodów, ciężarówek, kamperów, łodzi itp
Styl iPhone'a na dowolnym telefonie komórkowym z ekranem dotykowym i dostępem do Internetu: 6 kroków
Styl iPhone'a na dowolnym telefonie komórkowym z ekranem dotykowym z dostępem do Internetu: tutaj omówię ustawienie strony głównej LG Voyager na odpowiednią stronę myphonetoo w celu uzyskania tego efektu. Działa to najlepiej na telefonie z ekranem dotykowym. Opracowano witrynę internetową, która wygląda jak iPhone, wszystkie linki prowadzą do stron zaprojektowanych