Სარჩევი:
- ნაბიჯი 1: წინაპირობები
- ნაბიჯი 2: CribSense პროგრამული უზრუნველყოფის ინსტალაცია
- ნაბიჯი 3: თქვენი აპარატურის მომზადება: შეაერთეთ თქვენი კამერა
- ნაბიჯი 4: თქვენი აპარატურის მომზადება: IR LED
- ნაბიჯი 5: თქვენი აპარატურის მომზადება: შასი
- ნაბიჯი 6: თქვენი ტექნიკის მომზადება: შეკრება
- ნაბიჯი 7: კალიბრაცია
- ნაბიჯი 8: დემონსტრაცია
- ნაბიჯი 9: პრობლემების მოგვარება
ვიდეო: CribSense: უკონტაქტო, ვიდეოზე დაფუძნებული ბავშვის მონიტორი: 9 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
CribSense არის ვიდეოზე დაფუძნებული, უკონტაქტო ბავშვის მონიტორი, რომლის დამზადებაც შეგიძლიათ ბანკის გატეხვის გარეშე
CribSense არის C ++ დანერგვა ვიდეო გადიდებაზე, რომელიც მორგებულია Raspberry Pi 3 მოდელზე B. შაბათ-კვირას, შეგიძლიათ დააყენოთ თქვენი საკუთარი საწოლი ბავშვის მონიტორისთვის, რომელიც აყენებს სიგნალს, თუ თქვენი ჩვილი მოძრაობას შეწყვეტს. როგორც ბონუსი, ყველა პროგრამული უზრუნველყოფა უფასოა გამოყენებისთვის არაკომერციული მიზნებისთვის და ადვილად გაფართოებადია.
სრული საცავი, რომელიც შეიცავს წყაროს ფაილებს და დოკუმენტაციას, შეგიძლიათ იხილოთ
მიუხედავად იმისა, რომ ჩვენ ვფიქრობთ, რომ CribSense საკმაოდ სახალისოა, მნიშვნელოვანია გვახსოვდეს, რომ ეს არ არის რეალურად დამოწმებული, უტყუარი უსაფრთხოების მოწყობილობა. ანუ, მას სჭირდება სათანადოდ კონფიგურაცია და კარგად კონტროლირებადი გარემო იმისათვის, რომ იმუშაოს. მაგალითად, თუ ის კარგად არ არის დაკალიბრებული და/ან ვიდეოში არსებული გარემო არ უწყობს ხელს ვიდეოს გადიდებას, თქვენ შეიძლება მისი გამოყენება ვერ შეძლოთ. ჩვენ ეს გავაკეთეთ სახალისო პროექტად იმის დასადგენად, თუ რამდენად კარგად შეგვეძლო გამოგვეყენებინა მძიმე პროგრამული უზრუნველყოფა, როგორიცაა ვიდეო გადიდება, გაშვებული შეზღუდული ტექნიკით, როგორიცაა Raspberry Pi. ნებისმიერი რეალური პროდუქტი მოითხოვს გაცილებით მეტ ტესტირებას, ვიდრე ჩვენ გავაკეთეთ. ასე რომ, თუ თქვენ იყენებთ ამ პროექტს, აიღეთ ის, რაც არის: ვიდეო გადიდების მოკლე შესწავლა Pi- ზე.
რაც დაგჭირდებათ:
Raspberry Pi + კამერა + კონფიგურაციის ინსტრუმენტები:
- ჟოლო Pi 3 მოდელი B
- 5V 2.5A მიკრო USB კვების ბლოკი
- Raspberry Pi NoIR კამერის მოდული V2
- MicroSD ბარათი (ჩვენ გამოვიყენეთ 16 GB კლასი 10 ბარათი)
- მოქნილი კაბელი ჟოლოს Pi კამერისთვის (12 ")
- დინამიკები 3.5 მმ შესასვლელით
- HDMI მონიტორი
- USB კლავიატურა
- USB მაუსი
- [სურვილისამებრ] ჟოლოს Pi გამაცხელებელი (თუ გაწუხებთ სითბო, შეგიძლიათ ერთ -ერთი მათგანი დააწებოთ თქვენს Pi- ს)
IR LED სქემა დაბალი შუქის მუშაობისთვის:
- [3x] 1N4001 დიოდები
- 1 Ohm, 1W რეზისტორი
- 1W IR LED
- 2 მავთული LED- ზე Pi- ზე დასაკავშირებლად
- გასაყიდი რკინა
Ჩარჩო:
- 3D პრინტერზე წვდომა (მინიმალური მოცულობის მოცულობა = 9.9 "L x 7.8" W x 5.9 "H) ჩვენი შასის დასაბეჭდად. თუმცა, მოგერიდებათ საკუთარი სახლის კონსტრუქცია.
- წებო (ნებისმიერი სახის წებო იმუშავებს, მაგრამ ცხელი წებო რეკომენდირებულია პროტოტიპისთვის).
ნაბიჯი 1: წინაპირობები
სანამ დაიწყებდით ჩვენს ნაბიჯ ნაბიჯ სახელმძღვანელოს, თქვენ უკვე უნდა გქონდეთ დაინსტალირებული Raspbian– ის უახლესი ვერსია თქვენს SD ბარათზე და დარწმუნებული იყოთ, რომ თქვენი Pi ფუნქციონირებს. თქვენ ასევე დაგჭირდებათ კამერის მოდულის ჩართვა, სანამ კამერაზე წვდომას შეძლებთ.
ნაბიჯი 2: CribSense პროგრამული უზრუნველყოფის ინსტალაცია
CribSense დამოკიდებულია autoconf, libtool, OpenCV და libcanberra, ასევე ჩვეულებრივ პროგრამულ ინსტრუმენტებზე.
- autoconf და libtool გამოიყენება makefiles– ის ავტომატური კონფიგურაციისთვის და CribSense– ის სკრიპტების შესაქმნელად მრავალ პლატფორმაზე (როგორიცაა Linux, OSX და Raspberry Pi).
- OpenCV არის მძლავრი კომპიუტერული ხედვის პაკეტი, რომელიც გამოიყენება გამოსახულების დამუშავებისათვის და არის ვიდეო გადიდების და მოძრაობის გამოვლენის კოდის საფუძველი. მას აქვს დიდი მხარდაჭერა, ადვილი გამოსაყენებელია და აქვს კარგი შესრულება.
- libcanberra არის მარტივი ბიბლიოთეკა ღონისძიების ბგერების დაკვრისთვის. იგი გამოიყენება CribSense– ის განგაშის ხმის დასაკრავად.
ეწვიეთ მათ ინდივიდუალურ გვერდებს სრული ინფორმაციის მისაღებად.
დააინსტალირეთ ისინი თქვენს Pi– ზე ტერმინალის გახსნით და გაშვებით:
sudo apt-get დააინსტალირეთ git build- არსებითი autoconf libtool libopencv-dev libcanberra-dev
შემდეგ თქვენ უნდა დააყენოთ კამერის დრაივერი ავტომატურ ჩატვირთვაზე bcm2835-v4l2 დამატებით `/etc/modules-load.d/modules.conf`. შენი modules.conf უნდა გამოიყურებოდეს ასე:
# /etc /modules: ბირთვის მოდულები ჩატვირთვისას ჩატვირთვისას.
# # ფაილი შეიცავს ბირთვის მოდულების სახელებს, რომლებიც უნდა ჩატვირთოს # ჩატვირთვისას, თითო თითო სტრიქონზე. "#" - ით დაწყებული ხაზები იგნორირებულია. i2c-dev bcm2835-v4l2
ფაილის რედაქტირების შემდეგ, თქვენ უნდა გადატვირთოთ თქვენი Pi. ამ დრაივერს CribSense იყენებს, რომ პირდაპირ გაიყვანოს ჩარჩოები NoIR კამერიდან.
შემდეგ, თქვენ შეგიძლიათ მოახდინოთ საცავის კლონირება გაშვებით:
git კლონი
შემდეგი, გადადით საცავში და შექმენით პროგრამული უზრუნველყოფა გაშვებით
cd CribSense
./autogen.sh --prefix =/usr --sysconfdir =/etc-გამორთვა-გამართვის გაკეთება sudo make install sudo systemctl daemon-reload
გილოცავთ, თქვენ დაინსტალირებული გაქვთ ყველა საჭირო პროგრამა!
კონფიგურაცია
CribSense კონფიგურირებადია მარტივი INI კონფიგურაციის ფაილის საშუალებით. `Make install` გაშვების შემდეგ, კონფიგურაციის ფაილი მდებარეობს /etc/cribsense/config.ini. თქვენ შეგიძლიათ ნახოთ და შეცვალოთ ეს პარამეტრები გაშვებით
sudo nano /etc/cribsense/config.ini
თითოეული პარამეტრის მოკლე ახსნა მოცემულია ნაგულისხმევ კონფიგურაციაში, მაგრამ მეტი დეტალები ხელმისაწვდომია https://lukehsiao.github.io/CribSense/setup/config/. ჩვენ ასევე განვიხილავთ კალიბრაციას და კონფიგურაციას ამ სახელმძღვანელოს ბოლოს.
გაშვებული CribSense
CribSense შეიქმნა გაშვებისას სისტემური სერვისის გამოყენებით. სანამ თქვენ დაუკავშირდებით თქვენს Raspberry Pi კლავიატურას და მაუსს, თქვენ უნდა დარწმუნდეთ, რომ კონფიგურაციის პარამეტრები მუშაობს თქვენს საწოლზე. თქვენ შეიძლება დაგჭირდეთ ამ პარამეტრების ხელახლა მორგება, თუ მას გადაიტანთ.
სანამ პარამეტრებს არეგულირებთ, შეგიძლიათ სურვილისამებრ გაუშვათ cribsense ბრძანების სტრიქონიდან გაშვებით
cribsense --config /etc/cribsense/config.ini
მას შემდეგ რაც კმაყოფილი დარჩებით, შეგიძლიათ ჩართოთ autorun გაშვებით
sudo systemctl საშუალებას აძლევს cribsense
თქვენ შეგიძლიათ შეაჩეროთ ციმბრალის გაშვება ავტომატურად გაშვებით
sudo systemctl გამორთეთ cribsense
პროგრამული უზრუნველყოფის მიმოხილვა
CribSense პროგრამული უზრუნველყოფა არის ამ პროექტის გული და სული. ჩვენ ვნახეთ MIT– ის ვიდეო გადიდების რამდენიმე შესანიშნავი დემო და გვინდოდა, გვეცადა მსგავსი ალგორითმის გაშვება Raspberry Pi– ზე. ამას დასჭირდა 10-ჯერ მეტი დაჩქარება tbl3rd– ის მუშაობის C ++ ვიდეო გადიდების განხორციელებაზე, რათა Pi– ზე რეალურ დროში გაშვებულიყო. საჭირო ოპტიმიზაციამ განაპირობა ჩვენი პროგრამული უზრუნველყოფის დიზაინი.
მაღალ დონეზე, CribSense არაერთხელ შემოდის პროგრამული მდგომარეობის აპარატში. პირველ რიგში, ის ყოფს თითოეულ 640x480, ნაცრისფერი მასშტაბის ვიდეო ჩარჩოს 3 ჰორიზონტალურ ნაწილად (640x160) ქეშირების უკეთესი ადგილისთვის. შემდეგ ადიდებს თითოეულ ზოლს ცალკეულ ძაფში და აკონტროლებს მოძრაობაში ჩანაწერს. მოძრაობის რამოდენიმე წამის მონიტორინგის შემდეგ, იგი განსაზღვრავს მოძრაობის ძირითად არეს და ამცირებს მას ჩარჩოს. ეს ამცირებს პიქსელების საერთო რაოდენობას, რომლებიც ალგორითმს სჭირდება. შემდეგ, CribSense მონიტორინგს უწევს მოძრაობის მოცულობას მოჭრილ ნაკადში და აცხადებს განგაში, თუ მოძრაობა არ აღიქმება კონფიგურირებადი დროის განმავლობაში. პერიოდულად, CribSense კვლავ გახსნის თავის ხედს, რათა მონიტორინგი გაუწიოს სრულ ჩარჩოს იმ შემთხვევაში, თუ ჩვილი გადაადგილდება და ხელახლა იჭრება ახალი ძირითადი მოძრაობის არეალში.
ვიდეო გადიდება გამოიყენება სიგნალისა და ხმაურის თანაფარდობის დახვეწილ მოძრაობებში, როგორიცაა ჩვილის სუნთქვა. ეს არ იქნება საჭირო უფრო დიდი მოძრაობებისთვის, მაგრამ შეიძლება დაგეხმაროთ ძალიან დახვეწილი მოძრაობებისთვის. გაითვალისწინეთ, რომ ჩვენი განხორციელება თავისუფლად ემყარება MIT– ის ნაშრომებში აღწერილ ალგორითმს და არ ასრულებს ისევე როგორც მათ საკუთრების კოდს.
ოპტიმიზაციებმა, როგორიცაა მრავალსიდიანი, ადაპტირებული მოჭრა და შემდგენლის ოპტიმიზაცია, მოგვცა შესაბამისად 3x, 3x და 1.2x სიჩქარე, შესაბამისად. ამან მოგვცა საშუალება მივაღწიოთ 10x სიჩქარეს, რაც საჭიროა Pi– ზე რეალურ დროში გასაშვებად.
სრული დეტალები შეგიძლიათ იხილოთ CribSense საცავის პროგრამული უზრუნველყოფის არქიტექტურის გვერდზე.
თუ თქვენ გაინტერესებთ ვიდეო გადიდება, ეწვიეთ MIT– ის გვერდს.
ნაბიჯი 3: თქვენი აპარატურის მომზადება: შეაერთეთ თქვენი კამერა
პირველ რიგში, თქვენ უნდა შეცვალოთ 6 დიუმიანი კაბელი, რომელსაც მოყვა კამერა 12 დიუმიანი კაბელით. ამისათვის შეგიძლიათ უბრალოდ მიჰყევით ამ სახელმძღვანელოს, თუ როგორ უნდა შეცვალოთ კამერის კაბელი.
მოკლედ რომ ვთქვათ, კამერის უკანა მხარეს ნახავთ push/pull tab- ს, რომლის ამოღებაც შეგიძლიათ მოქნილი კაბელის გასათავისუფლებლად. შეცვალეთ მოკლე კაბელი უფრო გრძელით და უკან დააბრუნეთ ჩანართი.
თქვენ შეამჩნევთ, რომ ჩვენ გვაქვს 24 "კაბელი ჩვენს სურათებში. ეს იყო ძალიან გრძელი. მასალების სიაში 12" კაბელი გაცილებით გონივრული სიგრძეა.
ნაბიჯი 4: თქვენი აპარატურის მომზადება: IR LED
CribSense შედარებით ადვილი ასაშენებელია და დიდწილად შედგება კომერციულად ხელმისაწვდომი ნაწილებისგან. როგორც ზემოთ მოყვანილ ფიგურაში ჩანს, არის 5 ძირითადი აპარატურის კომპონენტი, რომელთაგან მხოლოდ 2 არის შეკვეთილი. ეს გვერდი გაანალიზებს თუ როგორ უნდა ავაშენოთ IR LED წრე და მომდევნო გვერდზე იქნება ნათქვამი, თუ როგორ უნდა ავაშენოთ შასი.
ამ ნაწილისთვის, თქვენ უნდა მიიღოთ თქვენი გამაგრილებელი რკინა, მავთულები, დიოდები, IR LED და რეზისტორი. ჩვენ ავაშენებთ სქემას, რომელიც ნაჩვენებია მე -2 ფიგურაში. თუ თქვენ ახალი ხართ soldering, აქ არის ლამაზი სახელმძღვანელო, რომელიც დაეწიოს თქვენ up. სანამ ეს სახელმძღვანელო განიხილავს ხვრელების შედუღებას, თქვენ შეგიძლიათ გამოიყენოთ იგივე ძირითადი ტექნიკა ამ კომპონენტების ერთმანეთთან დასაკავშირებლად, როგორც ეს ნაჩვენებია მე -3 ფიგურაში.
ღამით ადეკვატური განათების უზრუნველსაყოფად, ჩვენ ვიყენებთ IR LED- ს, რომელიც არ ჩანს ადამიანის თვალით, მაგრამ ჩანს NoIR კამერით. IR LED არ მოიხმარს დიდ ენერგიას Raspberry Pi– სთან შედარებით, ამიტომ ჩვენ ვტოვებთ IR LED– ს ჩართულობას სიმარტივის გამო.
Pi– ს ადრინდელ ვერსიებში, ამ ქინძისთავების მაქსიმალური ამჟამინდელი გამომუშავება იყო 50mA. Raspberry Pi B+ გაიზარდა 500mA– მდე. თუმცა, ჩვენ უბრალოდ ვიყენებთ 5V დენის ქინძისთავებს სიმარტივისთვის, რომელსაც შეუძლია 1.5A- მდე მიწოდება. IR გაზომვის წინა ძაბვა არის დაახლოებით 1.7 ~ 1.9V ჩვენი გაზომვების მიხედვით. მიუხედავად იმისა, რომ IR LED- ს შეუძლია 500mA მიაპყროს საკუთარი თავის დაზიანების გარეშე, ჩვენ ვამცირებთ დენს დაახლოებით 200mA- მდე, რათა შევამციროთ სითბო და ენერგიის საერთო მოხმარება. ექსპერიმენტულმა შედეგებმა ასევე აჩვენა, რომ IR LED საკმარისად კაშკაშაა 200mA შეყვანის დენით. 5V- სა და 1.9V- ს შორის უფსკრული რომ გავავსოთ, ჩვენ ვიყენებთ სამ 1N4001 დიოდს და 1 Ohm რეზისტორს სერიულად IR LED- ით. ძაბვის ვარდნა მავთულზე, დიოდებზე და რეზისტორზე არის დაახლოებით 0.2V, 0.9V (თითოეული მათგანისთვის) და 0.2V, შესაბამისად. ამდენად, ძაბვა IR LED- ზე არის 5V - 0.2V - (3 * 0.9V) - 0.2V = 1.9V. სითბოს გაფრქვევა LED- ზე არის 0.18W და 0.2W წინააღმდეგ რეზისტორზე, ეს ყველაფერი მათი მაქსიმალური რეიტინგის ფარგლებში.
მაგრამ ჩვენ ჯერ არ დავასრულეთ! 3D დაბეჭდილი შასის უკეთ მორგების მიზნით, ჩვენ გვსურს, რომ IR LED ობიექტივი გამოვიდეს ჩვენი შასიდან და PCB დაფა გავრეცხოთ ხვრელში. პატარა ფოტოდიოდი ქვედა მარჯვნივ ხელს შეგიშლით. ამის გამოსასწორებლად, ჩვენ ვასხამთ მას და ვაქცევთ დაფის მოპირდაპირე მხარეს, როგორც ეს ნაჩვენებია ბოლო ორ ფოტოზე. ფოტოდიოდი არ არის საჭირო, რადგან ჩვენ გვინდა, რომ LED ყოველთვის ჩართული იყოს. მისი უბრალოდ მოპირდაპირე მხარეს გადართვა უცვლელად ტოვებს LED- ის თავდაპირველ წრეს.
როდესაც მავთულხლართებზე მიმაგრებულია, დარწმუნდით, რომ მავთულები მინიმუმ 12 ინჩი სიგრძისაა და აქვს სათაურები, რომელთაც შეუძლიათ Pi- ს GPIO- ზე გადაფურცვლა.
ნაბიჯი 5: თქვენი აპარატურის მომზადება: შასი
წყაროს ფაილები:
- საქმე STL
- საქმე მაკერბოტი
- საფარი STL
- დაფარეთ მაკერბოტი
ჩვენ გამოვიყენეთ მარტივი 3D დაბეჭდილი შასი, Pi, კამერა და LED. ჩვენი შასის გამოყენება არჩევითია, თუმცა რეკომენდირებულია, რათა ბავშვებმა ხელი არ შეუშალონ დაუცველ ელექტრონულ სქემას. ყველა საწოლი განსხვავებულია, ამიტომ ჩვენი შასი არ შეიცავს სამონტაჟო სამაგრს. სამონტაჟო რამდენიმე ვარიანტი შეიძლება შეიცავდეს:
- Საკაბელო კავშირები
- 3M ორმაგი საკეტი
- Velcro
- Ფირზე
თუ თქვენ გაქვთ წვდომა MakerBot Replicator– ზე (მე –5 თაობა), შეგიძლიათ უბრალოდ გადმოწეროთ.makerbot ფაილები საქმისთვის და გადააფაროთ თქვენს MakerBot Replicator– ზე და დაბეჭდოთ. საქმის დაბეჭდვას დაახლოებით 6 საათი სჭირდება და ყდის დაბეჭდვას 3 საათი. თუ თქვენ იყენებთ სხვადასხვა ტიპის 3D პრინტერს, გთხოვთ განაგრძოთ კითხვა.
CribSense– ის დასაბეჭდად საჭიროა აშენების მინიმალური მოცულობა 9.9 "(L) x 7.8" (W) x 5.9 "(H). თუ თქვენ არ გაქვთ წვდომა 3D პრინტერზე ამ მოცულობის მოცულობით, შეგიძლიათ გამოიყენოთ ონლაინ 3D ბეჭდვა სერვისი (როგორიცაა Shapeways ან Sculpteo) CribSense– ის დასაბეჭდად. დაბეჭდვის მინიმალური გარჩევადობაა 0.015 ". თუ თქვენ იყენებთ შერწყმული ძაფის ძაფის დამზადების ტიპის 3D პრინტერს, ეს ნიშნავს, რომ თქვენი საქშენების დიამეტრი უნდა იყოს 0.015 "ან ნაკლები. პრინტერები დაბეჭდვის დაბალი გარჩევადობით (უფრო დიდი საქშენების დიამეტრი) შეიძლება იმუშაოს, მაგრამ Raspberry Pi შეიძლება არ მოერგოს შასის. ჩვენ გირჩევთ PLA (პოლილაქტიკური მჟავა), როგორც სასურველი ბეჭდვის მასალა. სხვა პლასტმასი შეიძლება მუშაობდეს, მაგრამ Raspberry Pi შეიძლება არ მოერგოს იმ შემთხვევაში, თუ არჩეული პლასტმასის თერმული გაფართოების კოეფიციენტი უფრო დიდია ვიდრე PLA. თუ თქვენს 3D პრინტერს აქვს გაცხელებული ასაშენებელი ფირფიტა, მუშაობის დაწყებამდე გამორთეთ გამათბობელი.
თქვენი პრინტერის ფირფიტაზე მოდელის ორიენტაცია გადამწყვეტი მნიშვნელობა აქვს წარმატებული ბეჭდვისთვის. ეს მოდელები საგულდაგულოდ იყო შემუშავებული, ასე რომ მათ არ სჭირდებათ ბეჭდვა დამხმარე მასალით, რითაც დაზოგავს პლასტმასს და აუმჯობესებს ბეჭდვის ხარისხს. გაგრძელებამდე გადმოწერეთ 3D ფაილები საქმისა და ყდისთვის. ამ მოდელების დაბეჭდვისას, CribSense- ის კისერი ბრტყელი უნდა იყოს აგებული ფირფიტაზე. ეს უზრუნველყოფს, რომ მოდელებზე გადახურვის ყველა კუთხე არ აღემატებოდეს 45 გრადუსს, რითაც აღმოფხვრილია დამხმარე მასალის მოთხოვნა. თქვენი პრინტერის სამშენებლო მოცულობაში 3D მოდელების ორიენტაციის ინსტრუქციისათვის, გთხოვთ, იხილოთ ინსტრუქციის სახელმძღვანელო, რომელიც მოყვება თქვენს 3D პრინტერს. შემთხვევისა და საფარის აგების ორიენტაციის მაგალითები ნაჩვენებია ზემოთ.
გარდა იმისა, რომ CribSense- ის კისერი ბრტყელ ზედაპირზეა განთავსებული, შეიძლება შეამჩნიოთ, რომ მოდელები ბრუნავს ვერტიკალური ღერძის გარშემო. ეს შეიძლება იყოს საჭირო იმისათვის, რომ მოდელი მოთავსდეს თქვენი 3D პრინტერის ასაშენებელ მოცულობაში. ეს როტაცია არჩევითია, თუ თქვენი მშენებლობის მოცულობის სიგრძე საკმარისად გრძელია CribSense- ის განსახორციელებლად.
ნაბიჯი 6: თქვენი ტექნიკის მომზადება: შეკრება
მას შემდეგ რაც მოამზადეთ ყველა ტექნიკა, შეგიძლიათ დაიწყოთ შეკრება. ნებისმიერი წებო შეიძლება გამოყენებულ იქნას ამ პროცესში, მაგრამ ჩვენ გირჩევთ ცხელ წებოს ორი ძირითადი მიზეზის გამო. ცხელი წებო სწრაფად შრება, ასე რომ თქვენ არ გჭირდებათ დიდი ხნის ლოდინი წებოს გასაშრობად. გარდა ამისა, ცხელი წებო არის მოსახსნელი, თუ შეცდომას დაუშვებთ. გამხმარი ცხელი წებოს მოსაშორებლად, დაასველეთ ცხელი წებო რუბრიკაში (იზოპროპილის) სპირტში. ჩვენ გირჩევთ 90% კონცენტრაციას ან უფრო მეტს, მაგრამ 70% კონცენტრაცია მაინც იმუშავებს. გამხმარი ცხელი წებოს დაჟანგვა იზოპროპილის სპირტში შეასუსტებს კავშირს წებოსა და ქვედა ზედაპირს შორის, რაც საშუალებას მოგცემთ წებოვანა სუფთად გაასუფთაოთ. იზოპროპილის სპირტში წებოს დატბორვისას, ჟოლოს პი უნდა გამორთოთ და გამორთოთ. დარწმუნდით, რომ ყველაფერი გაშრეს, სანამ ცხელ წებოს ხელახლა წაისვამთ და Raspberry Pi- ს ჩატვირთავთ.
ამ ნაბიჯების ყველა სურათი მოწესრიგებულია და მიჰყვება ტექსტურ ნაბიჯებს.
- ჩადეთ Raspberry Pi შასიში. აუდიო პორტის შესასვლელად ცოტათი მოგიწევთ მისი მოხრა, მაგრამ როდესაც ის შევა, აუდიო ჯეკი შეინარჩუნებს მას ადგილს. როდესაც ის ადგილზეა, დარწმუნდით, რომ ყველა პორტზე წვდომა მაინც შესაძლებელია (მაგალითად, შეგიძლიათ ჩართოთ კვების კაბელი).
- შემდეგი, გამოიყენეთ ცხელი წებო, რომ დააჭიროთ Pi ადგილს და მიამაგრეთ კამერა Pi- ზე. არსებობს ხრახნიანი ხვრელებიც, თუ გირჩევნიათ მათი გამოყენება.
- ახლა, მიამაგრეთ LED და კამერა წინა ყდაზე (სურათზე). დაიწყეთ NoIR კამერის ცხელი წებოთი კამერის ხვრელზე. დარწმუნდით, რომ კამერა არის მყარი და გაფორმებულია შასით. არ გამოიყენოთ ძალიან ბევრი წებო; წინააღმდეგ შემთხვევაში, თქვენ ვერ შეძლებთ კამერის მთავარ კორპუსში მოთავსებას. დარწმუნდით, რომ ჩართავთ Pi- ს და გადახედეთ კამერას (`raspistill -v`, მაგალითად), რომ დარწმუნდეთ, რომ ის კარგად არის დახრილი და აქვს კარგი ხედვის ველი. თუ ეს ასე არ არის, ამოიღეთ ცხელი წებო და შეცვალეთ იგი.
- შემდეგი, წებოს IR LED ხვრელი საფარი კისრის. კისერი არის 45 გრადუსიანი კუთხის გვერდით სინათლის საწოლი, რაც იწვევს უფრო მეტ ჩრდილს დაბალი შუქის პირობებში. ეს უფრო მეტ კონტრასტს მატებს სურათს, რაც აადვილებს მოძრაობის გამოვლენას.
- მიამაგრეთ IR LED მავთულები Raspberry Pi- ს სათაურის ქინძისთავებზე, როგორც ეს მოცემულია სქემატურ სურათში.
- ჩაალაგე კაბელები შასისში ისე, რომ არ დაჭიმოს ან დაძაბოს ისინი. ჩვენ დავამთავრეთ საკაბელო აკორდეონის სტილი, რადგან ჩვენი კამერის მოქნილი კაბელი ძალიან გრძელი იყო.
- ყველაფერში ჩაფლული, ცხელი წებო იმ კიდეების ირგვლივ, სადაც ორი ნაჭერი ხვდება, დალუქეთ ისინი ადგილზე.
ნაბიჯი 7: კალიბრაცია
კონფიგურაციის პარამეტრების შესახებ დეტალები შეგიძლიათ იხილოთ CribSense საცავის დოკუმენტაციაში. ასევე იხილეთ ვიდეო, რომ ნახოთ მაგალითი იმისა, თუ როგორ შეიძლება დაკალიბრდეთ CribSense მას შემდეგ, რაც ყველაფერი დაყენებული გაქვთ.
აქ არის კონფიგურაციის ფაილის მაგალითი:
[იო]; I/O კონფიგურაცია
; input = path_to_file; შეყვანის ფაილი input_fps = 15 გამოსაყენებლად; fps შეყვანის (40 მაქსიმუმი, 15 რეკომენდირებულია კამერის გამოყენებისას) სრული_ფფს = 4.5; fps, რომლის დროსაც შესაძლებელია სრული ჩარჩოების დამუშავება crop_fps = 15; fps, რომლის დროსაც მოჭრილი ჩარჩოების დამუშავება შესაძლებელია კამერა = 0; კამერა სიგანეზე = 640; შეყვანის ვიდეოს სიგანე = 480; შეყვანის ვიდეოს სიმაღლე_ძრავისთვის = 10; რამდენ წამს უნდა დაელოდოთ განგაშის დაწყებამდე. [მოჭრა]; Adaptive Cropping Settings crop = true; ჩარჩოების მოჭრა თუ არა = 10 =; # ჩარჩო დაელოდეთ გადატვირთვის შემდეგ roi_update_interval = 800; # ჩარჩო ROI_window– ის გადაანგარიშებას შორის = 50; # ჩარჩო მონიტორინგისთვის ROI [მოძრაობის] არჩევის წინ; მოძრაობის გამოვლენის პარამეტრები erode_dim = 4; ეროდის ბირთვის განზომილება dilate_dim = 60; განზავებული ბირთვის განზომილება diff_threshold = 8; abs განსხვავება საჭიროა ცვლილების ხანგრძლივობის აღიარებამდე = 1; # ჩარჩო მოძრაობის შესანარჩუნებლად ნამდვილი pixel_threshold = 5 -ის მონიშვნამდე; # პიქსელი, რომელიც უნდა იყოს განსხვავებული მონიშვნისათვის, როგორც მოძრაობა show_diff = false; აჩვენეთ განსხვავება 3 ჩარჩოს შორის [გადიდება]; ვიდეო გადიდების პარამეტრები გააძლიეროს = 25; % გაძლიერება სასურველი დაბალი შემცირება = 0.5; დაბალი სიხშირე bandpass. მაღალი გათიშვა = 1.0; მაღალი სიხშირე bandpass. ბარიერი = 50; ფაზის ბარიერი როგორც % pi. შოუ_დიდიფიკაცია = ყალბი; აჩვენეთ თითოეული გადიდების გამომავალი ჩარჩოები [გამართვა] print_times = false; დაბეჭდეთ ანალიზის დრო
ალგორითმის დაკალიბრება არის განმეორებითი ძალისხმევა, ზუსტი გადაწყვეტის გარეშე. ჩვენ გირჩევთ ექსპერიმენტი ჩაატაროთ სხვადასხვა ღირებულებებით, დააკავშიროთ ისინი გამართვის მახასიათებლებთან და იპოვოთ თქვენი გარემოსთვის შესაფერისი პარამეტრების კომბინაცია. კალიბრაციის დაწყებამდე დარწმუნდით, რომ show_diff და show_magnification არის ჭეშმარიტი.
როგორც სახელმძღვანელო, გაძლიერების და ფაზის_ბარიერი მნიშვნელობები ზრდის შესასვლელ ვიდეოზე გადიდებულ რაოდენობას. თქვენ უნდა შეცვალოთ ეს მნიშვნელობები მანამ, სანამ ნათლად არ დაინახავთ მოძრაობას, რომლის თვალყურის დევნება გსურთ ვიდეო ჩარჩოში. თუ თქვენ ხედავთ არტეფაქტებს, ფაზის ზღვრის შემცირება იმავე გამაძლიერებლის შენარჩუნებისას შეიძლება დაგეხმაროთ.
მოძრაობის გამოვლენის პარამეტრები ხელს უწყობს ხმაურის კომპენსირებას.მოძრაობის რეგიონების გამოვლენისას, erode_dim და dilate_dim გამოიყენება OpenCV ბირთვის ზომების გასაზომად, რომლებიც გამოიყენება მოძრაობის შესამცირებლად და გასაფართოებლად ისე, რომ ხმაური ჯერ გაქრეს, შემდეგ კი მოძრაობის სიგნალი მნიშვნელოვნად გაფართოვდეს, რათა მოძრაობის რეგიონები აშკარა გახდეს. ეს პარამეტრები შეიძლება ასევე იყოს საჭირო, თუ თქვენი საწოლი არის ძალიან მაღალი კონტრასტული გარემოში. ზოგადად, მაღალი კონტრასტული პარამეტრებისთვის დაგჭირდებათ უფრო მაღალი ეროდი_დიმი, ხოლო დაბალი კონტრასტისთვის - დაბალი ეროდი_დიმი.
თუ თქვენ აწარმოებთ CribSense– ს show_diff = true და შეამჩნევთ, რომ აკუმულატორის ძალიან ბევრი გამოსავალი არის თეთრი, ან ვიდეოს სრულიად დაუკავშირებელი ნაწილი გამოვლენილია როგორც მოძრაობა (მაგ. მბჟუტავი ნათურა), გაზარდეთ erode_dim ვიდეოს მხოლოდ ნაწილამდე შეესაბამება თქვენს პატარას არის ყველაზე დიდი თეთრი ნაწილი. პირველი ფიგურა გვიჩვენებს მაგალითს, სადაც ეროზიის განზომილება ძალიან დაბალია ჩარჩოში მოძრაობისთვის, ხოლო მომდევნო გვიჩვენებს კარგად დაკალიბრებულ ჩარჩოს.
მას შემდეგ, რაც ეს დაკალიბრდება, დარწმუნდით, რომ pixel_threshold არის მითითებული ისეთ მნიშვნელობამდე, რომ "Pixel Movement" აცნობებს მხოლოდ პიქსელის მოძრაობის პიკ მნიშვნელობებს და არა ყველა მათგანს (რაც ნიშნავს რომ თქვენ უნდა ამოიღოთ ხმაური). იდეალურ შემთხვევაში, თქვენ ნახავთ ასეთ გამომავალს თქვენს ტერმინალში, სადაც არის მოძრაობის შესაბამისი მკაფიო პერიოდული ნიმუში:
[ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის სავარაუდო მაჩვენებელი: 1.219812 ჰერცი
[ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 1.219812 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის სავარაუდო: 1.219812 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის სავარაუდო: 1.219812 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 44 [ინფორმაცია] მოძრაობის შეფასება: 1.219812 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 1.219812 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 161 [ინფორმაცია] მოძრაობის შეფასება: 1.219812 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 121 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 86 [ინფორმაცია] მოძრაობის სავარაუდო მაჩვენებელი: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის სავარაუდო: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის სავარაუდო: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა ent: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის სავარაუდო: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 97 [ინფორმაცია] მოძრაობის სავარაუდო: 0.841416 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 74 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელი მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 60 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის სავარაუდო მაჩვენებელი: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 48 [ინფორმაცია] მოძრაობა სავარაუდო: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 38 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 29 [ინფორმაცია] მოძრაობის სავარაუდო ღირებულება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 28 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 22 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის სავარაუდო: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის სავარაუდო: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 0 [ინფორმაცია] მოძრაობის შეფასება: 0.839298 ჰერცი
თუ თქვენი გამომავალი უფრო ასე გამოიყურება:
[ინფორმაცია] პიქსელის მოძრაობა: 921 [ინფორმაცია] მოძრაობის სავარაუდო მაჩვენებელი: 1.352046 ჰერცი
[ინფორმაცია] პიქსელის მოძრაობა: 736 [ინფორმაცია] მოძრაობის შეფასება: 1.352046 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 666 [ინფორმაცია] მოძრაობის სავარაუდო: 1.352046 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 663 [ინფორმაცია] მოძრაობის სავარაუდო: 1.352046 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 1196 [ინფორმაცია] მოძრაობის შეფასება: 1.352046 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 1235 [ინფორმაცია] მოძრაობის შეფასება: 1.352046 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 1187 [ინფორმაცია] მოძრაობის შეფასება: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 1115 [ინფორმაცია] მოძრაობის შეფასება: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 959 [ინფორმაცია] მოძრაობის სავარაუდო მაჩვენებელი: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 744 [ინფორმაცია] მოძრაობის სავარაუდო მაჩვენებელი: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 611 [ინფორმაცია] მოძრაობის შეფასება: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 468 [ინფორმაცია] მოძრაობის შეფასება: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 371 [ინფორმაცია] მოძრაობის სავარაუდო: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 307 [ინფორმაცია] მოძრაობის შეფასება: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 270 [ინფორმაცია] მოძრაობის შეფასება: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 234 [ინფორმაცია] მოძრაობის სავარაუდო მაჩვენებელი: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 197 [ინფორმაცია] მოძრაობის შეფასება: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 179 [ინფორმაცია] მოძრაობის სავარაუდო: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 164 [ინფორმაცია] მოძრაობის სავარაუდო: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 239 [ინფორმაცია] მოძრაობის შეფასება: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 733 [ინფორმაცია] მოძრაობის სავარაუდო: 1.456389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 686 [ინფორმაცია] მოძრაობის სავარაუდო: 1.229389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 667 [ინფორმაცია] მოძრაობის სავარაუდო: 1.229389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 607 [ინფორმაცია] მოძრაობის შეფასება: 1.229389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 544 [ინფორმაცია] მოძრაობის შეფასება: 1.229389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 499 [ინფორმაცია] მოძრაობის შეფასება: 1.229389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 434 [ინფორმაცია] მოძრაობის შეფასება: 1.229389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 396 [ინფორმაცია] მოძრაობის სავარაუდო: 1.229389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 375 [ინფორმაცია] მოძრაობის სავარაუდო: 1.229389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 389 [ინფორმაცია] მოძრაობის შეფასება: 1.229389 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 305 [ინფორმაცია] მოძრაობის სავარაუდო: 1.312346 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 269 [ინფორმაცია] მოძრაობის სავარაუდო: 1.312346 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 1382 [ინფორმაცია] მოძრაობა E სტიმულაცია: 1.312346 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 1086 [ინფორმაცია] მოძრაობის სავარაუდო: 1.312346 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 1049 [ინფორმაცია] მოძრაობის სავარაუდო ღირებულება: 1.312346 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 811 [ინფორმაცია] მოძრაობის შეფასება: 1.312346 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 601 [ინფორმაცია] მოძრაობის სავარაუდო მაჩვენებელი: 1.312346 ჰერცი [ინფორმაცია] პიქსელის მოძრაობა: 456 [ინფორმაცია] მოძრაობის შეფასება: 1.312346 ჰერცი
შეასწორეთ pixel_threshold და diff_threshold სანამ მხოლოდ მწვერვალები არ გამოჩნდება, ხოლო პიქსელის მოძრაობა 0 იქნება.
ნაბიჯი 8: დემონსტრაცია
აქ არის პატარა დემო იმის შესახებ, თუ როგორ მუშაობს CribSense. თქვენ უნდა წარმოიდგინოთ, რომ ეს მიმაგრებულია საწოლის გვერდით.
როდესაც CribSense- ს ათავსებთ თქვენს საწოლზე, თქვენ უნდა გააუმჯობესოთ მანძილი ჩვილსა და კამერას შორის. იდეალურ შემთხვევაში, თქვენი ბავშვის გულმკერდი შეავსებს ჩარჩოს 1/3 -ზე ნაკლებს. ბავშვი არ უნდა იყოს ძალიან შორს, წინააღმდეგ შემთხვევაში დაბალი რეზოლუციის ვიდეო იბრძოლებს იპოვოს საკმარისი დეტალები გასადიდებლად. თუ კამერა ძალიან ახლოს არის, კამერამ შეიძლება ვერ დაინახოს თქვენი შვილი, თუ ის გადატრიალდება ან გადავა ჩარჩოდან. ანალოგიურად, თუ ბავშვი იმყოფება "გაშლილი" საბნის ქვეშ, სადაც შეზღუდულია კონტაქტი საბანსა და ბავშვის გულმკერდს შორის, შეიძლება ძნელი იყოს მოძრაობის გამოვლენა. კარგად ჩაეჭიდე მათ!
თქვენ ასევე გსურთ გაითვალისწინოთ განათების მდგომარეობა თქვენი საწოლის გარშემო. თუ თქვენი საწოლი არის ფანჯრის მახლობლად, შეიძლება მიიღოთ მოძრავი ჩრდილები ან შეცვალოთ სინათლის მნიშვნელობა, რადგან მზე დაბლოკილია ღრუბლებით, ან მოძრაობა ხდება ფანჯრის გარეთ. სადმე თანმიმდევრული განათებით უმჯობესია.
კიდევ რამდენიმე სამუშაოს შესრულებით, ჩვენ ვფიქრობთ, რომ ვინმეს შეეძლო ჩვენი პროგრამული უზრუნველყოფის გაუმჯობესება ისე, რომ კალიბრაცია გაცილებით რბილი პროცესია. მომავალში, შეიძლება დაემატოს დამატებითი ფუნქციები, როგორიცაა push შეტყობინებები.
ნაბიჯი 9: პრობლემების მოგვარება
თქვენ შეიძლება წააწყდეთ რამდენიმე საერთო საკითხს CribSense– ის შექმნისას. მაგალითად, უჭირთ პროგრამის შექმნა/გაშვება, ან აუდიოს მოსმენა. გახსოვდეთ, CribSense არ არის სრულყოფილად საიმედო ბავშვის მონიტორი. ჩვენ მივესალმებით ჩვენს GitHub საცავში შეტანილ წვლილს გაუმჯობესების პროცესში!
აქ არის რამოდენიმე პრობლემის გადაჭრის რჩევა, რომელიც ჩვენ შევიკრიბეთ CribSense– ის შექმნისას.
მაღვიძარა არ უკრავს
- თქვენი დინამიკები მუშაობენ?
- შეგიძლიათ სხვა ბგერების დაკვრა Pi- დან CribSense სიგნალიზაციის გარეთ?
- თუ თქვენი Pi ცდილობს აუდიოს დაკვრას HDMI- ით და არა აუდიო პორტით? შეამოწმეთ Raspberry Pi აუდიო კონფიგურაციის გვერდი, რომ დარწმუნდეთ, რომ თქვენ სწორად შეარჩიეთ გამომავალი.
- არის თუ არა CribSense პროგრამული უზრუნველყოფა მოძრაობის ამოცნობის საშუალება? თუ CribSense გადის ფონზე, შეგიძლიათ შეამოწმოთ ტერმინალში journalctl -f.
- თუ CribSense გრძნობს ბევრ მოძრაობას, შეიძლება დაგჭირდეთ CribSense- ის დაკალიბრება.
IR LED არ მუშაობს
- შეგიძლიათ დაინახოთ სუსტი წითელი ფერი, როდესაც უყურებთ IR LED- ს? სუსტი წითელი ბეჭედი უნდა იყოს ხილული როდესაც LED ჩართულია.
- შეამოწმეთ კავშირების პოლარობა. თუ +5V და GND შეიცვალა, ის არ იმუშავებს.
- შეაერთეთ LED კვების ბლოკთან 5V/0.5A ძაბვის/დენის ლიმიტით. ჩვეულებრივ, მან უნდა მოიხმაროს 0.2A 5V– ზე. თუ არა, თქვენი LED შეიძლება გაუმართავი იყოს.
CribSense ამოიცნობს მოძრაობას მიუხედავად იმისა, რომ ჩვილი არ არის
- სწორად დაკალიბრებული გაქვთ CribSense?
-
გახსოვდეთ, CribSense უბრალოდ ეძებს ცვლილებებს პიქსელის მნიშვნელობებში
- რაიმე ჩრდილები მოძრაობს ჩარჩოში?
- მბჟუტავია თუ იცვლება განათება?
- არის თუ არა CribSense დამონტაჟებული სტაბილურ ზედაპირზე (ანუ ის, რაც არ ირყევა, თუ ხალხი მის გვერდით დადის)?
- არის რაიმე სხვა მოძრაობის წყარო ჩარჩოში (სარკეები, რომლებიც ირეკლავს და ა.შ.)?
CribSense არ არის მოძრაობის გამოვლენა, მიუხედავად იმისა, რომ არსებობს მოძრაობა
- სწორად დაკალიბრებული გაქვთ CribSense?
- არის რამე კამერის გზაზე?
- შეგიძლიათ საერთოდ დაუკავშიროთ კამერას Raspberry Pi– დან? შეამოწმეთ ტერმინალში raspistill -v გაშვებით, რომ გახსნათ კამერა Pi- ზე რამდენიმე წამით.
- თუ გადახედავთ sudo systemctl სტატუსს cribsense, რეალურად მუშაობს CribSense?
- არის თუ არა თქვენი ბავშვი საბნის ქვეშ, რომელიც „ჩაძირულია“ისე, რომ არ დაუკავშირდეს ბავშვს? თუ საბანსა და ბავშვს შორის არის მნიშვნელოვანი ჰაერის ხარვეზები, საბანს შეუძლია შენიღბოს მოძრაობა.
- შეგიძლიათ იხილოთ მოძრაობა, თუ უფრო გააძლიერებთ ვიდეოს?
- შეგიძლიათ ნახოთ მოძრაობა, თუ დაარეგულირებთ დაბალი და მაღალი სიხშირის შეწყვეტას?
- თუ ეს ხდება მხოლოდ დაბალ შუქზე, დარწმუნდით, რომ თქვენი კალიბრაცია მუშაობს დაბალ შუქზე?
CribSense არ აშენებს
დააინსტალირეთ ყველა დამოკიდებულება?
მე არ შემიძლია ცირბენსის გაშვება ბრძანების ხაზიდან
- თქვენ შემთხვევით შეცდით რამეს, როდესაც გაუშვით.
- არის თუ არა cribsense /usr /bin?
- რა გზა არის გათვალისწინებული, თუ თქვენ აწარმოებთ "რომელ საწამებელს"?
გირჩევთ:
ჰელოუინის ბავშვის მაჩვენებელი: 4 ნაბიჯი (სურათებით)
ჰელოუინის ბავშვის მაჩვენებელი: მე და ჩემი მეუღლე ვცდილობდით გაგვერკვია, თუ რისი ტარება შეეძლო მას ჰელოუინისთვის. ეს გონებრივი იერიშის სესია იყო რამდენიმე ღამე, სანამ მას სჭირდებოდა იმის თქმა, რომ ცოტა მეჩქარებოდა. მას გაუჩნდა ეს იდეა აჩვენოს რამდენად შორს იყო იგი
SilverLight: Arduino დაფუძნებული გარემოს მონიტორი სერვერის ოთახებისთვის: 3 ნაბიჯი (სურათებით)
SilverLight: Arduino დაფუძნებული გარემოსდაცვითი მონიტორი სერვერის ოთახებისთვის: ერთხელ მე მომეცა დავალება ეძებო გარემოსდაცვითი ზონდი ჩემი კომპანიის სერვერის ოთახში ტემპერატურის მონიტორინგისთვის. ჩემი პირველი იდეა იყო: რატომ არ გამოვიყენოთ Raspberry PI და DHT სენსორი, მისი დაყენება შესაძლებელია ერთ საათზე ნაკლებ დროში ოპერაციული სისტემის ჩათვლით
არდუინოზე დაფუძნებული კბილის ჯაგრისის მონაცემთა მონიტორი: 4 ნაბიჯი (სურათებით)
არდუინოზე დაფუძნებული კბილის ჯაგრისის მონაცემთა მონიტორი: არდუინოზე დაფუძნებული კბილის ჯაგრისი საშუალებას გაძლევთ აკონტროლოთ შაბლონები 3 ღერძული დაჩქარების მონაცემების გამოყენებით
ESP8266 დაფუძნებული ქსელის საათი და ამინდის მონიტორი: 3 ნაბიჯი (სურათებით)
ESP8266 დაფუძნებული ქსელის საათი და ამინდის მონიტორი: მოკლე და მარტივი შაბათ -კვირის პროექტი ESP8266 და 0.96 "128x64 OLED ჩვენებით. მოწყობილობა არის ქსელის საათი, ანუ იღებს დროს ntp სერვერებიდან. ის ასევე აჩვენებს ამინდის ინფორმაციას openweathermap.org– ის ხატებით საჭირო ნაწილები: 1. ESP8266 მოდული (A
ბავშვის ხმა და მსუბუქი ყვავილი: 6 ნაბიჯი (სურათებით)
ბავშვის ხმოვანი და მსუბუქი ყვავილი: სათამაშო ჩვენი 3 თვის ბავშვისთვის (მე ბაბუა ვარ), რათა მან მიიქციოს ყურადღება იკეას ყვავილში ჩადებული ხმისა და შუქის გამოყენებით. ეს იყო დამონტაჟებული მის აუზზე. იგი იყენებს არდუინოს დეციმილია მიკროკონტროლის დაფას, ბიპოლარულს (წითელი და მწვანე