Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: I-setup ang Rasbian
- Hakbang 2: Pagkuha ng Code at Pagse-set up nito
- Hakbang 3: Komunikasyon ng Arduino
- Hakbang 4: Pag-kabila ng Up Switch-it
- Hakbang 5: Pagpapatakbo ng Code
- Hakbang 6: (OPSYONAL) ang Pabahay
Video: Switch-it, Awtomatikong Outlet Na May Realtime Kasalukuyang Pagsukat: 6 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Gusto ko talaga ng automatisation, ang kakayahang kontrolin kung may mangyari. Ito ang gumawa sa akin ng ideyang ito: isang selfmade, awtomatikong outlet. Maaari itong magamit upang magplano kung kailan kailangang i-on ang mga ilaw, kung kailan kailangang singilin ang mga telepono o kung kailan kailangang mapagana ang isang screen. Bilang karagdagan sa lahat ng ito, mayroon kang kakayahang makita kung magkano ang kasalukuyang dumadaloy sa outlet.
Ang mga sangkap na kinakailangan para sa proyektong ito ay:
Mga gamit
Bago kami magsimula ito ang mga bagay na tiyak na kakailanganin mong bumuo ng isang kahon ng Switch-IT tulad ng sa akin. Ang mga supply na ito ay nagkakahalaga ng halos 50 hanggang 100 euro depende sa iyong rehiyon at kasalukuyang mga presyo.
Hardware
Elektronika
- Raspberry pi 4
- 16gb (o higit pa) Micro SD-Card
- Arduino Uno
- 5V-3.3V Antas na shifter
- 5V module ng relay
- ACS712 20A - kasalukuyang module
- 1838 IR-Receiver 37.9 kHz module
- IR remote (Gumagamit ako ng isang Elegoo)
- karaniwang cathode RGB
- 3 * 330Ω resistors
- pindutan ng push
- RFID-RC522
- LCD 1602A-1
- Niko socket ng pader
- 10K Ω potmeter
- 230 hanggang 5V - 7A supply ng kuryente
Mga kable
- USB-B hanggang USB-A cable
- Kable ng kuryente na USB-C
- Ethernet cable
Iba-iba
- Mga Jumperwire na Lalaki-Babae
- Mga Jumperwire na Lalaki-Lalaki
- Lata ng panghinang
- Pag-urong ng tubo
Mga bahagi ng specefic ng kaso (OPSYONAL)
- 50 * mani at naka-bold
- kaso ng metal na 40x40x5 cm na may takip
- double sided tape
- 6 * 1cm mataas na spacers
- pinangungunahan
- Velcro tape
- mga gabay ng cable
Software
- balenaEtcher:
- PuTTy
- rasbi
- Code ng Visual Studio
- Arduino IDE
Hakbang 1: I-setup ang Rasbian
Una sa lahat i-flash namin ang Rasbian sa SD-Card. Gagawin namin iyon gamit ang balenaEtcher.
- Buksan ang balenaEtcher
- Piliin ang Larawan ng Rasbian
- Piliin ang iyong SD-Card
- Pindutin ang Flash ng paghihintay ng ilang minuto hanggang sa ito ay mai-flash
Pagdaragdag ng APIPA sa direktoryo ng boot: Gumagamit kami ng isang APIPA adress sa programa at i-configure ang mga setting sa RPI. Na gawin ito:
- Acces ang boot direktoryo sa SD-Card
- Buksan ang "cmdline.txt"
- Idagdag ang "169.254.10.1" sa dulo ng dokumento at i-save ito
- Magdagdag ng isang file na tinatawag na "ssh" sa direktoryo ng boot (HUWAG GAWIN ANG FILE NA ITO NG ISANG PAGLAKAK)
- Matapos mong magawa ito maaari mong palabasin ang SD Card mula sa iyong PC.
Acces ang RPI gamit ang PuTTy
Ngayon ay maaari naming mai-plug in ang SD card sa aming RPI, ikonekta ang RPI sa iyong PC gamit ang isang ethernet cable.
Upang kumonekta sa RPI gagamitin namin ang PuTTy sa aming APIPA-address.
- Buksan ang PuTTy
- Punan ang aming APIPA-address bilang host name (169.254.10.1)
- Tiyaking ang port ay 22 at napili ang SSH
- Ngayon ay maaari mong buksan ang koneksyon
- Ang default username ay: pi
- Gamit ang default na password: raspberry
mga setting ng raspi-config
Buksan ang raspi-config gamit ang:
sudo raspi-config
- Palitan ang password ng gumagamit
- Sa mga pagpipilian sa pag-localize piliin ang iyong timezone
- I-setup ang WiFi gamit ang mga pagpipilian sa network pagkatapos pagpipilian sa Wi-Fi kung saan mo kailangang punan ang iyong SSID at Password.
I-install ang Python 3
Sa proyektong ito ginagamit namin ang Python, dahil doon itatakda namin ang default sa Python3 insteat ng Python2, gamit ang mga sumusunod na utos
update-alternatives --install / usr / bin / python python /usr/bin/python2.7 1
update-alternatives --install / usr / bin / python python / usr / bin / python3 2
Mga pakete ng sawa
Kakailanganin namin ang ilang mga pakete upang makuha ang lahat na gumagana nang tama, higit sa lahat ang mga pakete ng Flask at isa upang makakonekta sa aming DataBase. Maaari naming mai-install ang mga package na iyon gamit ang mga sumusunod na utos:
pip install Flask
pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton
Database
Susunod na mai-install namin ang aming database management system (MariaDB) gagawin namin ito gamit ang:
sudo apt i-install ang mariadb-server
I-type ang "Y" at Enter upang magpatuloy. Matapos ang ilang segundo, kumpleto ang proseso ng pag-install at halos handa nang gamitin ang MariaDB.
Upang itakda bigyan ang database ng isang password gamitin ang utos:
sudo mysql_secure_installation
Pagkatapos ay pindutin ang Enter, dahil ang kasalukuyang password ay walang laman. Pagkatapos ay pindutin ang "Y" upang magtakda ng isang password, ngayon ay maaari mong punan ang anumang password na gusto mo, tiyaking tandaan ito dahil kailangan namin ito upang makagawa ng isang tamang koneksyon sa pagitan ng back- at front-end.
Ngayon, pindutin ang "Y" ng 3 beses upang: alisin ang mga hindi nagpapakilalang gumagamit, huwag payagan ang pag-login sa root nang malayuan at alisin ang test database. Panghuli, pindutin muli ang "Y" upang muling i-load ang mga pribilehiyo.
Ngayon ang MariaDB at ang lahat ng kinakailangang mga pakete ay matagumpay na na-install.
Hakbang 2: Pagkuha ng Code at Pagse-set up nito
Ngayon na mayroon kaming lahat ng mga naka-install na package maaari naming grab ang code.
Magagamit ang code sa Github upang ma-clone mo ito gamit ang:
git clone
Ito ang frontend
git clone
Ito ang backend
Pag-install mismo ng Database
Upang mai-install ang database, mag-navigate sa.sql file na nasa backend folder gamit ang mga sumusunod na utos (tiyaking itakda ito sa iyong sariling landas.
MySQL
lumikha ng database switchit quit mysql -u root -p switchit <Your_Path_to_Backend_Repo / switchit.sql
Pag-install ng Apache
Ngayon na mayroon kaming lahat ng code at pag-set up ng database maaari naming mai-install ang Apache, at patakbuhin ang aming backend dito. Gagawin namin ito gamit ang:
apt-get install apache2 -y
Pagkatapos palitan ang mga file sa / var / ww / html ng mga nasa folder mula sa frontend folder.
Kung naging maayos ang lahat dapat kang makakonekta sa iyong website gamit ang APIPA address: 169.254.10.1 sa iyong browser.
Hakbang 3: Komunikasyon ng Arduino
Upang mabasa ang aming kasalukuyang sensor at ang aming RFID sensor gumagamit kami ng isang arduino, upang gawin ito gamitin ang arduino code na ibinigay sa ibaba. I-upload ito gamit ang isang USB-A hanggang USB-B cable at ang arduino IDE software. Kapag na-upload, tapos na ang bahagi ng arduino.
Ngayon kailangan nating hanapin ang pangalan ng serial device sa PI. Upang magawa ito siguraduhin na sa /boot/config.txt na "paganahin ang_uart = 1" ay nakatakda nang tama. Siguraduhin din na ang "console = serial0, 115200" ay inalis sa cmdline.txt.
Pagkatapos suriin ang mga port gamit
ls -l / dev
Pagkatapos ang isa sa mga serial name ay dapat na Arduino. Punan ang pangalang ito sa pag-andar ng arduinocom sa app.py
ser = serial. Serial ('/ dev / ttyS0', 9600)
Gawin lamang iyon kung hindi gumagana ang serial komunikasyon.
Hakbang 4: Pag-kabila ng Up Switch-it
Ang pag-kable ng lahat ay medyo prangka bagaman dapat mong tandaan ang pagsunod sa mga bagay:
- Mag-ingat sa outlet ng pader, ang 230 volts ay maaaring nakamamatay.
- Tiyaking gumamit ng isang antas ng converter para sa komunikasyon sa pagitan ng RPI at Arduino.
- Bago maghinang ng RGB, tiyaking ginamit mo ang Pula at berde na pin. Subukan ito muna!
- Subukan kung wala ay maikling-circuited BAGO i-powering ang circuit.
Hakbang 5: Pagpapatakbo ng Code
Ngayon ang lahat ay konektado nang tama maaari naming patakbuhin ang aming programa.
Upang gawin itong awtomatikong tumakbo sa pagsisimula lumikha ng isang file gamit ang:
sudo nano myscript.service
Pagkatapos i-paste (tiyaking gumamit ng iyong sariling direktoryo ng app.py:
[Unit] Paglalarawan = Switchit Pagkatapos = network.target [Serbisyo] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = // baguhin sa app.py direktoryo // StandardOutput = pagmanahe ng StandardError = pagmanait I-restart = laging User = pi [Install] WantedBy = multi-user.target
Pagkatapos ay pindutin ang "ctrl + X" at kopyahin ito sa / etc / systemd / system.
Pagkatapos ang follwing command na gawin itong awtomatikong tumakbo:
sudo systemctl paganahin ang myscript.service
Maaari kang makahanap ng karagdagang impormasyon tungkol dito sa site ng RaspBerry Pi.
I-reboot at tapos na
Ngayon i-reboot ka ng PI gamit ang:
sudo reboot -h ngayon
Ito ang paraan ng paggawa mo ng Switch-it!
Salamat sa pagsunod, umaasa na ito ay kapaki-pakinabang. Kung mayroon kang anumang mga tip o puna, huwag mag-atubiling mag-iwan ng komento.
Hakbang 6: (OPSYONAL) ang Pabahay
Maaari mong buuin ang buong pabahay ayon sa iyong gusto. Gumamit ako ng isang metal case na kung saan ay 40x40x5 cm na may takip. Dahil gumamit ako ng isang metal kailangan kong mag-drill ng mga butas at gumamit ng mga spacer upang makuha ang lahat mula sa ground plate. Pinili kong gumamit ng isang gitnang punto kung saan magagamit ang 5V, 3.3V at gnd. Ang bawat koneksyon sa kuryente ay solder na may isang piraso ng Shrinking Tube sa tuktok nito. Upang gawin ang pamamahala ng cable ginamit ko ang mga pad na may mga strap ng carrier.
Inirerekumendang:
DIY Constant Kasalukuyang Pag-load: 4 Mga Hakbang (na may Mga Larawan)
DIY Constant Kasalukuyang Pag-load: Sa maliit na proyekto na ito ipapakita ko sa iyo kung paano gumawa ng isang simpleng naaayos na pare-pareho na kasalukuyang pag-load. Ang ganitong gadget ay kapaki-pakinabang kung nais mong masukat ang kapasidad ng mga baterya ng Li-Ion na chino. O maaari mong subukan kung gaano katatag ang iyong supply ng kuryente sa isang tiyak na karga
Pagsukat ng Temperatura Awtomatikong & Ipagbigay-alam sa Boses: 5 Hakbang (na may Mga Larawan)
Pagsukat sa Temperatura Awtomatikong Pag-alam sa Boses: Kamakailan-lamang na araw, buong mundo ay nakikipaglaban sa virus Covid19. Ang unang pag-check para sa mga effected people (o pinaghihinalaang naepektibo) ay sumusukat sa temperatura ng katawan. Kaya't ang proyektong ito ay ginawa upang mag-modelo na maaaring sukatin ang temperatura ng katawan nang awtomatiko at ipaalam sa pamamagitan ng
ACS724 Kasalukuyang Pagsukat ng Sensor Sa Arduino: 4 na Hakbang
Ang Mga Sukat ng Kasalukuyang Sensor ng ACS724 Sa Arduino: Sa itinuturo na ito mag-eeksperimento kami sa pagkonekta ng isang kasalukuyang sensor ng ACS724 sa isang Arduino upang gumawa ng mga kasalukuyang sukat. Sa kasong ito ang kasalukuyang sensor ay isang +/- 5A na iba't-ibang output 400 mv / A. Ang Arduino Uno ay mayroong 10 bit ADC, napakahusay na katanungan
WiFi Awtomatikong Tagapakain ng Halaman Na May Reservoir - Panloob / Panlabas na Pag-aayos ng Paglilinang - Awtomatikong Mga Halaman ng Tubig na May Remote na Pagsubaybay: 21 Hakbang
Ang WiFi Awtomatikong Tagapakain ng halaman na may reservoir - Pag-set up ng Panloob / Panlabas na Paglilinang - Awtomatikong Mga Halaman ng Tubig Na May Malayuang Pagsubaybay: Sa tutorial na ito ipapakita namin kung paano mag-set up ng isang pasadyang panloob / panlabas na sistema ng feeder ng halaman na awtomatikong nagdidilig ng mga halaman at maaaring subaybayan nang malayuan gamit ang Adosia platform
Power LED's - Pinakasimpleng Liwanag Na May Patuloy na kasalukuyang Circuit: 9 Mga Hakbang (na may Mga Larawan)
Power LED's - Pinakasimpleng Liwanag Na May Patuloy na kasalukuyang Circuit: Narito ang isang talagang simple at murang ($ 1) LED driver circuit. Ang circuit ay isang " pare-pareho ang kasalukuyang mapagkukunan ", na nangangahulugang pinapanatili nito ang pare-pareho ng liwanag ng LED kahit na anong supply ng kuryente ang ginagamit mo o nakapaligid na mga kundisyon sa kapaligiran