Სარჩევი:
- ნაბიჯი 1: PowerHub Webserver Project & Internet Enabled Outlet Setup Instructions
- ნაბიჯი 2: ჩართეთ RaspberriPi დამატებითი პარამეტრები
- ნაბიჯი 3: დაიწყეთ საჭირო პაკეტების დაყენება
- ნაბიჯი 4: ააშენეთ ვებ API
- ნაბიჯი 5: საჭირო მასალები
- ნაბიჯი 6: შექმენით განყოფილება
- ნაბიჯი 7: დააინსტალირეთ ღილაკები
- ნაბიჯი 8: მავთულის სარელეო
- ნაბიჯი 9: დამატებითი გაყვანილობა და შეკრების სურათები
- ნაბიჯი 10: გაყვანილობის დიაგრამა
- ნაბიჯი 11: გამოცადეთ მშრალი გაშვება
- ნაბიჯი 12: დააყენეთ გაშვების სკრიპტები
ვიდეო: ინტერნეტით ჩართული დენის განყოფილება: 13 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
PowerHub ვებ სერვერის პროექტი და ინტერნეტი ჩართული განყოფილების დაყენების ინსტრუქცია
ინტერნეტის მუდმივი მონაცემთა ცენტრი ინტერნეტისთვის ჩართულია შუქი და საშუალებები თქვენს სახლში!
ნაბიჯი 1: PowerHub Webserver Project & Internet Enabled Outlet Setup Instructions
ინტერნეტის მუდმივი მონაცემთა ცენტრი ინტერნეტისთვის ჩართულია შუქი და საშუალებები თქვენს სახლში
Flashp RaspberriPi მყარი დისკი/დააინსტალირეთ საჭირო პროგრამული უზრუნველყოფა (Ubuntu Linux– ის გამოყენებით) ჩამოტვირთეთ "RASPBIAN JESSIE LITE"
შექმენით თქვენი ახალი მყარი დისკი DashboardPI– სთვის
ჩადეთ microSD თქვენს კომპიუტერში USB ადაპტერის საშუალებით და შექმენით დისკის სურათი dd ბრძანების გამოყენებით
იპოვეთ თქვენი ჩამონტაჟებული microSD ბარათი df -h ბრძანების საშუალებით, გააუქმეთ იგი და შექმენით დისკის სურათი დისკის ასლი dd ბრძანებით
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/მედია/XXX/1234-5678
$ umount /dev /sdb1
სიფრთხილე: დარწმუნდით, რომ ბრძანება არის სრულიად ზუსტი, ამ ბრძანებით შეგიძლიათ დააზიანოთ სხვა დისკები
if = RASPBIAN JESSIE LITE გამოსახულების ფაილის ადგილმდებარეობა = თქვენი microSD ბარათის მდებარეობა
$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (შენიშვნა: ამ შემთხვევაში, ის/dev/sdb,/dev/sdb1 იყო არსებული ქარხნის დანაყოფი microSD)
თქვენი RaspberriPi– ის დაყენება
ჩადეთ ახალი microSD ბარათი ჟოლოში და ჩართეთ HDMI პორტთან დაკავშირებული მონიტორით
Შესვლა
მომხმარებელი: pi pass: ჟოლო
შეცვალეთ თქვენი ანგარიშის პაროლი უსაფრთხოების მიზნით
sudo passwd pi
ნაბიჯი 2: ჩართეთ RaspberriPi დამატებითი პარამეტრები
sudo raspi-config
აირჩიეთ: 1 ფაილის სისტემის გაფართოება
9 დამატებითი პარამეტრები
A2 მასპინძლის სახელი შეცვალეთ "WIFI-OUTLET"-ით
A4 SSH ჩართეთ SSH სერვერი
A7 I2C ჩართეთ i2c ინტერფეისი
ჩართეთ ინგლისური/ამერიკული კლავიატურა
sudo nano/etc/default/კლავიატურა
შეცვალეთ შემდეგი ხაზი: XKBLAYOUT = "ჩვენ"
გადატვირთეთ PI კლავიატურის განლაგების ცვლილებებისთვის / ფაილის სისტემის ზომის შეცვლა ძალაში შესასვლელად
$ sudo გამორთვა -r ახლა
ავტომატურად დაუკავშირდით თქვენს WiFi- ს
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
დაამატეთ შემდეგი ხაზები, რომ თქვენი ჟოლოს ავტომატურად დაუკავშირდეს თქვენს სახლის WiFi- ს (თუ თქვენს უკაბელო ქსელს ეწოდება მაგალითად "linksys", შემდეგ მაგალითში)
network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} გადატვირთეთ PI WiFi ქსელთან დასაკავშირებლად
$ sudo გამორთვა -r ახლა
ახლა, როდესაც თქვენი PI საბოლოოდ არის ადგილობრივ ქსელში, შეგიძლიათ დისტანციურად შეხვიდეთ მასში SSH– ის საშუალებით. მაგრამ ჯერ უნდა მიიღოთ ის IP მისამართი, რომელიც ამჟამად აქვს.
$ ifconfig მოძებნეთ "inet addr: 192.168. XXX. XXX" შემდეგი ბრძანების გამომუშავებაში თქვენი PI- ის IP მისამართისთვის
გადადით სხვა მანქანაზე და შედით თქვენს ჟოლოს ssp საშუალებით
$ ssh [email protected]. XXX. XXX
ნაბიჯი 3: დაიწყეთ საჭირო პაკეტების დაყენება
$ sudo apt-get განახლება
$ sudo apt-get განახლება
$ sudo apt-get ინსტალაცია vim git python- ითხოვს python-gpiozero python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev
განაახლეთ ადგილობრივი დროის ზონის პარამეტრები
$ sudo dpkg-ხელახლა დააკონფიგურირეთ tzdata
შეარჩიეთ თქვენი დროის ზონა ინტერფეისის გამოყენებით
დააყენეთ მარტივი დირექტორია l ბრძანება [სურვილისამებრ]
vi ~/.bashrc
დაამატეთ შემდეგი ხაზი:
მეტსახელი l = 'ls -lh'
წყარო ~/.bashrc
VIM ნაგულისხმევი სინტაქსის ხაზგასმა [სურვილისამებრ]
sudo vi/etc/vim/vimrc
დატოვეთ კომენტარი შემდეგ სტრიქონზე:
სინტაქსი ჩართულია
დააინსტალირეთ i2c პითონის დრაივერები
ნაბიჯი 4: ააშენეთ ვებ API
შემდეგი ინსტრუქციები საშუალებას მოგცემთ ააშენოთ ცენტრალური კერა, რომელიც განმარტავს სხვადასხვა wifi ჩართულ საშუალებებს და თქვენ შეგიძლიათ ააწყოთ კედლის გადამრთველები, რომელი მოწყობილობები არის ჩართული და გამორთული. ეს არის მცირე PHP სკრიპტი, რომელიც განთავსდება თქვენი არჩევის ვებოსტატზე. მას აქვს შემდეგი API ინფორმაციის მისაღებად და დასაყენებლად. შენიშვნა: არ დაგავიწყდეთ.htaccess ფაილის ჩართვა, რათა მოხდეს სწორი URL მარშრუტიზაცია.
დააინსტალირეთ "index.php", "values/" საქაღალდე და settings.php (კონფიგურირებული საკუთარ ღირებულებებზე) PHP ჩართულ ვებ სერვერზე თქვენი არჩევანით. საიდუმლო გასაღების მნიშვნელობა "settings.php" ფაილში უნდა ემთხვეოდეს საიდუმლო გასაღების მნიშვნელობას, რომელსაც თქვენ დააყენებთ "settings.py" ფაილში. ეს ძირითად დონეზე ხელს შეუშლის ნებისმიერი სხვა ვებ - ტრაფიკის მიერ მნიშვნელობების დაყენებას / ჩაწერას, თქვენი მოწყობილობების ჩართვას, ამის გასაკეთებლად ახლა გჭირდებათ ეს hashed API გასაღები HTTP მოთხოვნის სათაურში.
API მხარს უჭერს შემდეგ მახასიათებლებს, ამ პროექტისთვის ჩვენ ვიყენებთ მხოლოდ "დროშის" მნიშვნელობებს, რომლებიც არის ლოგიკური მნიშვნელობები, რომლებიც მიუთითებენ გადამრთველზე ჩართვასა და გამორთვაზე. ალბათ, თუ გინდათ ისარგებლოთ "კითხვის" მნიშვნელობებით, შეგიძლიათ გქონდეთ, ასე რომ, თუ ოთახის ტემპერატურა ძალიან ცხელდება იქ ტემპერატურის დაზოგვით, მას შეეძლება ფანჯრის ვენტილატორის ჩართვა და ა.
მიიღეთ კოდი
კლონირება მოახდინეთ GitHub– ის შემდეგ პროექტზე, რათა მიიღოთ ვებ სერვერის და RaspberryPI განყოფილების გაშვების კოდი.
github.com/khinds10/PowerHub
ვებ სერვერზე გაშვებისას API საბოლოო წერტილები
myhost/შეტყობინება (მიიღეთ მიმდინარე შეტყობინებების ნაკრები)
myhost/message/set (HTTP POST არის ამ URL– ს ნედლი სიმებიანი მნიშვნელობა ახალი შეტყობინების დასაყენებლად)
myhost/flag/{id} (მიიღეთ დროშის ბულანის სტატუსი მთელი რიცხვით: {id})
myhost/flag/all (მიიღეთ ყველა დროშის ლოგიკური სტატუსი ყველა დროშის სახით, როგორც მასივი)
myhost/flag/{id}/set (დააყენეთ მიმდინარე ლოგიკური სტატუსი დროშისათვის "true" მთელი რიცხვით: {id})
myhost/flag/{id}/unset (დააყენეთ მიმდინარე ლოგიკური სტატუსი დროშისათვის "false" მთელი რიცხვით: {id})
myhost/reading/{id} (მიიღეთ მიმდინარე საშუალო მნიშვნელობა კითხვისთვის მთელი რიცხვით: {id})
myhost/reading/all (მიიღეთ მიმდინარე საშუალო მნიშვნელობა ყველა წაკითხვისთვის, როგორც მასივი)
myhost/reading/{id}/set (HTTP POST არის ნედლეული რიცხვითი მნიშვნელობა ამ URL– სთვის, რომ დაამატოთ ახალი მნიშვნელობა მიმდინარე გამოთვლილ საშუალოზე) - იხილეთ ქვემოთ, თუ რამდენი მნიშვნელობა შედგენილია საშუალო მნიშვნელობასთან კონფიგურაცია "კითხვის" მნიშვნელობები გამოითვლება როგორც საშუალო რაოდენობის ბოლოდროინდელი გადარჩენილი კითხვის რიცხვითი მნიშვნელობები. დააყენეთ შემდეგი მუდმივი, თუ რამდენი უახლესი კითხვა უნდა იყოს ჩართული საშუალო მნიშვნელობის მისაღებად.
$ readingsAverageLimit = 5;
მონაცემთა ბაზის სერვერი შეინარჩუნებს მნიშვნელობებს იმ მარტივი ფაილებისათვის, რომლებიც მდებარეობს ქვემოთ მითითებული კონვენციის სახელებით. შენიშვნა: {id} შეიცვლება რეალური რიცხვით, რომელიც წარმოდგენილია შემომავალი მოთხოვნის URL- ით.
$ valueFileFolder = 'ღირებულებები' (საქაღალდის სახელი, რომელიც შეიცავს გაზომვის ფაილებს) $ messageFileName = 'message.msg' (შეტყობინების ტექსტური ფაილის სახელი) $ readingsFilesNames = 'კითხულობს {id}.avg' (საშუალო CSV- ის სახელი წაკითხვის ფაილი) $ flagFilesNames = 'flag {id}.flg' (ლოგიკური დროშის მნიშვნელობის დროშის ფაილის სახელი)
დარწმუნდით, რომ ყველა ღირებულების ფაილი იწერება systemchmod 777 მნიშვნელობებით/*
ნაბიჯი 5: საჭირო მასალები
1 ინჩიანი ხვრელი (საბურღისთვის)
5V 2 არხიანი სარელეო მოდული
დუპლექსის მიმღები კედლის ფირფიტა
დუპლექსის მიმღები
პი ნულოვანი ვ
Surface Mount Backbox Dual Gang
თეთრი განათებული ღილაკები
ნაბიჯი 6: შექმენით განყოფილება
შესვენება Outlet ჩანართები
გატეხეთ ჩანართი გასასვლელის მხარეს, რომ თითოეული ბუდე დამოუკიდებლად ჩართოთ/გამორთოთ
ნაბიჯი 7: დააინსტალირეთ ღილაკები
Outlet faceplate- ის გამოყენებით 1 ხვრელი ხერხი მოჭრილი 2 ხვრელი ღილაკები უნდა განთავსდეს გვერდით
კომპონენტების ზომის ტესტირება
დარწმუნდით, რომ ყველა კომპონენტი მოთავსდება გასასვლელი ზედაპირის სამონტაჟო ყუთში
ნაბიჯი 8: მავთულის სარელეო
მავთულის სარელეო გასასვლელიდან, გაფართოების კაბელიდან კედლისკენ, დააკავშირეთ მიწა (მწვანე) და ნეიტრალური (თეთრი) პირდაპირ გასასვლელში ცხელი (შავი) შეაერთეთ რელეზე შემდეგ სარელეოდან თითოეულ გასასვლელში ცხელი კონექტორები ინდივიდუალურად
ნაბიჯი 9: დამატებითი გაყვანილობა და შეკრების სურათები
ნაბიჯი 10: გაყვანილობის დიაგრამა
გამოიყენეთ დიაგრამა კომპონენტების სწორად დასაკავშირებლად RaspberryPI პითონის კოდთან მუშაობისთვის.
ნაბიჯი 11: გამოცადეთ მშრალი გაშვება
ფინალური შეკრების შემდეგ, სანამ ხრახნიან ერთეულს ერთმანეთზე დაახვევთ, შეასრულეთ მოწყობილობის მშრალი გაშვება, რომ დარწმუნდეთ, რომ შორტები არ არის, ცუდი გაყვანილობა
ნაბიჯი 12: დააყენეთ გაშვების სკრიპტები
crontab -e
დაამატეთ შემდეგი სტრიქონები
@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py
გირჩევთ:
ეს PNG არის საიდუმლო განყოფილება: 4 ნაბიჯი
ეს PNG არის საიდუმლო განყოფილება: თქვენი გამოწვევა, ძვირფასო მკითხველო, არის გაერკვნენ, თუ რა შეტყობინება იმალება output.png გამოსახულებაში, რომელიც მე შენთვის github- ზე დავდე. თქვენ შეგიძლიათ გამოიყენოთ MessageHider კოდი შეტყობინების ამოსაღებად. თუ დაბნეული ხართ, გთხოვთ კომენტარი გააკეთოთ ქვემოთ და მე დაგეხმარებით
ხმების განყოფილება Scratch ჩამონტაჟებული სათამაშოებისათვის DFplayer Mini MP3 პლეერის გამოყენებით: 4 ნაბიჯი
ხმების განყოფილება Scratch ჩამონტაჟებული სათამაშოებისათვის DFplayer მინი MP3 პლეერის გამოყენებით: კეთილი იყოს თქვენი მობრძანება ჩემს " ible " #35. გსურთ შექმნათ ხმოვანი ერთეული, რომელიც შეგიძლიათ გამოიყენოთ სხვადასხვა გზით, ატვირთოთ თქვენთვის სასურველი ხმები თქვენი ნულიდან სათამაშოებისთვის, რამდენიმე წამში? აქ არის სახელმძღვანელო, რომელიც განმარტავს როგორ გავაკეთოთ ეს D
Covid-19 ვენტილატორის კონტროლის განყოფილება: 10 ნაბიჯი
Covid-19 ვენტილატორის კონტროლის განყოფილება: ეს პროექტი არის პროტოტიპი, რომელიც აშენებულია ვენტილატორთა ბრბოსთვის, ხალხის წყაროს ვენტილატორისთვის. ამ პროექტის საჯარო ვებგვერდი აქ არის: https://www.ventilatorcrowd.org/ ის აქ არის გაზიარებული, რათა სხვებმა შეძლონ ჩვენი ამჟამინდელი მუშაობის დამუშავება, ისწავლონ
ინტერნეტით ჩართული DSC სახლის უსაფრთხოების სისტემა: 22 ნაბიჯი
ინტერნეტი ჩართულია DSC Home Security System: შეცვალეთ არსებული DSC Home Security სისტემა, რომ იყოს ინტერნეტი ჩართული და თვითმონიტორინგი. ეს გასაგები ვარაუდობს, რომ თქვენ გაქვთ სამუშაო ჟოლო Pi. გთხოვთ გაითვალისწინოთ, რომ ამ განხორციელებას აქვს შემდეგი ნაკლოვანებები: თუ ქურდი გაწყვეტს მომავალ DSL კაბელს
დაამატეთ USB დენის განყოფილება თქვენს მანქანაში: 9 ნაბიჯი (სურათებით)
დაამატეთ USB დენის განყოფილება თქვენს მანქანაში: ავტომობილისთვის 12 ვოლტიანი გადამყვანების მასიური ხასიათის გათვალისწინებით, მე გადავწყვიტე USB დენის ჩართვა 2010 წლის Prius III– ში. მიუხედავად იმისა, რომ ეს რეჟიმი სპეციფიკურია ჩემი მანქანისთვის, ის შეიძლება გამოყენებულ იქნას ბევრ მანქანაზე, სატვირთო მანქანაზე, RV– ზე, ნავებზე და ა