Мазмуну:

Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка: 6 кадам
Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка: 6 кадам

Video: Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка: 6 кадам

Video: Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка: 6 кадам
Video: ROYAL Электр скутери CHOPPER CITYCOCO 3000w Electro-chopper citycoco citikoko 3000w электрдик цикл 2024, Ноябрь
Anonim
Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка
Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка
Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка
Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка
Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка
Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка
Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка
Switch-it, реалдуу убакытта учурдагы өлчөө менен автоматтык розетка

Мага автоматташтыруу, бир нерсе болушу керек болгондо көзөмөлдөө жөндөмү абдан жагат. Мени бул идеяны ойлонууга мажбурлаган нерсе: өз алдынча жасалган, автоматтык розетка. Бул жарыкты күйгүзүү керек болгондо, телефондорду заряддоо керек болгондо же экранды иштетүү керек болгондо пландаштыруу үчүн колдонулушу мүмкүн. Мунун баарынан тышкары, розетка аркылуу канча агым өтүп жатканын көрүү мүмкүнчүлүгүңүз бар.

Бул долбоор үчүн керектүү компоненттер:

Жабдуулар

Биз баштаардан мурун, булар меники сыяктуу Switch-IT кутучасын куруу үчүн сөзсүз керек болот. Бул жабдуулар сиздин аймакка жана учурдагы бааларга жараша болжол менен 50-100 евро турат.

Аппараттык

Электроника

  • Raspberry pi 4
  • 16gb (же андан көп) Micro SD-Card
  • Arduino Uno
  • 5V-3.3V Даража которгуч
  • 5V реле модулу
  • ACS712 20A - учурдагы модуль
  • 1838 IR-Receiver 37.9 kHz модулу
  • IR пульту (мен Elegoo колдоном)
  • жалпы катод RGB
  • 3 * 330Ω резисторлор
  • баскычын басыңыз
  • RFID-RC522
  • LCD 1602A-1
  • Niko дубал розеткасы
  • 10K Ω потметр
  • 230дан 5В - 7Ага чейин электр менен камсыздоо

Кабелдер

  • USB-B-USB-A кабели
  • USB-C электр кабели
  • Ethernet кабели

Ар түрдүү

  • Эркек-Аял Jumperwires
  • Эркек-Эркек Jumperwires
  • Solder qalay
  • Кыскартуучу түтүк

Делонун атайын бөлүктөрү (ОПЦИОНАЛДЫК)

  • 50 * жаңгактар жана калындар
  • капкагы бар металл корпусу 40х40х5 см
  • эки тараптуу скотч
  • 6 * 1см бийиктиктеги аралык
  • алып баруучу
  • Velcro скотч
  • кабелдик колдонмолор

Программалык камсыздоо

  • balenaEtcher:
  • PuTTy
  • расбиан
  • Visual Studio коду
  • Arduino IDE

1 -кадам: Rasbian орнотуу

Rasbian орнотуу
Rasbian орнотуу
Rasbian орнотуу
Rasbian орнотуу

Биринчиден, биз Rasbian'ди SD-картага жарк эттиребиз. Биз муну balenaEtcher аркылуу жасайбыз.

  1. Open balenaEtcher
  2. Rasbian Сүрөт тандоо
  3. SD-картаңызды тандаңыз
  4. Жарк эттирилгенге чейин Flashти бир нече мүнөт күтө туруңуз

Жүктөө каталогуна APIPA кошуу: Биз RPIдеги орнотууларды программалоо жана конфигурациялоо үчүн APIPA дарегин колдонобуз. Бул үчүн:

  1. SD-картадагы жүктөө каталогуна кирүү
  2. "Cmdline.txt" ачуу
  3. Документтин аягына "169.254.10.1" кошуп, аны сактаңыз
  4. Жүктөө каталогуна "ssh" деп аталган файлды кошуңуз (БУЛ ФАЙЛГА ӨЗГӨРТҮҮ БЕРБЕҢИЗ)
  5. Муну аткаргандан кийин, сиз SD картаны компьютериңизден чыгарып салсаңыз болот.

PuTTy аркылуу RPIге жетет

Эми биз 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

  • Колдонуучунун сырсөзүн өзгөртүү
  • Локалдаштыруу параметрлеринде убакыт алкагын тандаңыз
  • Wi-Fi тармагын Wi-Fi тармагынын жардамы менен орнотуңуз, анда сиз SSID жана Сырсөзүңүздү толтурушуңуз керек.

Python 3 орнотуу

Бул долбоордо биз Python колдонуп жатабыз, андыктан биз төмөнкү командаларды колдонуу менен Python2дин Python3 инстатына демейки абалды коёбуз.

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 пакеттери жана биздин DataBase менен байланыш түзүү үчүн. Биз ал пакеттерди төмөнкү буйруктарды колдонуп орното алабыз:

pip Flask орнотуу

пип орнотуу Flask_cors пип орнотуу Flask_socketio пип орнотуу Python-mysql-connecton

Маалыматтар базасы

Кийинкиде биз маалымат базабызды башкаруу тутумун (MariaDB) орнотобуз, биз муну колдонобуз:

sudo apt install mariadb-server

Улантуу үчүн "Y" деп териңиз жана Enterди киргизиңиз. Бир нече секунддан кийин, орнотуу процесси аяктады жана MariaDB дээрлик колдонууга даяр.

Сырсөздү берүү үчүн төмөнкү буйрукту колдонуңуз:

sudo mysql_secure_installation

