Spisu treści:

Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym: 6 kroków
Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym: 6 kroków

Wideo: Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym: 6 kroków

Wideo: Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym: 6 kroków
Wideo: Zemismart SPM01 - kompaktowy dwukierunkowy monitor energii Zigbee na przekładniku prądowym 2024, Listopad
Anonim
Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym
Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym
Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym
Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym
Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym
Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym
Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym
Switch-it, automatyczny wylot z pomiarem prądu w czasie rzeczywistym

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

Konfiguracja Rasbian
Konfiguracja Rasbian
Konfiguracja Rasbian
Konfiguracja Rasbian

Przede wszystkim sflashujemy Rasbian na kartę SD. Zrobimy to za pomocą balenaEtcher.

  1. Otwórz balenaEtcher
  2. Wybierz obraz Rasbian
  3. Wybierz swoją kartę SD
  4. 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ć:

  1. Dostęp do katalogu rozruchowego na karcie SD
  2. Otwórz „cmdline.txt”
  3. Dodaj „169.254.10.1” na końcu dokumentu i zapisz go
  4. Dodaj plik o nazwie „ssh” do katalogu rozruchowego (NIE DAJ TEGO PLIKU ROZSZERZENIA)
  5. 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.

  1. Otwarte PuTTy
  2. Wpisz nasz adres APIPA jako nazwę hosta (169.254.10.1)
  3. Upewnij się, że port to 22 i wybrano SSH
  4. Teraz możesz otworzyć połączenie
  5. Domyślna nazwa użytkownika to: pi
  6. 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

Pobieranie kodu i konfigurowanie
Pobieranie kodu i konfigurowanie
Pobieranie kodu i konfigurowanie
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

Komunikacja Arduino
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

Okablowanie Switch-it
Okablowanie Switch-it
Okablowanie Switch-it
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

(OPCJONALNIE) Obudowa
(OPCJONALNIE) Obudowa
(OPCJONALNIE) Obudowa
(OPCJONALNIE) Obudowa
(OPCJONALNIE) Obudowa
(OPCJONALNIE) Obudowa
(OPCJONALNIE) Obudowa
(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: