Სარჩევი:
- ნაბიჯი 1: დააინსტალირეთ Raspbian OS Windows– ის გამოყენებით
- ნაბიჯი 2: დააინსტალირეთ Raspbian OS Mac OS X– ის გამოყენებით
- ნაბიჯი 3: Pi- ის დაყენება
- ნაბიჯი 4: დააინსტალირეთ Wifi
- ნაბიჯი 5: დისტანციურად დაუკავშირდით თქვენს Pi– ს Windows– ის გამოყენებით
- ნაბიჯი 6: დისტანციურად დაუკავშირდით თქვენს Pi– ს Mac– ის გამოყენებით
- ნაბიჯი 7: პროგრამული უზრუნველყოფის ინსტალაცია
- ნაბიჯი 8: ენერგიის გაყვანილობა
- ნაბიჯი 9: Mosfets- ის გაყვანილობა და Pi- ს დაკავშირება
- ნაბიჯი 10: ჩამოტვირთეთ და გამოსცადეთ Led Strip
- ნაბიჯი 11: სერვერის სკრიპტის დაპროგრამება
- ნაბიჯი 12: ვებ სერვერის დაპროგრამება
- ნაბიჯი 13: მისი მუშაობა Apache2– ით
- ნაბიჯი 14: Tasker და Ifttt და სხვა სერვისების დაყენება
- ნაბიჯი 15: პერსონალური ეფექტების შექმნა
ვიდეო: Wifi კონტროლირებადი 12v Led Strip Raspberry Pi გამოყენებით Tasker, Ifttt ინტეგრაცია .: 15 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ამ პროექტში მე გაჩვენებთ თუ როგორ უნდა აკონტროლოთ მარტივი 12 ვ ანალოგური LED ზოლები wifi– ზე ჟოლოს პი გამოყენებით.
ამ პროექტისთვის დაგჭირდებათ:
- 1x Raspberry Pi (მე ვიყენებ Raspberry Pi 1 მოდელს B+)
- 1x RGB 12v Led Strip [Ebay ავსტრალია]
- 3x IRFZ44N N-Channel Mosfet's [Ebay ავსტრალია]
- 1x DC დენის ჯეკის ადაპტერი [Ebay Australia]
- ზოგიერთი მავთული
- ეკრანი, კლავიატურა (მხოლოდ დასაყენებლად)
ნაბიჯი 1: დააინსტალირეთ Raspbian OS Windows– ის გამოყენებით
Raspbian– ის ფანჯრებით დაყენების მიზნით დაგჭირდებათ:
- Win32 Disk Imager: [ჩამოტვირთეთ]
- Raspbian OS Lite: [Zip], [ტორენტი]
** მნიშვნელოვანია, თუ არასწორად მოიქცეთ, თქვენ შეიძლება დაკარგოთ თქვენი ყველა მონაცემი, გთხოვთ გააგრძელოთ თქვენი მონაცემების სარეზერვო ასლები გაგრძელებამდე **
- შეაერთეთ თქვენი SD ბარათი ბარათის მკითხველში და გახსენით ჩემი კომპიუტერი
- მოძებნეთ დისკის წერილი
- დააწკაპუნეთ მარჯვენა ღილაკით Win32DiskImager და დააწკაპუნეთ "გაუშვით ადმინისტრატორად"
- შემდეგ დააწკაპუნეთ პატარა ლურჯ საქაღალდეზე და დაათვალიერეთ RaspbianOS– ის თქვენი სურათი
- ასევე დააჭირეთ ჩამოსაშლელ ყუთს მოწყობილობის ქვეშ და შეცვალეთ იგი SD ბარათის Drive Letter- ში
- შემდეგ დააჭირეთ "დაწერეთ"
- დიალოგური ფანჯარა გაიხსნება სანამ დააჭირეთ Yes- ს და დარწმუნდით, რომ სამიზნე მოწყობილობა სწორია
- შემდეგ ამოიღეთ SD ბარათი და ჩადეთ იგი pi- ში
ნაბიჯი 2: დააინსტალირეთ Raspbian OS Mac OS X– ის გამოყენებით
Raspbian– ის Mac– ით დასაყენებლად დაგჭირდებათ:
- ApplePi-Baker [ჩამოტვირთვა]
- Raspbian OS Lite: [Zip], [ტორენტი]
** მნიშვნელოვანია, თუ არასწორად მოიქცეთ, თქვენ შეიძლება დაკარგოთ თქვენი ყველა მონაცემი, გთხოვთ გააგრძელოთ თქვენი მონაცემების სარეზერვო ასლები გაგრძელებამდე **
- გახსენით Disk Utility და მოძებნეთ თქვენი SD ბარათი მარცხენა მხარეს, შემდეგ დააწკაპუნეთ მასზე
- მოძებნეთ "მოწყობილობა" ფანჯრის ბოლოში, თქვენ უნდა ნახოთ დისკის მსგავსი რაღაც, სადაც x არის რიცხვი
- დაიმახსოვრეთ "მოწყობილობის" ნომერი და გახსენით ApplePi-Baker
- ის მოგთხოვთ პაროლს იმის გამო, რომ მას სჭირდება თქვენი SD ბარათის ფორმატირება
- დააწკაპუნეთ "მოწყობილობის" ნომერზე, რომელიც არის After / dev / მარცხენა მხარეს
- დააჭირეთ ღილაკს "აღდგენა-სარეზერვო" დაათვალიერეთ RaspbianOS თქვენი სურათი.
- ის დაიწყებს SD ბარათის წაშლას და მასზე Raspbian- ის დაყენებას
- დასრულების შემდეგ გამოჩნდება გამაფრთხილებელი ყუთი, რომელიც გეუბნებათ, რომ შეგიძლიათ ამოიღოთ SD ბარათი, ამოიღოთ იგი და ჩაწეროთ თქვენს პიში.
ნაბიჯი 3: Pi- ის დაყენება
Pi- ს ჩართვამდე თქვენ უნდა შეაერთოთ HDMI ეკრანი, კლავიატურა და Ethernet კაბელი ან USB wifi (ჩვენ ამას დავაყენებთ შემდეგ ეტაპზე).
გააქტიურეთ pi, თქვენ ნახავთ უამრავ ტექსტს, რომელიც ავსებს ეკრანს, ეს ნორმალურია და არის ლინუქსის ბირთვის გაშვების ნაწილი. ცოტა დაელოდეთ სანამ დაინახავთ
ჟოლოს შესვლა:
თქვენი მომხმარებლის სახელი არის pi და პაროლი არის ჟოლო (თქვენ ეკრანზე ვერაფერს დაინახავთ, მაგრამ ის კვლავ შესულია)
შესვლისას ნახავთ:
pi@raspberrypi: ~ $
შემდეგ თქვენ უნდა შეიყვანოთ:
sudo raspi-config
შემდეგ თქვენი ეკრანი შეივსება ლურჯი ეკრანით, ცენტრში ნაცრისფერი ყუთის პარამეტრებით,
- ზემოდან და ქვევით კლავიშების გამოყენებით, მონიშნეთ და დააჭირეთ ღილაკს "გაფართოების ფაილური სისტემა" რამდენიმე წამის შემდეგ თქვენ მიიღებთ გაფრთხილებას, რომ "root ფაილური სისტემა შეიცვალა", დააჭირეთ Enter
- შემდეგ დააჭირეთ ქვემოთ ისარს და გადადით ჩატვირთვის პარამეტრებზე და დააწკაპუნეთ Enter, შემდეგ დააჭირეთ ღილაკს Enter, როდესაც "Desktop / CLI" არის არჩეული, შემდეგ მონიშნეთ "Console Autologin" და დააწკაპუნეთ enter
- შემდეგ შეარჩიეთ დამატებითი პარამეტრები და დააჭირეთ Enter
- შემდეგ გადაახვიეთ ssh– ზე და დააწკაპუნეთ enter– ზე და აირჩიეთ დიახ
- შემდეგ დააჭირეთ მარჯვენა ისარს, სანამ უკანა მხარე არ არის მონიშნული და დააჭირეთ Enter
- შემდეგ კვლავ გადადით ბოლოში და დააწკაპუნეთ დასრულებაზე და თქვით დიახ გადატვირთვას
გადატვირთვის შემდეგ, თუ თქვენ ხართ დაკავშირებული Ethernet– ით, თქვენ უნდა შეიყვანოთ ეს ბრძანება თქვენი IP მისამართის საპოვნელად, ასე რომ ჩვენ შეგვიძლია ჩავრთოთ pi– ში
იპოვეთ ip:
მასპინძლის სახელი -მე
ნაბიჯი 4: დააინსტალირეთ Wifi
Pi– ზე wifi დასაყენებლად ჩვენ გვჭირდება ფაილის რედაქტირება
1. შეიყვანეთ ბრძანების სტრიქონი
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
2. გადადით ფაილის ბოლოს და შეიყვანეთ
ქსელი = {
ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}
3. შემდეგ გადატვირთეთ თქვენი პი
sudo გადატვირთვა
თქვენი pi გადატვირთვის შემდეგ მიიღეთ მისი IP მისამართი აკრეფით
მასპინძლის სახელი -მე
თქვენ უნდა მიიღოთ თქვენი IP მისამართი. ორმაგი შემოწმება, თუ სწორად შეიყვანეთ თქვენი wifi სახელი და პაროლი, რადგან ის ასოების მგრძნობიარეა.
ნაბიჯი 5: დისტანციურად დაუკავშირდით თქვენს Pi– ს Windows– ის გამოყენებით
ახლა, როდესაც ჩვენ გვაქვს pi ინტერნეტთან დაკავშირებული, შეგვიძლია ამოვიღოთ კლავიატურის მაუსი და ეკრანი და დისტანციურად დავუკავშირდეთ მას "ssh" - ის გამოყენებით
იმისათვის, რომ ssh შევიდა pi ერთად Windows თქვენ უნდა ჩამოტვირთოთ
putty: [ჩამოტვირთეთ]
- გახსენით ბოთლი, IP მისამართის ყუთში შეიყვანეთ ჟოლოს pi ip და დააჭირეთ ღილაკს გახსნა
- თქვენ მიიღებთ დიალოგურ ფანჯარას, რომელიც ჰგავს სურათს 2 დააჭირეთ დიახ
- თქვენ ნახავთ ახალ დიალოგს, რომელშიც ნათქვამია "შესვლა როგორც" შესვლა "პი"
- შემდეგ ის მოგთხოვთ პაროლს შეიყვანეთ "ჟოლო"
თქვენ ახლა უკავშირდებით pi- ს ssh- ს
ნაბიჯი 6: დისტანციურად დაუკავშირდით თქვენს Pi– ს Mac– ის გამოყენებით
ახლა, როდესაც ჩვენ გვაქვს pi ინტერნეტთან დაკავშირებული, შეგვიძლია ამოვიღოთ კლავიატურა და მაუსი და დისტანციურად შევუერთოთ მას "ssh" - ის გამოყენებით
1. გახსენით "ტერმინალი"
2. ჩაწერეთ
ssh pi@IP_ADDRESS
3. შემდეგ შეიძლება მიიღოთ შეტყობინება, რომ მასპინძლის გასაღები არ არის შენახული, უბრალოდ ჩაწერეთ "დიახ"
4. შემდეგ დაწინაურებისას შეიყვანეთ ჟოლოს პაროლი, რომელიც არის "ჟოლო"
თქვენ ახლა უკავშირდებით pi- ს ssh- ს
ნაბიჯი 7: პროგრამული უზრუნველყოფის ინსტალაცია
რადგან ჩვენ ახლა გვაქვს წვდომა პიზე, ჩვენ გვჭირდება პროგრამული უზრუნველყოფის დაყენება led ზოლის გასაკონტროლებლად
ჩვენ დაგვჭირდება ინსტალაცია
- pigpio (ეს გარდაქმნის GPIO– ს ყველა ქინძისთავს ციფრულიდან PWM– ზე)
- კოლბა (სერვერის სკრიპტი, რომელიც ესაუბრება პიგპიონსა და ვებ სერვერს)
- apache2 (ვებ სერვერი)
დააინსტალირეთ პიგპიო
1. პირველ რიგში ჩვენ უნდა გადმოვწეროთ zip საქაღალდე, რომელიც შეიცავს არაკომპილირებულ პიგპიოს პროგრამულ უზრუნველყოფას, ამ ბრძანების გამოყენებით
wget
2. ჩვენ მაშინ უნდა unzip და წასვლა დირექტორია
გახსენით pigpio.zip && cd PIGPIO
3. ახლა ჩვენ ვართ დირექტორიაში, ჩვენ გვჭირდება პროგრამული უზრუნველყოფის შედგენა და ინსტალაცია
make -j4 && sudo make install
4. ახლა გახსენით rc. ადგილობრივი, ასე რომ ჩვენ შეგვიძლია გითხრათ pi, რომ გაუშვას pigpiod დაწყებისას
sudo nano /etc/rc.local
შემდეგ მხოლოდ გასასვლელი ხაზის შესვლამდე
sudo pigpiod
თქვენ ახლა დააინსტალირეთ pigpio პროგრამული უზრუნველყოფა
დააინსტალირეთ კოლბა
პირველ რიგში ჩვენ გვჭირდება პროგრამული უზრუნველყოფის ჩამონათვალის განახლება ამის შესასრულებლად
sudo apt განახლება && sudo apt განახლება -y
შემდეგ დააინსტალირეთ პიპი
sudo apt-get დააინსტალირეთ python-pip
ახლა ჩვენ შეგვიძლია დავაყენოთ კოლბა
sudo pip ინსტალაციის კოლბა
დააინსტალირეთ Apache2
sudo apt -get დააინსტალირეთ apache2 -y
sudo apt-get დააინსტალირეთ libapache2-mod-wsgi -y
დააინსტალირეთ git
sudo apt დააინსტალირეთ git -y
მას შემდეგ, რაც ყველაფერი დამთავრდება, გამორთეთ პი
sudo გამორთვა ახლა
ნაბიჯი 8: ენერგიის გაყვანილობა
პირველ რიგში ჩვენ უნდა შევაერთოთ დენის კონექტორი პურის დაფაზე
- შეაერთეთ შავი მავთული დენის ჯეკზე არსებულ უარყოფით კონექტორთან
- შეაერთეთ წითელი მავთული დენის ჯეკზე დადებით კონექტორთან
- შეაერთეთ წითელი მავთულის მეორე ბოლო პურის დაფის დადებით მხარეს
- შეაერთეთ შავი მავთულის მეორე ბოლო პურის დაფის დადებით მხარეს
- შემდეგ დააკავშირეთ დაფის პი პიდან (როგორც ჩანს სურათზე) უარყოფით პინზე დაფაზე
ახლა ჩვენ უნდა დავუკავშიროთ ყველაზე სრულყოფილი.
ნაბიჯი 9: Mosfets- ის გაყვანილობა და Pi- ს დაკავშირება
Mosfet საშუალებას გაძლევთ გააკონტროლოთ რამდენი ენერგია შეიძლება გადავიდეს led ნათურებზე, ჩვენ დაგვჭირდება სამი mosfets, რადგან ჩვენ გვჭირდება წითელი, მწვანე და ლურჯი ნათურების ცალკე კონტროლი.
Mosfet- ს აქვს სამი ქინძისთავი, მარცხნივ მას აქვს "Gate" პინი, რომელიც უკავშირდება pi- ს, რათა გააკონტროლოს რამდენი ენერგია შეიძლება მიედინოს led შუქზე
ცენტრალურ ქინძისთავს ეწოდება "გადინება", რომელიც მიდის led ნათურებზე და მიაწვდის ძაბვას, რომლის კარიბჭე გასვლის საშუალებას იძლევა
და მარჯვენა მხარეს არის "წყარო" პინი. ეს ქინძი მიდის მიწაზე პურის დაფაზე.
აკავშირებს წითელ ლედს
- ჩადეთ ერთი მოსფეტი დაფაზე
- დააკავშირეთ შავი მავთული GND– დან პურის დაფაზე წყაროსთან (მარჯვენა პინი)
- შემდეგ შეაერთეთ წითელი მავთული mosfet– ის ცენტრალური პინიდან led– ის წითელ პინზე
- შემდეგ დააკავშირეთ წითელი მავთული მარცხენა პინიდან GPIO 17 -ზე pi
მწვანე ლედის დაკავშირება
- ჩადეთ მე –2 მოსფეტი დაფაზე
- შემდეგ ისევე, როგორც ადრე შეაერთეთ შავი მავთული GND– დან პურის დაფაზე წყაროსთან (მარჯვენა პინი)
- შემდეგ შეაერთეთ მწვანე მავთული ცენტრის ქინძისთავზე mosfet– ზე და მწვანე pin– ზე led ზოლზე.
- შემდეგ დააკავშირეთ მწვანე მავთული მარცხენა პინიდან GPIO 22 -ზე pi
ლურჯი ლედის დაკავშირება
- ჩადეთ ბოლო მოსფეტი დაფაზე
- დააკავშირეთ მეორე შავი მავთული GND– დან პურის დაფაზე წყაროსთან (მარჯვენა პინი)
- შემდეგ დააკავშირეთ ლურჯი მავთული ცენტრის პინზე mosfet– ზე და ლურჯ pin– ზე led ზოლზე.
- შემდეგ დააკავშირეთ ლურჯი მავთული მარცხენა პინიდან GPIO 24 -ზე pi
შემდეგ თქვენ გექნებათ კიდევ ერთი ბალიში led ზოლზე, რომელიც იქნება თეთრი ან შავი, უბრალოდ დააკავშირეთ მავთული პოზიტიურ საყრდენზე პურის დაფაზე იმ დამატებით პინზე led ფირზე.
როდესაც ჩვენ დავასრულეთ, შეგვიძლია დავიწყოთ მისი გამოცდა.
ნაბიჯი 10: ჩამოტვირთეთ და გამოსცადეთ Led Strip
ჩამოტვირთეთ წყაროს კოდი Led ზოლის გასაკონტროლებლად
git კლონი https://github.com/DavidMontesin/Raspberry-PI-Wifi-Led-Strip.git && cd Raspberry-PI-Wifi-Led-Strip/
Led ზოლის შესამოწმებლად გაუშვით test.py ფაილი.
პითონის ტესტი. py
თუ რაიმე მიზეზით რაიმე ფერი არ ანათებს, გთხოვთ შეამოწმოთ ყველაფერი სწორად არის ჩართული.
როგორ მუშაობს ეს სკრიპტი?
თუ გახსნით პითონის სკრიპტს, შეიძლება გაინტერესებთ როგორ მუშაობს იგი, პირველ სტრიქონში ნახავთ:
იმპორტის დრო
ეს პატარა ბიბლიოთეკა საშუალებას გვაძლევს შევაჩეროთ სკრიპტი, რათა უფრო სწრაფად შევინარჩუნოთ შუქი
პიპორტის იმპორტი
ეს ბიბლიოთეკა საშუალებას გვაძლევს კომუნიკაცია led ზოლთან
pi = pigpio.pi ()
დააყენეთ ცვლადი, ასე რომ ჩვენ შეგვიძლია გამოვიყენოთ pi.set_pw… insted of pigpio.pi (). set_pw…
RedPin = 17
GreenPin = 22
BluePin = 24
ეს არის მხოლოდ ცვლადები, რაც საშუალებას გვაძლევს ვუთხრათ სკრიპტს რა led არის დაკავშირებული
ამობეჭდვა ("გამოცნობა წითელზე")
ეს უბრალოდ დაბეჭდავს ტექსტს ბრძანების ხაზზე
pi.set_PWM_dutycycle (RedPin, 255)
ეს ბრძანება არის pigpio libary– ის ნაწილი და ამბობს, რომ დააყენოთ „RedPin“, რომელიც ეძებს ჩვენს მიერ მითითებულ რიცხვს და ადგენს მის სიკაშკაშეს „255“, რაც არის მაქსიმალური
დრო. ძილი (2)
ეს არის დროის ბიბლიოთეკის ნაწილი და მხოლოდ 2 წამის განმავლობაში შეაჩერებს სკრიპტს
ეს მოქნილი ბრძანება გამეორდება სხვა led– ებამდე
pi.stop ()
რომელიც შეწყვეტს ლაპარაკს led ზოლზე და მოაწესრიგებს ყველა ფერს.
ნაბიჯი 11: სერვერის სკრიპტის დაპროგრამება
** სანამ დაიწყებ, გირჩევ წაიკითხო პითონისა და ფლაკონის შესახებ:
აქ არის რამოდენიმე სახელმძღვანელო:
www.pythonforbeginners.com
docs.python-guide.org/en/latest/intro/learn…
flask.pocoo.org
როგორც Main.py არის git პირდაპირ ეს ნაბიჯი არის მხოლოდ ახსნა კოდი.
ჯერ ბიბლიოთეკები გვაქვს
კოლბის იმპორტიდან ბოთლი, render_template, მოთხოვნა
პიგპიონის იმპორტი ძაფიდან იმპორტი start_new_thread
მაშინ ჩვენ გვჭირდება ცვლადების დაყენება
აპლიკაცია = ბოთლი (_ სახელი_)
CurrentColour = "თეთრი" RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi ()
პირველი ცვლადი არის flask, რომელიც არის ჩვენი ვებ სერვერი, ჩვენ მას ვუწოდებთ აპლიკაციას, ასე რომ უფრო ადვილია დარეკვა და გაშვება. შემდეგ არის 6 ცვლადი, რომ პირველი სამი შეიცავდეს რა ფერს შეიცვლის ორი და დანარჩენი სამი შეიცავს წინა ფერს.
@app.route ('/', მეთოდები = ['GET'])
ეს ხაზი ამბობს, რომ თუ ვინმე ჩაწერს pi- ს IP მისამართს ვებ ბრაუზერში, მაშინ ის გაუშვებს სკრიპტს მის ქვემოთ, მას ასევე აქვს GET მეთოდი, როდესაც ეს ნიშნავს, რომ ნებისმიერი ტექსტი შემდეგ? ფერი = გადაეცემა ვებ სერვერს და იქნება გამოიყენება led ზოლის ფერის შესაცვლელად.
def მთავარი ():
გლობალური CurrentColour
ტექსტი def Main () ნიშნავს, რომ ის შექმნის ფუნქციას სახელწოდებით main, რომლის გამოძახება შესაძლებელია სკრიპტის ნებისმიერი ადგილიდან. და გლობალური ხაზი ნიშნავს, რომ ის განაახლებს ცვლადს მთელ სკრიპტში.
მოთხოვნის შემთხვევაში.args.get ('ფერი'):
CurrentColour = request.args.get ("ფერი") თუ CurrentColour == "თეთრი": FadeTORGB (255, 255, 255) elif CurrentColour == "წითელი": FadeTORGB (255, 0, 0) elif CurrentColour == "მწვანე ": FadeTORGB (0, 255, 0) elif CurrentColour ==" DarkBlue ": FadeTORGB (0, 0, 255) elif CurrentColour ==" LightBlue ": FadeTORGB (0, 255, 255) elif CurrentColour ==" ნარინჯისფერი ": FadeTORGB (255, 15, 0) elif CurrentColour == "ვარდისფერი": FadeTORGB (255, 0, 192) elif CurrentColour == "ყვითელი": FadeTORGB (255, 157, 0) elif CurrentColour == "იისფერი": FadeTORGB (123, 0, 255) elif CurrentColour == "შავი": FadeTORGB (0, 0, 0) render_template return ('index.html')
ეს სკრიპტი მიიღებს ნებისმიერ სახელს GET მეთოდის "ფერის" შემდეგ და ინახავს მას. შემდეგ ის შეამოწმებს ამ სახელს და დაუძახებს ფუნქციას, რომელსაც შეუძლია 3 სხვა ფუნქცია შეცვალოს წითელი, მწვანე და ლურჯი შუქები ერთდროულად
def FadeTORGB (RedNum, BlueNum, GreenNum):
start_new_thread (FadeUpRed, (RedNum,)) start_new_thread (FadeUpBlue, (BlueNum,)) start_new_thread (FadeUpGreen, (GreenNum,)))
ეს გამოიძახებს სამ სხვა ფუნქციას, რომელიც შეცვლის ენერგიის რაოდენობას, რომელიც მიდის თითოეულ led– ზე, fade ეფექტით.
def FadeUpRed (REDUpNum):
გლობალური RedColourCode თუ RedColourCode <REDUpNum: ხოლო RedColourCode REDUpNum: ხოლო RedColourCode> REDUpNum: RedColourCode -= 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)
def FadeUpBlue (BlueUpNum):
გლობალური BlueColourCode თუ BlueColourCode <BlueUpNum: ხოლო BlueColourCode BlueUpNum: ხოლო BlueColourCode> BlueUpNum: BlueColourCode -= 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)
def FadeUpGreen (GreenUpNum):
გლობალური GreenColourCode თუ GreenColourCode <GreenUpNum: ხოლო GreenColourCode GreenUpNum: ხოლო GreenColourCode> GreenUpNum: GreenColourCode -= 1 pi.set_PWM_dutycycle (GreenPin, GreenColourCode)
თუ _name_ == "_ მთავარი_":
app.run (მასპინძელი = "0.0.0.0")
ნაბიჯი 12: ვებ სერვერის დაპროგრამება
ახლა, როდესაც ჩვენ გვაქვს სერვერი, ჩვენ გვჭირდება ვებსაიტის დიზაინი.
როგორც სერვერი არის შაბლონებში და სტატიკური საქაღალდეები git– ში, ეს ნაბიჯი მხოლოდ კოდის ახსნაა.
ასევე გირჩევთ წაიკითხოთ html, css, javascript
HTML
პირველ რიგში ჩვენ გვჭირდება html პროგრამირება, ეს არის ის, სადაც მიდის მთელი შინაარსი, რომელიც შემდგომში შეიძლება სტილიზებული იყოს css– ის გამოყენებით
1. ხელმძღვანელის შექმნა (სათაური, ფაილების დაკავშირება,)
Wifi Led ზოლები
პირველი ორი ტეგი ეუბნება ბრაუზერს, რომ ეს არის ვებ გვერდი, შემდეგ მესამე სტრიქონი ეუბნება ბრაუზერს დაიმალოს ნებისმიერი ტექსტი ბლოკში და ამის ქვეშ არის სათაური, რომელიც გამოჩნდება ჩანართში
ვებ გვერდის სრული ეკრანის შექმნა iOS- ში
იმისათვის, რომ გვერდი სრულ ეკრანზე იყოს, შეიყვანეთ ეს კოდი ტეგის ქვეშ
შემდეგ ჩვენ დავამატებთ მითითებებს css ფაილზე, რომელსაც ჩვენ გავაკეთებთ ამ უკანასკნელში, ეს იქნება სხვაგვარად, ვიდრე ჩვეულებრივი, კოლბების გამო არის ფაილის მართვის გზა
ამის შემდეგ თქვენ უნდა დახუროთ წარწერა და შექმნათ სხეულის ტეგი
სხეულის ტეგი ნიშნავს, რომ მასში შემავალი ნებისმიერი ტეგი გამოჩნდება ვებ გვერდზე
ახლა ჩვენ ვაპირებთ გავაკეთოთ ფერების ღილაკები, რომლებსაც შეუძლიათ შეცვალონ led ზოლები.
ჩვენ შევქმნით ერთს თითოეული ფერისთვის და დავდებთ ცხრილში
Javascript
ახლა ჩვენ უნდა დავამატოთ "SendColour" ფუნქცია, რომელსაც ჩვენ ადრე მივუთითებდით ამის გასაკეთებლად, ჩვენ პირველ რიგში უნდა დავამატოთ ნიშანი, რომელიც ეუბნება ვებ ბრაუზერს, რომ არსებობს javascript
შემდეგ შექმენით ფუნქცია
ფუნქცია SendColour (დაწკაპუნებული ფერი) {
ეს ფუნქცია გაგზავნის აიაქსის მოთხოვნას ჟოლოს პიზე, რომელიც ეუბნება მას შეცვალოს ის ფერი, რომელზეც დააწკაპუნეთ
xhttp = ახალი XMLHttpRequest ();
xhttp.open ("GET", "? ფერი =" + დაწკაპუნებული ფერი, ყალბი); xhttp.send (); }
ახლა ჩვენ უნდა დავხუროთ javascript და html
CSS
ახლა ჩვენ ვაპირებთ ვებსაიტის დიზაინს
ჯერ გამოუშვით cd შაბლონების საქაღალდედან და გადადით სტატიკურ საქაღალდეში
cd.. && cd სტატიკური
ახლა შექმენით Style.css ფაილი
ნანო სტილი. css
პირველ რიგში, მოდით მაგიდა შეავსოს მთელი ეკრანი.
. Ფერები {
სიგანე: 100%; }
. ღილაკი {
ბალიში: 25px 35px; საზღვარი-რადიუსი: 4px; }
სერვერის ტესტირება
სერვერის შესამოწმებლად გადადით ვებ სერვერის საქაღალდეში
cd..
შემდეგ შედი
პითონი მეინი.პი
ეს დაიწყებს სერვერს, შემდეგ თქვენს კომპიუტერში გახსენით ბრაუზერი და გადადით იქ
YOUR_PI_PI: 5000the: 5000 ბოლოსთვის მნიშვნელოვანია, რადგან ეს არის პორტი, რომელზეც მუშაობს ვებ სერვერი.
თუ თქვენ მოხვდით ვებგვერდზე და მიიღეთ "შიდა სერვერის შეცდომა", მაშინ შეხედეთ კონსოლს (ჩაქსოვილი ან ტერმინალი) და ნახავთ უამრავ ტექსტს, უბრალოდ შეხედეთ ბოლო სტრიქონს და ეს უნდა იყოს. გითხრათ რა ხდება, შეგიძლიათ გუგლში იპოვოთ პასუხი, მაგრამ თუ ეკრანზე ჩანს ფერები, შეგიძლიათ დააწკაპუნოთ ერთზე და თქვენ უნდა ნახოთ led ზოლი ამ ფერისკენ, თუ ის არ შეამოწმებს არის თუ არა დენი ჩართული და ჩართული ან რომ HTML კოდი სწორად არის შეყვანილი რა
ნაბიჯი 13: მისი მუშაობა Apache2– ით
ახლა, როდესაც ჩვენ გამოვცადეთ, ჩვენ უნდა მივმართოთ მას აპაჩესთან, რათა ის იმუშაოს გაშვებისას და პორტში 80 (სტანდარტული ვებ პორტი)
1. თქვენს WebServer საქაღალდეში შექმენით wsgi ფაილი
ნანო wifiled.wsgi
შემდეგ შეიყვანეთ ფაილში
იმპორტის სისტემა
sys.path.insert (0, '/home/pi/Webserver/') მთავარი იმპორტის აპლიკაციიდან, როგორც აპლიკაცია
შემდეგ დაამატეთ მომხმარებელი pi ჯგუფს, რომელსაც ეწოდება www-data, ეს საშუალებას მისცემს apache- ს შეხედოს ვებ სერვერის საქაღალდეში
sudo usermod -a -G www -data pi
შემდეგ წაშალეთ ნაგულისხმევი კონფიგურაცია
sudo a2dissite 000-ნაგულისხმევი
შემდეგ შექმენით ფაილი Apache კონფიგურაციის საქაღალდეში
sudo nano /etc/apache2/sites-available/wifiled.conf
და შედი
ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias//home/pi/Webserver/wifiled.wsgi შეკვეთა ნებადართულია, უარყოს ნებართვა ყველაფრისგან მოითხოვეთ ყველა მინიჭებული ErrorLog $ {APACHE_LOG_DIR} /error.log LogLevel გაფრთხილება CustomLog_O $/APACHElog კომბინირებული
შემდეგ უთხარი apache– ს, რომ წაიკითხოს კონფიგურაცია შესვლით
sudo a2ensite wifiled.conf
ახლა გადატვირთეთ pi, როდესაც ის გადატვირთულია, შედით თქვენს ბრაუზერში
YOUR_PI_IP
ნაბიჯი 14: Tasker და Ifttt და სხვა სერვისების დაყენება
სანამ ამ პროგრამებს დავაყენებთ, თქვენ უნდა დააყენოთ პორტის გადატვირთვა თქვენს როუტერზე, რადგან ყველა როუტერი განსხვავებულია, შეგიძლიათ წაიკითხოთ აქ.
ტასკერი
თქვენს Android მოწყობილობაზე ღია მიმღები
შემდეგ შექმენით ახალი პროფილი, რომელიც დაფუძნებულია ღონისძიებაზე, შეგიძლიათ აირჩიოთ ნებისმიერი გამომწვევი. მე ავირჩიე "ტელეფონის ზარი" და მივანიჭე ფერი ნებისმიერს "C: ANY", შემდეგ ის მოგთხოვთ შეარჩიოთ დავალება, დააწკაპუნეთ "New Task" - ზე და დაასახელეთ იგი თქვენი მოქმედებით. მე მას დავარქმევ "სატელეფონო ზარს", შემდეგ დააჭირეთ დამატების მოქმედებას და ვეძებთ "HTTP Head" - ს და დავაყენებ სერვერს: port to your_raspberry_pi_IP, შემდეგ ბილიკზე შეგიძლიათ ან დააყენოთ მყარი ფერი "/? Color = Green" - ით, ან შეგიძლიათ შექმნათ ეფექტი ჩვენ ამას გავაკეთებთ შემდეგ ეტაპზე. შემდეგ დააჭირეთ უკან და ისევ უკან.
IFTTT
ჯერ წადი ifttt და შექმენი ახალი აპლეტი ამოირჩიე ნებისმიერი გამომწვევი (მე ავირჩიე ღილაკი) და შემდეგ მოქმედებისათვის შეარჩიე შემქმნელი არხი და თქვა გააკეთე ჩვენ ვითხოვთ შემდეგ url- ში შეიყვანეთ YOUR_PUBLIC_PI/? ფერი = LightBlue თუ არ იცნობთ თქვენს საზოგადოებას ip უბრალოდ შეიყვანეთ "ჩემი IP" Google- ში. შემდეგ მეთოდისთვის შეიყვანეთ HEAD, შემდეგ დააწკაპუნეთ "შექმენით მოქმედება", როდესაც თქვენი მოქმედება მოხდება, თუ მოთხოვნით თქვენს პი -ს შეიცვალოს ფერი.
სხვა სერვისები
თქვენ ასევე შეგიძლიათ დააკავშიროთ სხვა სერვისები, რომლებიც ქმნიან HTTP HEAD ან GET მოთხოვნას.
ნაბიჯი 15: პერსონალური ეფექტების შექმნა
Main.py- ში დაამატეთ იმპორტის განცხადება, იმპორტის ქვეშ შეიყვანეთ
იმპორტის დრო
ასევე სანამ ეფექტს შევქმნით ჩვენ უნდა დავამატოთ ცვლადი მხოლოდ GreenBeforeEffect დამატების ქვეშ
CanChangeColour = მართალია
შემდეგ შეცვალეთ if request.args.get ('ფერი'):
რათა
if request.args.get ('ფერი') და CanChangeColour:
სექცია უბრალოდ დაბრუნების ქვეშ render_template ('Main.html') დამატება
@app.route ('/ეფექტი', მეთოდები = ['GET'])
def ეფექტი ():
შემდეგ დააყენეთ ცვლადები გლობალურზე
x = 0
გლობალური RedColourCode გლობალური BlueColourCode გლობალური GreenColourCode გლობალური RedBeforeEffect გლობალური BlueBeforeEffect გლობალური GreenBeforeEffect
მოდით შევქმნათ ჩვენი პირველი ეფექტი
if request.args.get ('ზარი'):
RedBeforeEffect = RedColourCode BlueBeforeEffect = BlueColourCode GreenBeforeEffect = GreenColourCode FadeTORGB (0, 0, 0) დრო. ძილი (2)
ეს მოქმედება გააქტიურდება, როდესაც pi მიიღებს მოთხოვნას, როგორიცაა "/? Effect = Call" და შეინახავს მიმდინარე ფერს, ასე რომ ჩვენ შეგვიძლია დარეკოთ იგი.
ახლა ჩვენ ვაპირებთ, რომ led გამუქდეს შავიდან მწვანემდე, შემდეგ ისევ შავად და მე ამის გაკეთება ხუთჯერ მინდა
ხოლო x <= 5: FadeTORGB (0, 255, 0) x += 1 დრო. ძილი (1) FadeTORGB (0, 0, 0) დრო. ძილი (1) CanChangeColour = ნამდვილი დრო. ძილი (2) FadeTORGB (RedBeforeEffect, BlueBeforeEffect, GreenBeforeEffect)
ეს დაითვლება ხუთამდე, მაგრამ ყოველ ჯერზე ის მწვანდება და შემდეგ დაელოდება წამს და გადადის შავზე. შემდეგ რაც დაამთავრებს, ის შეიცვლის ფერს დაუბრუნდება იმას, რაც შეცვლამდე გქონდათ.
ახლა ჩვენ მხოლოდ რეაქციის შესაქმნელად.
დაბრუნების ""
ასევე გადატვირთეთ ჟოლოს პი
sudo გადატვირთვა
გირჩევთ:
DIY Smart Doorbell: კოდი, დაყენება და HA ინტეგრაცია: 7 ნაბიჯი (სურათებით)
წვრილმანი კარის ზარი: კოდი, დაყენება და HA ინტეგრაცია: ამ პროექტში მე გაჩვენებთ, თუ როგორ შეგიძლიათ თქვენი ჩვეულებრივი ზარი ჭკვიანურად აქციოთ ნებისმიერი მოქმედი ფუნქციის შეცვლის გარეშე ან მავთულის გაწყვეტის გარეშე. მე ვიყენებ ESP8266 დაფას სახელწოდებით Wemos D1 mini. ახალი ESP8266- ში? ნახეთ ჩემი შესავალი
RC კონტროლირებადი Rgb Led Strip: 4 ნაბიჯი (სურათებით)
RC კონტროლირებადი Rgb Led Strip: შექმენით თქვენი საკუთარი rc კონტროლირებადი led-strip ინდივიდუალური ოთახის განათებისთვის! Rgb-led-strips- ის უმეტესობა კონტროლდება ინფრაწითელი დისტანციური მართვის საშუალებით. მისი გამორთვის ან ჩართვის ან ფერის შესაცვლელად, თქვენ უნდა დარჩეთ მიმღების წინ. ეს მოსაწყენია და არ განმეორდება
Raspberry Pi Linux Motion Google Photos ინტეგრაცია: 5 ნაბიჯი
Raspberry Pi Linux Motion Google Photos Integration: იდეა იმაში მდგომარეობს, რომ ატვირთოთ Raspberry Pi– სთან დაკავშირებული მოძრაობით გააქტიურებული კამერით გადაღებული ფოტოები და ვიდეოები, რათა ატვირთოთ ფაილები ღრუბელში. ‘Motion’ პროგრამული უზრუნველყოფა მხარს უჭერს Google Drive– ში PyDrive– ის საშუალებით ატვირთვას. ამ სტატიაში "მოძრაობა" გამოიყენება Google P- ზე ასატვირთად
ESP8266 RGB LED STRIP WIFI კონტროლი - NODEMCU როგორც IR დისტანციური მართვის წამყვანი ზოლისთვის, რომელიც კონტროლდება Wifi - RGB LED STRIP სმარტფონის კონტროლი: 4 ნაბიჯი
ESP8266 RGB LED STRIP WIFI კონტროლი | NODEMCU როგორც IR დისტანციური მართვის წამყვანი ზოლები Wifi- ზე კონტროლირებადი | RGB LED STRIP სმარტფონის კონტროლი: გამარჯობა ბიჭებო, ამ სახელმძღვანელოში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ nodemcu ან esp8266 როგორც IR დისტანციური მართვა RGB LED ზოლის გასაკონტროლებლად და Nodemcu კონტროლდება სმარტფონის მიერ wifi– ზე. ასე რომ, ძირითადად თქვენ შეგიძლიათ აკონტროლოთ RGB LED STRIP თქვენი სმარტფონით
LED Strip Blinker Circuit 12V რელეს გამოყენებით: 7 ნაბიჯი (სურათებით)
LED Strip Blinker Circuit გამოყენებით 12V სარელეო: Hii მეგობარო, დღეს მე ვაპირებ გავაკეთო ჩართვა LED Strip blinker გამოყენებით 12V სარელეო და capacitors. მოდი დავიწყოთ