Съдържание:

Switch-it, автоматичен контакт с измерване на тока в реално време: 6 стъпки
Switch-it, автоматичен контакт с измерване на тока в реално време: 6 стъпки

Видео: Switch-it, автоматичен контакт с измерване на тока в реално време: 6 стъпки

Видео: Switch-it, автоматичен контакт с измерване на тока в реално време: 6 стъпки
Видео: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Ноември
Anonim
Switch-it, автоматичен контакт с измерване на тока в реално време
Switch-it, автоматичен контакт с измерване на тока в реално време
Switch-it, автоматичен контакт с измерване на тока в реално време
Switch-it, автоматичен контакт с измерване на тока в реално време
Switch-it, автоматичен контакт с измерване на тока в реално време
Switch-it, автоматичен контакт с измерване на тока в реално време
Switch-it, автоматичен контакт с измерване на тока в реално време
Switch-it, автоматичен контакт с измерване на тока в реално време

Много харесвам автоматизацията, способността да контролирам кога нещо трябва да се случи. Това ме накара да дойда на тази идея: самостоятелно изработен автоматичен контакт. Може да се използва за планиране, когато светлините трябва да бъдат включени, когато телефоните трябва да се зареждат или когато екранът трябва да се захранва. В допълнение към всичко това имате възможност да видите колко ток преминава през изхода.

Компонентите, необходими за този проект, са:

Консумативи

Преди да започнем, това са нещата, които определено ще трябва да изградите Switch-IT кутия като моята. Тези доставки ще струват около 50 до 100 евро в зависимост от вашия регион и текущите цени.

Хардуер

Електроника

  • Малина пи 4
  • 16 GB (или повече) Micro SD карта
  • Arduino Uno
  • 5V-3.3V Ниво превключвател
  • 5V релеен модул
  • ACS712 20A - текущ модул
  • 1838 IR-приемник 37,9 kHz модул
  • IR дистанционно (използвам едно Elegoo)
  • общ катод RGB
  • 3 * 330Ω резистори
  • Натисни бутона
  • RFID-RC522
  • LCD 1602A-1
  • Нико стенен контакт
  • 10K Ω потметър
  • Захранване от 230 до 5V - 7A

Кабели

  • USB-B към USB-A кабел
  • USB-C захранващ кабел
  • Ethernet кабел

Различни

  • Мъжко-женски джъмпери
  • Мъжко-мъжки джъмпери
  • Калай за запояване
  • Свиваща се тръба

Части, специфични за калъфа (ОПЦИОНАЛНО)

  • 50 * гайки и получер шрифт
  • метален калъф 40х40х5 см с капак
  • двустранна касета
  • 6 * 1 см високи дистанционери
  • LED-държач
  • Велкро лента
  • кабелни водачи

Софтуер

  • balenaEtcher:
  • PuTTy
  • расиан
  • Код на Visual Studio
  • Arduino IDE

Стъпка 1: Настройка на Rasbian

Настройка на Rasbian
Настройка на Rasbian
Настройка на Rasbian
Настройка на Rasbian

Първо, ще прехвърлим Rasbian на SD-картата. Ще направим това с помощта на balenaEtcher.

  1. Отворете balenaEtcher
  2. Изберете изображението на Rasbian
  3. Изберете вашата SD-карта
  4. Натиснете Flash и изчакайте няколко минути, докато премигне

Добавяне на APIPA в зареждащата директория: Ще използваме APIPA адрес за програмиране и конфигуриране на настройките на RPI. Да го направя:

  1. Осъществява достъп до зареждащата директория на SD-картата
  2. Отворете „cmdline.txt“
  3. Добавете „169.254.10.1“в края на документа и го запазете
  4. Добавете файл, наречен "ssh", в зареждащата директория (НЕ ДАВАЙТЕ НА ТОЗИ ФАЙЛ РАЗШИРЕНИЕ)
  5. След като направите това, можете да извадите SD картата от вашия компютър.

Достъп до RPI с помощта на PuTTy

Сега можем да включим SD картата в нашия RPI, да свържем RPI към вашия компютър с помощта на Ethernet кабел.

За да се свържем с RPI, ще използваме PuTTy с нашия APIPA адрес.

  1. Отворете PuTTy
  2. Попълнете нашия APIPA адрес като име на хост (169.254.10.1)
  3. Уверете се, че портът е 22 и е избран SSH
  4. Сега можете да отворите връзката
  5. Потребителското име по подразбиране е: pi
  6. С парола по подразбиране: малинка

настройки на raspi-config

Отворете raspi-config, като използвате:

sudo raspi-config

  • Променете потребителската парола
  • В опциите за локализация изберете вашата часова зона
  • Настройте WiFi, като използвате мрежови опции, след това опция Wi-Fi, където трябва да попълните своя SSID и парола.

Инсталирайте Python 3

В този проект използваме Python, затова ще зададем по подразбиране Python3 insteat на Python2, като използваме следните команди

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1

update-alternatives --install/usr/bin/python python/usr/bin/python3 2

Пакети на Python

Ще ни трябват няколко пакета, за да работи всичко правилно, главно пакетите Flask и един, за да осъществим връзка с нашата база данни. Можем да инсталираме тези пакети, като използваме следните команди:

pip install Flask

pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton

База данни

След това ще инсталираме нашата система за управление на бази данни (MariaDB), което ще направим, като използваме:

