Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Skonfiguruj Rasbian
- Krok 2: Pobieranie kodu i konfigurowanie
- Krok 3: Komunikacja Arduino
- Krok 4: Okablowanie Switch-it
- Krok 5: Uruchamianie kodu
- Krok 6: (OPCJONALNIE) Obudowa
Wideo: Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Bardzo lubię automatyzację, możliwość kontrolowania, kiedy coś ma się wydarzyć. To właśnie sprawiło, że wpadłem na ten pomysł: samodzielnie zrobiony, automatyczny wylot. Może być używany do planowania, kiedy należy włączyć światła, kiedy telefony muszą być naładowane lub kiedy ekran wymaga zasilania. Oprócz tego masz możliwość sprawdzenia, ile prądu płynie przez gniazdko.
Komponenty potrzebne do tego projektu to:
Kieszonkowe dzieci
Zanim zaczniemy, są to rzeczy, których na pewno będziesz potrzebować, aby zbudować urządzenie Switch-IT takie jak moje. Dostawy te będą kosztować około 50 do 100 euro w zależności od regionu i aktualnych cen.
Sprzęt komputerowy
Elektronika
- Malina pi 4
- Karta Micro SD 16 GB (lub więcej)
- Arduino Uno
- Przesuwnik poziomu 5 V-3,3 V
- Moduł przekaźnika 5V
- ACS712 20A - moduł prądowy
- 1838 Moduł odbiornika podczerwieni 37,9 kHz
- Pilot na podczerwień (ja używam Elegoo)
- wspólna katoda RGB
- Rezystory 3*330Ω
- naciśnij przycisk
- RFID-RC522
- LCD 1602A-1
- Gniazdo ścienne Niko
- Potencjometr 10K Ω
- Zasilanie 230 do 5V - 7A
Kable
- Kabel USB-B na USB-A
- Kabel zasilający USB-C
- kabel Ethernet
Różny
- Mostki męskie i żeńskie
- Mostki męskie-męskie
- Cyna lutownicza
- Rurka termokurczliwa
Części specyficzne dla obudowy (OPCJONALNIE)
- 50 * orzechy i pogrubienia
- metalowa obudowa 40x40x5 cm z pokrywką
- taśma dwustronna
- Przekładki o wysokości 6*1 cm
- led-uchwyt
- Taśma na rzep
- prowadnice kabli
Oprogramowanie
- balenaEtcher:
- Kit
- rasbijski
- Kod programu Visual Studio
- IDE Arduino
Krok 1: Skonfiguruj Rasbian
Przede wszystkim sflashujemy Rasbian na kartę SD. Zrobimy to za pomocą balenaEtcher.
- Otwórz balenaEtcher
- Wybierz obraz Rasbian
- Wybierz swoją kartę SD
- Naciśnij Flash i poczekaj kilka minut, aż zacznie migać
Dodanie APIPA do katalogu startowego: Będziemy używać adresu APIPA do programowania i konfigurowania ustawień RPI. Aby to zrobić:
- Dostęp do katalogu rozruchowego na karcie SD
- Otwórz „cmdline.txt”
- Dodaj „169.254.10.1” na końcu dokumentu i zapisz go
- Dodaj plik o nazwie „ssh” do katalogu rozruchowego (NIE DAJ TEGO PLIKU ROZSZERZENIA)
- Po wykonaniu tej czynności możesz wysunąć kartę SD z komputera.
Dostęp do RPI za pomocą PuTTy
Teraz możemy podłączyć kartę SD do naszego RPI, podłączyć RPI do komputera za pomocą kabla Ethernet.
Aby połączyć się z RPI, użyjemy PuTTy z naszym adresem APIPA.
- Otwarte PuTTy
- Wpisz nasz adres APIPA jako nazwę hosta (169.254.10.1)
- Upewnij się, że port to 22 i wybrano SSH
- Teraz możesz otworzyć połączenie
- Domyślna nazwa użytkownika to: pi
- Z domyślnym hasłem: malina
ustawienia raspi-config
Otwórz raspi-config za pomocą:
sudo raspi-config
- Zmień hasło użytkownika
- W opcjach lokalizacji wybierz swoją strefę czasową
- Skonfiguruj WiFi za pomocą opcji sieciowych, a następnie opcji Wi-Fi, w której musisz podać swój identyfikator SSID i hasło.
Zainstaluj Pythona 3
W tym projekcie używamy Pythona, dlatego ustawimy wartość domyślną na Python3 zamiast Pythona2, używając następujących poleceń
update-alternatives – zainstaluj /usr/bin/python python /usr/bin/python2.7 1
update-alternatives -- zainstaluj /usr/bin/python python /usr/bin/python3 2
Pakiety Pythona
Potrzebujemy kilku pakietów, aby wszystko działało poprawnie, głównie pakietów Flask i jednego, aby połączyć się z naszą bazą danych. Możemy zainstalować te pakiety za pomocą następujących poleceń:
pip zainstalować kolbę
pip zainstaluj Flask_cors pip zainstaluj Flask_socketio pip zainstaluj Python-mysql-connecton
Baza danych
Następnie zainstalujemy nasz system zarządzania bazą danych (MariaDB), zrobimy to za pomocą:
sudo apt zainstaluj serwer mariadb
Wpisz „Y” i Enter, aby kontynuować. Po kilku sekundach proces instalacji jest zakończony i MariaDB jest prawie gotowa do użycia.
Aby ustawić nadanie bazie hasła, użyj polecenia:
sudo mysql_secure_installation
Następnie naciśnij Enter, ponieważ bieżące hasło jest puste. Następnie naciśnij "Y", aby ustawić hasło, teraz możesz wpisać dowolne hasło, pamiętaj je, ponieważ jest nam potrzebne do prawidłowego połączenia między back-endem i front-endem.
Teraz naciśnij 3 razy „Y”, aby: usunąć anonimowych użytkowników, uniemożliwić zdalne logowanie jako root i usunąć testową bazę danych. Na koniec ponownie naciśnij „Y”, aby ponownie załadować uprawnienia.
Teraz MariaDB i wszystkie potrzebne pakiety zostały pomyślnie zainstalowane.
Krok 2: Pobieranie kodu i konfigurowanie
Teraz, gdy mamy już zainstalowane wszystkie pakiety, możemy pobrać kod.
Kod jest dostępny na Github, więc możesz go sklonować za pomocą:
git clone
To jest frontend
git clone
To jest backend
Instalowanie samej bazy danych
Aby zainstalować bazę danych, przejdź do pliku.sql, który znajduje się w folderze zaplecza, używając następujących poleceń (upewnij się, że ustawiłeś go na własną ścieżkę.
mysql
utwórz bazę danych switchit quit mysql -u root -p switchit < Your_Path_to_Backend_Repo/switchit.sql
Instalowanie Apache
Teraz, gdy mamy już cały kod i konfigurację bazy danych, możemy zainstalować Apache i uruchomić na nim nasz backend. Zrobimy to za pomocą:
apt-get zainstaluj apache2 -y
Następnie zastąp pliki w /var/ww/html plikami z folderu z folderu frontend.
Jeśli wszystko poszło dobrze, powinieneś być w stanie połączyć się ze swoją witryną za pomocą adresu APIPA: 169.254.10.1 w przeglądarce.
Krok 3: Komunikacja Arduino
Aby odczytać nasz aktualny czujnik i nasz czujnik RFID, używamy arduino, w tym celu użyj kodu arduino podanego poniżej. Prześlij go za pomocą kabla USB-A na USB-B i oprogramowania arduino IDE. Po przesłaniu część arduino jest gotowa.
Teraz musimy znaleźć nazwę urządzenia szeregowego na PI. Aby to zrobić upewnij się, że w /boot/config.txt "enable_uart=1" jest ustawione poprawnie. Upewnij się również, że "console=serial0, 115200" zostało usunięte z cmdline.txt.
Następnie sprawdź porty za pomocą
ls -l /dev
Wtedy jedną z nazw seryjnych powinno być Arduino. Wpisz tę nazwę w funkcji arduinocom w app.py
ser = serial. Serial('/dev/ttyS0', 9600)
Zrób to tylko wtedy, gdy komunikacja szeregowa nie działa.
Krok 4: Okablowanie Switch-it
Połączenie wszystkiego jest dość proste, chociaż należy pamiętać o następujących rzeczach:
- Uważaj na gniazdko ścienne, 230 woltów może być zabójcze.
- Upewnij się, że używasz konwertera poziomów do komunikacji między RPI a Arduino.
- Przed lutowaniem RGB upewnij się, że używasz pinów czerwonego i zielonego. Przetestuj to wcześniej!
- Sprawdź, czy nic nie jest zwarte PRZED włączeniem zasilania obwodu.
Krok 5: Uruchamianie kodu
Teraz wszystko jest prawidłowo podłączone możemy uruchomić nasz program.
Aby uruchamiał się automatycznie przy starcie, utwórz plik za pomocą:
sudo nano myscript.service
Następnie wklej (upewnij się, że używasz własnego katalogu app.py:
[Unit]Description=Switchit After=network.target [Service] ExecStart=/usr/bin/python3 -u app.py WorkingDirectory=//zmiana na katalog app.py// StandardOutput=inherit StandardError=inherit Restart=always User= pi [Zainstaluj] WantedBy=multi-user.target
Następnie naciśnij "ctrl + X" i skopiuj go do /etc/systemd/system.
Następnie następujące polecenie, aby uruchomić go automatycznie:
sudo systemctl włącz myscript.service
Więcej informacji na ten temat można znaleźć na stronie RaspBerry Pi.
Uruchom ponownie i gotowe
Teraz zrestartuj PI za pomocą:
sudo restart -h teraz
W ten sposób robisz Switch-it!
Dzięki za pójście dalej, mam nadzieję, że to było pomocne. Jeśli masz jakieś wskazówki lub uwagi, nie wahaj się zostawić komentarza.
Krok 6: (OPCJONALNIE) Obudowa
Możesz zbudować obudowę całkowicie według własnych upodobań. Użyłem metalowej obudowy o wymiarach 40x40x5 cm z pokrywką. Ponieważ użyłem metalowej, musiałem wywiercić otwory i użyć przekładek, aby wszystko z płyty uziemiającej. Wybrałem centralny punkt, w którym dostępne jest napięcie 5V, 3,3V i masa. Każde połączenie elektryczne jest lutowane z kawałkiem rurki termokurczliwej na wierzchu. Do prowadzenia kabli użyłem podkładek z paskami nośnymi.
Zalecana:
Miernik poziomu wody w studni w czasie rzeczywistym: 6 kroków (ze zdjęciami)
Miernik poziomu wody w studni w czasie rzeczywistym: Te instrukcje opisują, jak zbudować tani miernik poziomu wody w czasie rzeczywistym do użytku w studniach kopanych. Miernik poziomu wody jest przeznaczony do zawieszenia w wykopanej studni, pomiaru poziomu wody raz dziennie i przesyłania danych przez WiFi lub połączenie komórkowe
Miernik temperatury, przewodności i poziomu wody w studni w czasie rzeczywistym: 6 kroków (ze zdjęciami)
Miernik temperatury wody w studni w czasie rzeczywistym, przewodności i poziomu wody: Instrukcje te opisują, jak zbudować tani wodomierz w czasie rzeczywistym do monitorowania temperatury, przewodności elektrycznej (EC) i poziomu wody w studniach wykopanych. Miernik przeznaczony jest do zawieszenia w wykopanej studni, pomiaru temperatury wody, EC i
Jak zrobić rejestrator danych wilgotności i temperatury w czasie rzeczywistym za pomocą Arduino UNO i karty SD - Symulacja rejestratora danych DHT11 w Proteus: 5 kroków
Jak zrobić rejestrator danych wilgotności i temperatury w czasie rzeczywistym za pomocą Arduino UNO i karty SD | Symulacja rejestratora danych DHT11 w Proteus: Wstęp: cześć, tu Liono Maker, tutaj link do YouTube. Tworzymy kreatywne projekty z Arduino i pracujemy na systemach wbudowanych.Data-Logger: Rejestrator danych (również rejestrator danych lub rejestrator danych) to urządzenie elektroniczne, które rejestruje dane w czasie w
Postshirt: wykrywanie postawy w czasie rzeczywistym: 9 kroków
Postshirt: wykrywanie postawy w czasie rzeczywistym: Postshirt to bezprzewodowy system wykrywania postawy w czasie rzeczywistym, który przesyła i klasyfikuje dane akcelerometru z pióra Adafruit do aplikacji na Androida przez Bluetooth. Cały system może wykryć w czasie rzeczywistym, czy użytkownik ma złą postawę i c
Rozpoznawanie urządzeń w czasie rzeczywistym za pomocą śladów EM: 6 kroków
Rozpoznawanie urządzeń w czasie rzeczywistym przy użyciu śladów EM: To urządzenie jest przeznaczone do klasyfikowania różnych urządzeń elektronicznych zgodnie z ich sygnałami EM. Dla różnych urządzeń mają emitowane przez nie różne sygnały EM. Opracowaliśmy rozwiązanie IoT do identyfikacji urządzeń elektronicznych za pomocą Particle