Андан кийин Enter баскычын басыңыз, анткени учурдагы сырсөз бош. Сырсөздү орнотуу үчүн "Y" баскычын басыңыз, эми сиз каалаган сырсөздү толтура аласыз, аны эстеп калууну унутпаңыз, анткени бизге арткы жана алдыңкы учтар ортосундагы туура байланышты түзүү үчүн керек.

Эми, "Y" баскычын 3 жолу басыңыз: анонимдүү колдонуучуларды жок кылуу, алыстан тамыр кирүүгө тыюу салуу жана тест базасын алып салуу. Акырында, артыкчылыктарды кайра жүктөө үчүн "Y" баскычын кайра басыңыз.

Азыр MariaDB жана бардык керектүү пакеттер ийгиликтүү орнотулду.

2 -кадам: Кодду алуу жана аны орнотуу

Кодду алуу жана аны орнотуу
Кодду алуу жана аны орнотуу
Кодду алуу жана аны орнотуу
Кодду алуу жана аны орнотуу

Эми бизде бардык пакеттер орнотулгандыктан, биз кодду ала алабыз.

Код Githubда жеткиликтүү, андыктан аны клондоштурууга болот:

git clone

Бул алдыңкы бет

git clone

Бул арткы бет

Маалыматтар базасын өзү орнотуу

Маалыматтар базасын орнотуу үчүн, төмөнкү командаларды колдонуп, backend папкасында турган.sql файлына өтүңүз (аны өз жолуңузга коюуну унутпаңыз.

mysql

mysql -u root -p switchit <your_Path_to_Backend_Repo/switchit.sqlден баш тартуу

Apache орнотуу

Азыр бизде бардык коддор жана маалымат базасы орнотулгандыктан, биз Apacheти орнотуп, анын арткы бетин иштете алабыз. Биз муну колдонобуз:

apt -get apache2 -y орнотуу

Андан кийин/var/ww/html файлдарын алдыңкы папкадан папкадагы файлдар менен алмаштырыңыз.

Эгерде баары жакшы болсо, анда сиздин веб -сайтыңызга 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 болушу керек. Бул ысымды app.py'деги arduinocom функциясында толтуруңуз

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

Муну сериялык байланыш иштебесе гана жасаңыз.

4-кадам: Wiring Up Switch-it

Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it
Wiring Up Switch-it

Баарын туташтыруу абдан жөнөкөй, бирок сиз төмөнкүлөрдү эстен чыгарбооңуз керек:

  • Дубал розеткасынан этият болуңуз, 230 вольт өлүмгө алып келиши мүмкүн.
  • RPI менен Arduino ортосундагы байланыш үчүн деңгээл өзгөрткүчтү колдонууну тактаңыз.
  • RGB ширетүүдөн мурун, кызыл жана жашыл төөнөгүчтү колдонгонуңузду текшериңиз. Муну алдын ала сынап көрүңүз!
  • Районду иштетүүдөн мурун эч нерсе кыска туташпаганын текшериңиз.

5 -кадам: Кодду иштетүү

Азыр баары туура туташкан, биз программабызды иштете алабыз.

Аны баштоодо автоматтык түрдө иштетүү үчүн, төмөнкү файлды түзүңүз:

sudo nano myscript.service

Андан кийин чаптаңыз (өзүңүздүн app.py каталогуңузду колдонуңуз:

[Unit] Description = After Switchit = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // app.py каталогун өзгөртүү // StandardOutput = тукум кууп чыгуу StandardError = кайра баштоо = дайыма User = pi [Орнотуу] WantedBy = multi-user.target

Андан кийин "ctrl + X" баскычын басып,/etc/systemd/systemге көчүрүңүз.

Андан кийин аны автоматтык түрдө иштетүү үчүн төмөнкү буйрукту аткарыңыз:

sudo systemctl myscript.service иштетет

Бул тууралуу көбүрөөк маалыматты RaspBerry Pi сайтынан таба аласыз.

Кайра жүктөө жана бүттү

Эми сиз PIди өчүрүп күйгүзүңүз:

Sudo кайра жүктөө -h азыр

Сиз Switch-itти ушундай кылып жасайсыз!

Коштоо үчүн рахмат, бул пайдалуу болду деп үмүттөнөм. Эгер кандайдыр бир кеңешиңиз же пикириңиз болсо, комментарий калтыруудан тартынбаңыз.

6 -кадам: (ОПЦИОНАЛДЫК) Турак жай

(ОПЦИОНАЛДУУ) Турак жай
(ОПЦИОНАЛДУУ) Турак жай
(ОПЦИОНАЛДУУ) Турак жай
(ОПЦИОНАЛДУУ) Турак жай
(ОПЦИОНАЛДУУ) Турак жай
(ОПЦИОНАЛДУУ) Турак жай
(ОПЦИОНАЛДУУ) Турак жай
(ОПЦИОНАЛДУУ) Турак жай

Сиз турак -жайды толугу менен өз каалооңуз боюнча кура аласыз. Мен капкагы бар 40х40х5 см темир корпусту колдондум. Мен темирди колдонгондон бери, тешиктерди бургулап, аралыктагы нерселерди жер плитасынан түшүрүү керек болчу. Мен 5V, 3.3V жана gnd жеткиликтүү болгон борбордук чекитти колдонууну чечтим. Ар бир электрдик туташуу анын үстүндө кыскартуучу трубанын бир бөлүгү менен ширетилет. Кабелдик башкарууну жүргүзүү үчүн мен ташуучу боосу бар төшөмөлөрдү колдондум.

Сунушталууда: