Talaan ng mga Nilalaman:
- Hakbang 1: Mga Tagubilin sa Pag-setup ng Outlet na Pinagana ng PowerHub Webserver
- Hakbang 2: Paganahin ang Mga Advanced na Pagpipilian sa RaspberriPi
- Hakbang 3: Simulang I-install ang Mga Kinakailangan na Pakete
- Hakbang 4: ITIWAL ANG WEB API
- Hakbang 5: Kailangan ng Mga Kailangan
- Hakbang 6: Pagbuo ng Outlet
- Hakbang 7: Mag-install ng Mga Pindutan
- Hakbang 8: Wire Relay
- Hakbang 9: Karagdagang Mga Kable at Mga Larawan sa Assembly
- Hakbang 10: Diagram ng Mga Kable
- Hakbang 11: Subukan ang Dry Run
- Hakbang 12: Itakda ang Mga Startup Script
Video: Pinagana ang Power Outlet sa Internet: 13 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Mga Tagubilin sa Pag-set up ng Outlet na Pinagana ng PowerHub Webserver
Ang sentro ng data ng pagtitiyaga ng data para sa Internet ay nagbibigay ng ilaw at outlet sa iyong bahay!
Hakbang 1: Mga Tagubilin sa Pag-setup ng Outlet na Pinagana ng PowerHub Webserver
Ang sentro ng data ng pagtitiyaga ng data para sa Internet ay nagbibigay ng ilaw at outlet sa iyong tahanan
Flashing RaspberriPi Hard Disk / Install Required Software (Paggamit ng Ubuntu Linux) I-download ang "RASPBIAN JESSIE LITE"
Lumikha ng iyong bagong hard disk para sa DashboardPI
Ipasok ang microSD sa iyong computer sa pamamagitan ng USB adapter at likhain ang imahe ng disk gamit ang dd command
Hanapin ang iyong ipinasok na microSD card sa pamamagitan ng utos na df -h, i-unmount ito at likhain ang imahe ng disk gamit ang disk copy dd command
$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678
$ umount / dev / sdb1
Pag-iingat: siguraduhin na ang utos ay ganap na tumpak, maaari mong mapinsala ang iba pang mga disk sa utos na ito
kung = lokasyon ng RASPBIAN JESSIE LITE file ng imahe ng = lokasyon ng iyong microSD card
$ sudo dd bs = 4M kung = / path / to / raspbian-jessie-lite.img ng = / dev / sdb (tala: sa kasong ito, ito ay / dev / sdb, / dev / sdb1 ay isang mayroon nang partisyon ng pabrika sa microSD)
Pagse-set up ng iyong RaspberriPi
Ipasok ang iyong bagong microSD card sa raspberrypi at paganahin ito gamit ang isang monitor na konektado sa HDMI port
Mag log in
gumagamit: pi pass: raspberry
Baguhin ang password ng iyong account para sa seguridad
sudo passwd pi
Hakbang 2: Paganahin ang Mga Advanced na Pagpipilian sa RaspberriPi
sudo raspi-config
Piliin: 1 Palawakin ang System ng File
9 Mga advanced na pagpipilian
Binago ito ng A2 Hostname sa "WIFI-OUTLET"
A4 SSH Paganahin ang SSH Server
A7 I2C Paganahin ang i2c interface
Paganahin ang English / US Keyboard
sudo nano / etc / default / keyboard
Baguhin ang sumusunod na linya: XKBLAYOUT = "us"
I-reboot ang PI para sa mga pagbabago sa layout ng Keyboard / pagbabago ng laki ng file system upang magkabisa
$ sudo shutdown -r ngayon
Awtomatikong Kumonekta sa iyong WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Idagdag ang mga sumusunod na linya upang awtomatikong kumonekta ang iyong raspberrypi sa iyong WiFi sa bahay (kung ang iyong wireless network ay pinangalanang "linksys" halimbawa, sa sumusunod na halimbawa)
network = {ssid = "linksys" psk = "WIRELESS PASSWORD DITO"} I-reboot ang PI upang kumonekta sa WiFi network
$ sudo shutdown -r ngayon
Ngayon na ang iyong PI ay sa wakas ay nasa lokal na network, maaari kang mag-login nang malayuan dito sa pamamagitan ng SSH. Ngunit kailangan mo munang makuha ang IP address na kasalukuyang mayroon ito.
$ ifconfig Hanapin ang "inet addr: 192.168. XXX. XXX" sa output ng sumusunod na command para sa IP Address ng iyong PI
Pumunta sa isa pang makina at mag-login sa iyong raspberrypi sa pamamagitan ng ssh
$ ssh [email protected]. XXX. XXX
Hakbang 3: Simulang I-install ang Mga Kinakailangan na Pakete
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vim git python-requests python-gpiozero python-smbus i2c-tool python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev
I-update ang mga setting ng lokal na timezone
$ sudo dpkg-reconfigure tzdata
piliin ang iyong timezone gamit ang interface
I-setup ang simpleng direktoryo l utos [opsyonal]
vi ~ /.bashrc
idagdag ang sumusunod na linya:
alyas l = 'ls -lh'
pinagmulan ~ /.bashrc
Ayusin ang VIM default na syntax na pagha-highlight ng [opsyonal]
sudo vi / etc / vim / vimrc
i-komento ang sumusunod na linya:
syntax sa
I-install ang i2c Python Drivers
Hakbang 4: ITIWAL ANG WEB API
Papayagan ka ng mga sumusunod na tagubilin na buuin ang gitnang hub na nagpapaliwanag sa iba't ibang mga outlet na pinagana ng wifi at mga switch ng pader na maaari mong buuin, kung aling mga aparato ang nakabukas at naka-off. Ito ay isang maliit na script ng PHP upang mailagay sa isang webhost na iyong pinili. Mayroon itong sumusunod na API upang makakuha at magtakda ng impormasyon dito. Tandaan: huwag kalimutang isama ang.htaccess file para maganap ang wastong pagruruta ng URL.
I-install ang "index.php", "mga halaga /" folder at setting.php (naka-configure sa iyong sariling mga halaga) sa isang pinaganang PHP na webserver na iyong pinili. Ang lihim na halaga ng susi sa file na "setting.php" ay dapat na tumutugma sa lihim na halagang key na itatakda mo sa "setting.py" na file. Pipigilan nito sa isang pangunahing antas ang anumang iba pang trapiko sa web mula sa mga setting ng pagtatakda / pagsulat, pag-on ng iyong mga aparato, kailangan mo ngayon ang hashed API key na ito sa header ng paghiling ng HTTP upang magawa ito.
Sinusuportahan ng API ang mga sumusunod na tampok, para sa proyektong ito gagamitin lamang namin ang mga halagang "flag" na mga halagang boolean na nagsasabi sa switch na i-on at i-off. Marahil kung nais mong samantalahin ang mga halagang "pagbabasa" na maaari mo itong makuha kaya kung ang isang temperatura sa silid ay masyadong mainit sa pamamagitan ng pag-save ng temperatura doon, maaari nitong buksan ang isang window fan, atbp.
Kunin ang Code
I-clone ang sumusunod na proyekto mula sa GitHub upang makuha ang code upang patakbuhin ang webserver at ang outlet na RaspberryPI.
github.com/khinds10/PowerHub
Mga Endpoint ng API kapag tumatakbo sa webserver
myhost / message (kunin ang kasalukuyang hanay ng mensahe)
myhost / message / set (HTTP POST isang hilaw na halaga ng string sa URL na ito upang magtakda ng isang bagong mensahe)
myhost / flag / {id} (kunin ang kasalukuyang katayuan ng boolean ng flag sa pamamagitan ng integer: {id})
myhost / flag / lahat (kunin ang lahat ng kasalukuyang katayuan ng boolean ng lahat ng mga flag bilang isang array)
myhost / flag / {id} / set (itakda ang kasalukuyang katayuan ng boolean sa 'totoo' para sa watawat ayon sa integer: {id})
myhost / flag / {id} / unset (itakda ang kasalukuyang katayuan ng boolean sa 'false' para sa flag by integer: {id})
myhost / reading / {id} (kunin ang kasalukuyang average na halaga para sa pagbabasa sa pamamagitan ng integer: {id})
myhost / pagbabasa / lahat (makuha ang kasalukuyang average na halaga para sa lahat ng mga pagbasa bilang isang array)
myhost / reading / {id} / set (HTTP POST isang hilaw na numerong halaga sa URL na ito upang magdagdag ng isang bagong halaga sa kasalukuyang kinakalkula na average) - tingnan sa ibaba kung gaano karaming mga halaga sa kabuuan ang naipon sa average na halaga Pagkumpirma Ang mga halagang 'pagbasa' ay kinakalkula bilang mga average ng isang tiyak na bilang ng mga kamakailang nagpatuloy na pagbabasa ng mga halagang bilang. Itakda ang sumusunod na pare-pareho sa kung ilan sa pinakabagong mga pagbabasa ay dapat na isama upang makabuo ng average.
$ readingsAverageLimit = 5;
Mapapatuloy ng Datastore Server ang mga halaga sa mga simpleng file na matatagpuan sa pamamagitan ng pagbibigay ng pangalan sa mga kombensiyon sa ibaba. Tandaan: Ang {id} ay papalitan ng tunay na integer na ipinakita ng URL ng papasok na kahilingan.
$ halagaFileFolder = 'mga halaga' (pangalan ng folder upang maglaman ng mga file ng pagsukat) $ messageFileName = 'message.msg' (pangalan ng file ng teksto ng mensahe) $ readingsFilesNames = 'pagbabasa {id}.avg' (na-average ang pangalan ng CSV readings file) $ flagFilesNames = 'flag {id}.flg' (pangalan ng boolean flag na flag flag file)
Siguraduhin na ang lahat ng mga file ng halaga ay nasusulat ng mga halaga ng systemchmod 777 / *
Hakbang 5: Kailangan ng Mga Kailangan
1 pulgada na butas (para sa isang drill)
5V 2 Channel Relay Module
Duplex Receptacle Wall Plate
Duplex Receptacle
Pi Zero W
Ibabaw ng Mount Backbox Dual Gang
Mga Puti na Push ng Puti na Iilaw
Hakbang 6: Pagbuo ng Outlet
Mga Break Outlet Tab
Basagin ang tab sa gilid ng outlet upang ang bawat socket ay buksan / patayin nang nakapag-iisa
Hakbang 7: Mag-install ng Mga Pindutan
Sa faceplate ng Outlet gamit ang 1 hole saw cut ang 2 butas para sa mga pindutan na mailalagay sa tabi ng mga outlet
Pagsubok sa laki ng mga bahagi
Siguraduhin na ang lahat ng mga bahagi ay magkakasya sa outlet mount mount box
Hakbang 8: Wire Relay
Wire ang Relay sa outlet, mula sa extension cord na papunta sa dingding, ikonekta ang lupa (berde) at walang kinikilingan (puti) nang direkta sa outlet Para sa mainit (itim) ikonekta ang mga ito sa relay pagkatapos mula sa relay sa bawat outlet na mainit na konektor paisa-isa
Hakbang 9: Karagdagang Mga Kable at Mga Larawan sa Assembly
Hakbang 10: Diagram ng Mga Kable
Gamitin ang diagram upang wastong kawad ang mga sangkap upang gumana sa RaspberryPI Python code.
Hakbang 11: Subukan ang Dry Run
Pagkatapos ng huling pagpupulong bago i-screwing ang hole unit nang magkasama, magsagawa ng dry run ng aparato upang matiyak na walang mga shorts, hindi magandang kable
Hakbang 12: Itakda ang Mga Startup Script
crontab -e
idagdag ang mga sumusunod na linya
@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py
Inirerekumendang:
Pinagana ng Remote Control ang Alexa (gamit ang WEMO D1 Mini): 3 Mga Hakbang
Pinagana ng Remote Control ang Alexa (gamit ang WEMO D1 Mini): Ito ay isang na-update na bersyon ng isang nakaraang post: https: //www.instructables.com/id/Voice-Activated-R.. Sa nakaraang bersyon, gumamit ako ng Geetech module ng boses upang makontrol ang isang regular na uri ng opener ng pintuan ng garahe ng remote. Sa itinuturo na ito pinalitan ko ang vo
Pinagana ng Wifi ang OLED ESP32 Mga Car Gauge: 3 Hakbang (na may Mga Larawan)
Pinagana ng Wifi ang OLED ESP32 Mga Gauge ng Kotse: Mga pagpapakilala muna … Bumubuo ako ng mga gauge ng kotse bilang isang uri ng muli at off na libangan. Tingnan ang https: //www.instructables.com/id/Remote-Car-Monit … at https: //www.instructables.com/id/Remote-Car-Monit … para sa dalawa pang mga kamakailang halimbawa. Lalo na gusto ko
Pinagana ng Internet ang DSC Home Security System: 22 Mga Hakbang
Pinagana ng Internet DSC Home Security System: Baguhin ang isang umiiral na system ng DSC Home Security upang ma-e-internet at masubaybayan ang sarili. Ipinagpapalagay na itinuturo na mayroon kang isang gumaganang Raspberry Pi. Mangyaring tandaan ang pagpapatupad na ito ay may mga sumusunod na pagkukulang: Kung pinuputol ng isang magnanakaw ang papasok na DSL cable
Pinagana ng WiFi ang Pinagana ng Temperatura na Kinokontrol ng Temperatura ng WiFi: 4 na Hakbang
Pinagana ng WiFi ang Pinagana na Temperatura na Kinokontrol ng Temperatura: Sa hanay ng tagubilin na ito titingnan namin kung paano bumuo ng isang probe ng temperatura na pinagana ng WiFi sa pamamagitan ng paggamit ng isang simpleng ESP8266 para sa mabibigat na nakakataas at isang sensor ng temperatura / kahalumigmigan ng DHT11. Gagamitin din namin ang circuit board na aking nilikha at
Gamit ang Iyong Bluetooth Pinagana ang Sony Ericsson Telepono upang Makontrol ang Iyong Computer: 6 Mga Hakbang
Paggamit ng Iyong Bluetooth na Pinagana ang Sony Ericsson Telepono upang Makontrol ang Iyong Kompyuter: Kanina pa ako nagbabasa ng mga itinuturo, at palaging nais kong gawin ang ilan sa mga bagay na sinulat ng mga tao, ngunit nahanap ko ang aking sarili sa mga bagay na ay mahirap gawin dahil ang mga ito ay tunay na mahirap gawin, o ang ika