Სარჩევი:
- ნაბიჯი 1: ის, რაც გჭირდებათ
- ნაბიჯი 2: მოამზადეთ Raspberry Pi 433 MHz– ზე
- ნაბიჯი 3: დააყენეთ Smart Home Server
- ნაბიჯი 4: კლიენტების დაყენება
- ნაბიჯი 5: დასკვნა
ვიდეო: Smart Home Raspberry Pi- ს მიერ: 5 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:15
უკვე არსებობს რამდენიმე პროდუქტი, რაც თქვენს ბინას უფრო ჭკვიანურს ხდის, მაგრამ მათი უმეტესობა საკუთრების გადაწყვეტაა. მაგრამ რატომ გჭირდებათ ინტერნეტ კავშირი სმარტფონთან შუქის გადასატანად? ეს იყო ერთი მიზეზი იმისა, რომ შემექმნა საკუთარი Smart Home გადაწყვეტა.
მე დავპროგრამე სერვერის პროგრამა, რომელიც მუშაობს Raspberry Pi– ზე. ეს არის java დაფუძნებული ღია კოდის პროექტი, რომელიც საშუალებას გაძლევთ დააკონფიგურიროთ თქვენი ბინა და დააკავშიროთ რამდენიმე კლიენტი და "კონტროლირებადი ერთეული". მე ვაჩვენებ გამოსავალს, რომელიც ამუშავებს rc კვების ბლოკებს, უკრავს მუსიკას და ვიდეოს Raspberry Pi– ზე, აჩვენებს სტატუსს ჭკვიან სარკეზე და მისი კონტროლი შესაძლებელია android აპლიკაციით და ორი კენჭის აპლიკაციით. წყარო განთავსებულია github– ზე
ნაბიჯი 1: ის, რაც გჭირდებათ
ჭკვიანი სახლის დასაყენებლად გჭირდებათ შემდეგი "ინგრედიენტები"
- ჟოლო Pi მინიმუმ მოდელი 2 B
- 433 MHz გამგზავნი, მსგავსი რამ
- 3 ჯამპერის კაბელი, რომელიც აკავშირებს ჟოლოს Pi და გამგზავნს
- ზოგიერთი რადიო კონტროლის სოკეტი 433 MHz
- Android სმარტფონი კლიენტის აპლიკაციის გასაშვებად
გარდა ამისა, თქვენ შეგიძლიათ გააფართოვოთ ჭკვიანი სახლი უფრო არჩევითი კლიენტებით და მსგავსი ერთეულებით
- კენჭის ჭკვიანი საათი
- ჭკვიანი სარკე, ნახე ეს პროექტი
- 433 MHz კონტროლირებადი LED ზოლები, იხილეთ ეს
ნაბიჯი 2: მოამზადეთ Raspberry Pi 433 MHz– ზე
შემდეგ ნაბიჯებში თქვენ გჭირდებათ წვდომა ბრძანების ხაზზე Raspberry Pi– ზე. წვდომის მისაღებად შეგიძლიათ წაიკითხოთ ეს სასწავლო ინსტრუქცია
შეაერთეთ 433 MHz გამგზავნი Raspberry Pi– სთან, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე
- GND (გამგზავნი) 6 GND (რასპი)
- VCC (გამგზავნი) 2 +5V (რასპი)
- მონაცემები (გამგზავნი) 11 GPIO 17 (რასპი)
ასევე გთხოვთ დააკავშიროთ 17 სმ ანტენა ANT (გამგზავნის) პინთან. ეს მნიშვნელოვნად გაზრდის სიგნალს.
ვინაიდან ჩვენ გვჭირდება ბიბლიოთეკები სხვა git საცავებიდან, ჩვენ უნდა დავაინსტალიროთ git
sudo apt-get დააინსტალირეთ git-core -y
Raspberry Pi 433 MHz კომუნიკაციის დასაყენებლად ჩვენ გვჭირდება გაყვანილობის Pi ბიბლიოთეკა GPIO– ების უკეთესი დამუშავებისთვის.
git კლონი git: //git.drogon.net/wiringPi
cd გაყვანილობა პი./ აშენება
შემდეგ ჩვენ გვჭირდება ბიბლიოთეკა, რომელიც ახორციელებს ტიპიურად rc დენის წყაროს პროტოკოლებს.
git კლონი git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi მიიღოს cp send/usr/bin/
"გაგზავნის" შემსრულებელი საშუალებას გაძლევთ გაგზავნოთ კოდები, რომ შეცვალოთ არსებული კვების წყაროების უმეტესობა.
ჩემს Smart Home კონფიგურაციაში მე ასევე მაქვს rc LED ზოლები, რომელიც აღწერილია ამ ინსტრუქციის მიხედვით: https://www.instructables.com/id/RC-controlled-LED… მთელი რიცხვითი მნიშვნელობის გასაგზავნად (ეს ასახავს ფერს).
ამიტომ, შეადგინეთ sendInt.cpp rcswitch-pi რეპოში და გადაიტანეთ იგი/usr/bin/sendInt.
sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi
ახლა თქვენ უნდა შეეძლოთ rc ბრძანებების გაგზავნა ორი შესრულებით/usr/bin/send და/usr/bin/sendInt
ნაბიჯი 3: დააყენეთ Smart Home Server
უპირველეს ყოვლისა, თქვენ უნდა დააინსტალიროთ რამდენიმე პაკეტი. Smart Home პროგრამა დაფუძნებულია ჯავაზე და კარგად მუშაობს openjdk-11– ით. მე არ ვარ დარწმუნებული java runtime გარემოში. მოთამაშე არის მინიმალისტური ბრძანების ხაზის მუსიკალური პლეერი. Omxplayer იყენებს Raspberry Pi გრაფიკას ვიდეო კოდირებისთვის, ამიტომ ის უნდა იქნას გამოყენებული ვიდეოებისთვის. პროგრამა ant საჭიროა Java პროგრამის შესაქმნელად.
sudo apt-get დააინსტალირეთ mplayer omxplayer openjdk-11-jdk ant -y
დააყენეთ დირექტორიები jar ფაილისთვის და ჟურნალებისთვის.
sudo mkdir /opt /neo
sudo chown pi: pi/opt/neo mkdir/home/pi/ჟურნალები
დააკონფიგურირეთ დაწყების სკრიპტი პროგრამის ჩატვირთვისას ავტომატურად დასაწყებად. ამიტომ დააკოპირეთ თანდართული ჭკვიანი სახლის სკრიპტი დირექტორიაში/და ა.შ./ინით.დ/მე ასევე შევქმენი სკრიპტი/usr/bin /– ში, რომელიც მიაწოდებს ბრძანებებს თანდართულ სკრიპტზე, ასე რომ, მე უბრალოდ შევიყვან ჭკვიან სახლს კონსოლში ბრძანებების შესასრულებლად რა
sudo cp smart-home/და ა.შ./init.d/smart-home
sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#!/bin/bash'>/usr/bin/smart -home" sudo sh -c "echo '/etc/init. d/smart-home / $ 1 '>>/usr/bin/smart-home "sudo chmod +x/usr/bin/smart-home sudo update-rc.d ჭკვიანი სახლის ნაგულისხმევი პარამეტრები
ახლა დროა შეამოწმოთ საცავი და შექმნათ პროგრამა. თუ არ გსურთ მისი შედგენა, შეგიძლიათ გადმოწეროთ თანდართული smarthome.jar და გადაიტანოთ ის/opt/neo/
git კლონი [email protected]: dabastynator/SmartHome.git
ant -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/
შეეცადეთ დაიწყოთ ჭკვიანი სახლი და შეამოწმოთ ჟურნალის ფაილი. GPIO– ებზე წვდომის მისაღებად, პროგრამა უნდა დაიწყოს sudo– ით.
sudo ჭკვიანი სახლის დაწყება
კატა ლოგები/smarthome.log
თქვენ უნდა ნახოთ შეცდომის შეტყობინება კონფიგურაციის ფაილი არ არსებობს, რომელიც მიგვითითებს შემდეგ ეტაპზე. საცავი შეიცავს readme- ს, რომელიც ხსნის კონფიგურაციის ფაილს. თქვენ შეგიძლიათ ნახოთ ეს ლამაზად გაფორმებული github– ზე:
დააკოპირეთ ეს xml /home/pi/controlcenter.xml, შემდეგ დააყენეთ მდებარეობა თქვენი მედია სერვერისთვის და შეცვალეთ შინაარსი საჭიროებისამებრ. კონფიგურაციის დასრულების და ჭკვიანი სახლის გადატვირთვის შემდეგ (sudo smart-home გადატვირთვა) smarthome.log– ში უნდა ნახოთ შემდეგი შინაარსი
24.05-08: 26 დისტანციური ინფორმაცია de.neo.smarthome.cronjob. CronJob@15aeb7ab: დაგეგმეთ cron სამუშაო
24.05-08: 26 დისტანციური ინფორმაცია [trigger.light]-ით: დაელოდეთ 79391760 ms შესრულებისთვის 24.05-08: 26 RMI ინფორმაცია დამატებულია ვებ-დამმუშავებლის დამატებით (5061/ledstrip) 24.05-08: 26 RMI INFORMATION by web-handler- ის დამატებით (5061 /მოქმედება) 24.05-08: 26 RMI INFORMATION by Add Web-handler (5061/mediaserver) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/switch) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/controlcenter) 24.05-08: 26 RMI INFORMATION ვებ სერვერის დაწყება 5 დამმუშავებლით (localhost: 5061) 24.05-08: 26 დისტანციური ინფორმაცია Controlcenter– ის მიერ: დამატება 1. საკონტროლო ერთეული: MyUnit (xyz)…
ვებ სერვერი მუშაობს ახლა:-)
ნაბიჯი 4: კლიენტების დაყენება
სმარტფონის Android კლიენტი
ჭკვიანი სახლის პროგრამის git საცავი ასევე შეიცავს წყაროს android კლიენტისთვის, ასე რომ თქვენ შეგიძლიათ თავად შეადგინოთ იგი. მაგრამ მე დავამატე APK ამ ნაბიჯისათვის, რაც ამარტივებს მას. პირველად პროგრამის დაწყებისას ის მოგთხოვთ სერვერს, როგორც ზემოთ მოცემულ პირველ სურათზე. შეიყვანეთ სერვერის url და უსაფრთხოების ნიშანი.
ასე უნდა იყოს. თქვენ ახლა გაქვთ წვდომა სერვერზე და აკონტროლებთ თქვენს ბინას, უკრავთ მუსიკას და უყურებთ ვიდეოებს დისტანციურად თქვენს Raspberry Pi– ზე. გაითვალისწინეთ, რომ თქვენ შეგიძლიათ დაამატოთ ვიჯეტები თქვენს მთავარ ეკრანზე, რაც უფრო ხელმისაწვდომს ხდის გადამრთველებს და მუსიკალურ კონტროლს.
Smartwatch Pebble კლიენტი
ორი კენჭის კლიენტის წყარო განთავსებულია github– ზე. ერთი აპლიკაცია აჩვენებს მიმდინარე დაკვრის მუსიკალურ ფაილს: https://github.com/dabastynator/PebbleRemoteMusic… ეს ასევე გაძლევთ საშუალებას პაუზის/დაკვრის და მოცულობის გაზრდის/შემცირების საშუალებას.
მეორე აპლიკაცია იწვევს სამ მოქმედებას: https://github.com/dabastynator/PebbleControl გამშვები სახელებია: mobile.come_home mobile.leaving და mobile.go_to_bed. თუ თქვენ განსაზღვრავთ ღონისძიების წესებს ამ ტრიგერისთვის თქვენს კონფიგურაციაში-xml, თქვენ ააქტიურებთ მათ თქვენი საათის მიერ.
ეს ყველაფერი ღიაა, მაგრამ თქვენ არ გჭირდებათ მისი შედგენა, მე ასევე დავამატე კენჭის პროგრამები. ჩამოტვირთეთ PBW– ები თქვენი სმარტფონით, თქვენმა ტელეფონმა უნდა დააინსტალიროს ისინი თქვენს საათზე. კენჭის აპებს სჭირდებათ კონფიგურაცია სერვერთან სასაუბროდ. მე დავამატე ეკრანის სურათი, თუ როგორ გამოიყურება ჩემი პარამეტრები.
Smartwatch Garmin კლიენტი
ასევე არსებობს კლიენტი Garmin Smartwatches– ისთვის. აპლიკაცია ხელმისაწვდომია garmin connect აპლიკაციის მაღაზიაში და მისი ინსტალაცია შესაძლებელია აქ:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
Smart Mirror კლიენტი
მე უკვე შევქმენი ინსტრუქცია, რომელიც განმარტავს, თუ როგორ უნდა შექმნათ ჭკვიანი სარკე, იხილეთ ეს https://www.instructables.com/id/Smart-Mirror-by-R…. წყაროს კოდი ასევე განთავსებულია github– ზე: https:// github.com/dabastynator/SmartMirror. Smart Mirror- ის პროგრამული უზრუნველყოფა კითხულობს კონფიგურაციას smart_config.js ფაილიდან, რომელიც არ არის git საცავის ნაწილი. კონფიგურაციის ფაილის შინაარსი უნდა გამოიყურებოდეს ამ ჩამონათვალში:
var mOpenWeatherKey = 'შენი-ღია-ბურთიანი გასაღები';
var mSecurity = 'თქვენი უსაფრთხოების ნიშანი';
თქვენ ასევე უნდა შეცვალოთ ფაილის პირველი ორი სტრიქონი smart_mirror.js, რათა მიუთითოთ Smart Home სერვერის IP მისამართი და მდებარეობა, რათა მიიღოთ შესაფერისი ამინდი.
მეტი კლიენტი
სერვერის პროგრამა არის მარტივი ვებ სერვერი. ეს გაძლევთ საშუალებას განახორციელოთ ქმედებები ნებისმიერი კლიენტისგან, რომელიც გსურთ მარტივი ვებ – ზარებით. დემო-ვიდეოში მე ვაჩვენებ Android პროგრამის შემსწავლელს AutoVoice– თან ერთად. ეს მაძლევს შესაძლებლობას მოვლენების გააქტიურება მარტივი ხმოვანი ბრძანებებით. მაგალითად "კარგი google, ძილის დროა" შეიძლება გამოიწვიოს mobile.go_to_bed. თქვენ ასევე შეგიძლიათ განახორციელოთ ვებ – ზარები, მაგალითად, IFTTT– დან. რას იტყვით ყვითელი მოციმციმე LED ზოლის შესახებ ელ.ფოსტის შეტყობინებისთვის?
შეგიძლიათ სერვერს სთხოვოთ შესაძლო ვებ-ზარები, როგორიცაა შემდეგი ბმულები (შეცვალეთ IP, პორტი და ჟეტონი თქვენი კონფიგურაციით)
localhost: 5061/controlcenter/api? token = secu…
localhost: 5061/action/api? token = security-to…
localhost: 5061/mediaserver/api? token = securi…
localhost: 5061/switch/api? token = Security-to…
localhost: 5061/ledstrip/api? token = უსაფრთხოება-…
ნაბიჯი 5: დასკვნა
ჯერ კიდევ არსებობს რამდენიმე მახასიათებელი განსახორციელებლად: მას შემდეგ, რაც სერვერი გთავაზობთ უბრალო ვებ-აპის კლიენტებს, გააკეთეთ ბევრი გამოკითხვა. გამოკითხვის შესამცირებლად მინდა MQTT ინტეგრაცია უკეთესი შეტყობინებისთვის. ასევე wifi კვების ბლოკები უნდა შეასრულოს უფრო საიმედო ვიდრე rc კვების წყაროები, რადგან rc არის მხოლოდ ცალმხრივი კომუნიკაცია.
ძალიან სახალისოა ამ პროექტის განვითარება. და საკმაოდ მაგარია, რომ გააკონტროლო ბინა რამდენიმე მოწყობილობით, თუნდაც ინტერნეტ კავშირი გაწყდეს.
გირჩევთ:
ქალის მიერ აშენებული პორტფელი: 14 ნაბიჯი (სურათებით)
ქალის მიერ აშენებული პორტფელი: ნაბიჯი 1: ჩამოწერეთ გამოყენებული მასალები: ბალზას ხის 3”ეკრანის მონიტორი AMD RYZEN 5 3500X 3.6GHZ 35MB AMD CPU (6C/6T) GIGABYTE B550 AORUS PRO A WIFI AM4 ATX DDR4 CORSAIR VENGEANCE LPX36 (2X8GB) KIT CL18 DDR4 (RYZEN) ADATA XPG SX8200 2TB PRO 2 P
Bluetooth სმარტფონის მიერ კონტროლირებადი Smart LED ნათურა: 7 ნაბიჯი
Bluetooth სმარტფონის მიერ კონტროლირებადი Smart LED ნათურა: მე ყოველთვის ვოცნებობ, გავაკონტროლო ჩემი განათების მოწყობილობები. შემდეგ ვიღაცამ გააკეთა წარმოუდგენელი ფერადი LED ნათურა. ახლახანს წავაწყდი ჯოზეფ კაშას LED ნათურას Youtube– ზე. მისმა შთაგონებამ გადავწყვიტე რამდენიმე ფუნქციის დამატება კონის შენარჩუნებისას
Sonoff B1 მშობლიური Apple Home ნაკრებით დამზადებული Arduino– ს მიერ: 6 ნაბიჯი
Sonoff B1 მშობლიური Apple Home Kit დამზადებულია Arduino– ს მიერ: ეს insctuctables გაძლევთ საკმაოდ მარტივ გზას, თუ როგორ უნდა დააკავშიროთ Sonoff B1 ნათურა თქვენს Apple სახლის ნაკრებში დამატებითი ხიდების გარეშე. შესავალი: Sonoff B1 არის საკმაოდ იაფი, მაგრამ მძლავრი ნათურა, რომელიც შეიცავს სამ ტიპს Led ს 1. თეთრი ლედ "თბილი"
Arduino– ს მიერ დაფუძნებული „სკოჩის მთა“ვარსკვლავის მაძიებელი ასტროფოტოგრაფიისთვის: 7 ნაბიჯი (სურათებით)
Arduino Powered 'Scotch Mount' Star Tracker for Astrophotography: მე შევიტყვე შოტლანდიის მთაზე, როდესაც მე ვიყავი ახალგაზრდა და გავაკეთე ერთი მამაჩემთან, როდესაც მე 16 წლის ვიყავი. ეს არის იაფი, მარტივი გზა ასტროფოტოგრაფიის დასაწყებად, რომელიც მოიცავს საფუძვლებს თქვენს წინაშე ჩაერთეთ პირველ რიგში რთულ ტელესკოპში
ტემპერატურისა და ტენიანობის მაჩვენებელი არდუინოს მიერ: 7 ნაბიჯი (სურათებით)
ტემპერატურისა და ტენიანობის მაჩვენებელი არდუინოს მიერ: ეს ინსტრუქცია აჩვენებს, თუ როგორ უნდა გააკეთოთ ყუთი, რომელიც შეიძლება მიუთითებდეს ტემპერატურასა და ტენიანობას არდუინოსთან ერთად. თქვენ შეგიძლიათ ეს ყუთი მაგიდაზე დადოთ თქვენს ოთახში ტემპერატურისა და ტენიანობის გასაზომად. ლაზერული ჭრით MDF ყუთის მაღალი ხარისხით, ყველაფერი შეკუმშული