sudo apt инсталирате mariadb-сървър

Въведете „Y“и Enter, за да продължите. След няколко секунди процесът на инсталиране е завършен и MariaDB е почти готов за употреба.

За да зададете парола на базата данни, използвайте командата:

sudo mysql_secure_installation

След това натиснете Enter, тъй като текущата парола е празна. След това натиснете „Y“, за да зададете парола, сега можете да попълните всяка парола, която искате, не забравяйте да я запомните, защото имаме нужда от нея, за да осъществим правилна връзка между back-and-front-end.

Сега натиснете „Y“3 пъти, за да: премахнете анонимни потребители, да забраните отдалечено влизане в root и да премахнете тестовата база данни. Накрая натиснете отново „Y“, за да презаредите привилегиите.

Сега MariaDB и всички необходими пакети са успешно инсталирани.

Стъпка 2: Вземете кода и го настройте

Вземете кода и го настройте
Вземете кода и го настройте
Вземете кода и го настройте
Вземете кода и го настройте

Сега, когато сме инсталирали всички пакети, можем да вземем кода.

Кодът е достъпен в Github, така че можете да го клонирате, като използвате:

git clone

Това е фронтендът

git clone

Това е бекенда

Инсталиране на самата база данни

За да инсталирате базата данни, отидете на.sql файла, който е в задната папка, като използвате следните команди (уверете се, че сте го задали по свой собствен път.

mysql

създаване на комутатор на база данни Изход от mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql

Инсталиране на Apache

Сега, когато имаме целия код и настройката на базата данни, можем да инсталираме Apache и да стартираме нашия бекенд върху него. Ще направим това, като използваме:

apt -get инсталирайте apache2 -y

След това заменете файловете в/var/ww/html с тези в папката от папката frontend.

Ако всичко е наред, трябва да можете да се свържете с вашия уебсайт, използвайки адреса на APIPA: 169.254.10.1 във вашия браузър.

Стъпка 3: Комуникация с Arduino

Arduino комуникация
Arduino комуникация

За да прочетете нашия текущ сензор и нашия RFID сензор, използваме arduino, за да направите това, използвайте кода arduino, даден по -долу. Качете го с помощта на USB-A към USB-B кабел и софтуера arduino IDE. Когато се качи, частта arduino е готова.

Сега трябва да намерим името на серийното устройство на PI. За да направите това, уверете се, че в /boot/config.txt "enable_uart = 1" е зададено правилно. Също така се уверете, че "console = serial0, 115200" е премахната от cmdline.txt.

След това проверете портовете с помощта

ls -l /dev

Тогава едно от серийните имена трябва да бъде Arduino. Попълнете това име във функцията arduinocom в app.py

ser = serial. Serial ('/dev/ttyS0', 9600)

Правете това само ако серийната комуникация не работи.

Стъпка 4: Окабеляване Switch-it

Окабеляване Switch-it
Окабеляване Switch-it
Окабеляване Switch-it
Окабеляване Switch-it

Окабеляването на всичко е доста лесно, въпреки че трябва да имате предвид следните неща:

  • Внимавайте с контакта, 230 волта може да бъде смъртоносен.
  • Уверете се, че използвате конвертор на ниво за комуникация между RPI и Arduino.
  • Преди запояване на RGB, уверете се, че използвате червения и зеления щифт. Тествайте това предварително!
  • Проверете дали няма късо съединение ПРЕДИ да включите веригата.

Стъпка 5: Стартирайте кода

Сега всичко е свързано правилно, можем да стартираме нашата програма.

За да го стартирате автоматично при стартиране, създайте файл, като използвате:

sudo nano myscript.service

След това поставете (не забравяйте да използвате своя собствена директория app.py:

[Единица] Описание = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // промяна в директория app.py // StandardOutput = наследяване StandardError = наследяване Рестартиране = винаги Потребител = pi [Инсталиране] WantedBy = многопотребителска цел

След това натиснете "ctrl + X" и го копирайте в/etc/systemd/system.

След това командата follwing за автоматично стартиране:

sudo systemctl активира myscript.service

Можете да намерите повече информация за това на сайта RaspBerry Pi.

Рестартирайте и готово

Сега рестартирайте PI, като използвате:

sudo рестартиране -h сега

Ето как правите Switch-it!

Благодаря за проследяването, надявам се това да е било полезно. Ако имате някакви съвети или обратна връзка, не се колебайте да оставите коментар.

Стъпка 6: (ОПЦИОНАЛНО) жилището

(ОПЦИОНАЛНО) на жилището
(ОПЦИОНАЛНО) на жилището
(ОПЦИОНАЛНО) на жилището
(ОПЦИОНАЛНО) на жилището
(ОПЦИОНАЛНО) на жилището
(ОПЦИОНАЛНО) на жилището
(ОПЦИОНАЛНО) на жилището
(ОПЦИОНАЛНО) на жилището

Можете да построите жилището изцяло по ваш вкус. Използвах метален корпус с размери 40х40х5 см с капак. Тъй като използвах метален, трябваше да пробивам дупки и да използвам дистанционни елементи, за да сваля всичко от земята. Избрах да използвам централна точка, където са налични 5V, 3.3V и gnd. Всяка електрическа връзка е запоена с парче свиваща се тръба отгоре. За управление на кабелите използвах подложки с носещи ленти.

Препоръчано: