Სარჩევი:
- ნაბიჯი 1: დააინსტალირეთ Linux Motion ჟოლოზე
- ნაბიჯი 2: დააყენეთ Google Photos API პითონისთვის
- ნაბიჯი 3: ტესტი
- ნაბიჯი 4: სურვილისამებრ: დააკონფიგურირეთ ვებ წვდომა რეალურ დროში ნაკადი კამერაზე
- ნაბიჯი 5: რჩევები
ვიდეო: Raspberry Pi Linux Motion Google Photos ინტეგრაცია: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
იდეა იმაში მდგომარეობს, რომ ატვირთოთ Raspberry Pi– სთან დაკავშირებული მოძრაობით გააქტიურებული კამერით გადაღებული ფოტოები და ვიდეოები ღრუბელში ფაილების ასატვირთად. ‘Motion’ პროგრამული უზრუნველყოფა მხარს უჭერს Google Drive– ში PyDrive– ის საშუალებით ატვირთვას. ამ სტატიაში "მოძრაობა" გამოიყენება Google Photos- ზე ასატვირთად.
აპარატურა:
ჟოლო Pi 3B+
USB ვებკამერა Logitech C920
აპარატურის შერჩევა არ იყო განსაზღვრული, მე უბრალოდ ავიღე ის, რაც ხელთ მქონდა.
წინაპირობები:
მოხერხებულობისთვის Raspberry pi უნდა იყოს თქვენს ადგილობრივ ქსელში - გააკონტროლოთ იგი მონიტორის/კლავიატურის გარეშე და ფაილების ატვირთვა/გადმოტვირთვა. ამისათვის თქვენ უნდა გქონდეთ ssh აგენტი თქვენს კომპიუტერში (მაგ. ჩიხი).
დიდი მადლობა ssandbac– ს შესანიშნავი გაკვეთილისთვის. თუ გჭირდებათ მეტი ინფორმაცია გარემოს დაყენების შესახებ, გადახედეთ ამ სტატიას. მე ვისესხე მოძრაობის ინსტალაცია და მისგან ნაბიჯების კონფიგურაცია და დავამატე ცვლილებები. კერძოდ, ფაილების გაგზავნისა და გაფრთხილების ნაცვლად, ეს მაგალითი იყენებს Google ფოტოების საერთო ალბომის ატვირთვას და შეტყობინებების მისაღებად შეტყობინებების ზოლში.
აქ არის ნაბიჯები:
ნაბიჯი 1: დააინსტალირეთ Linux Motion ჟოლოზე
განსაკუთრებით ამ მაგალითში გამოყენებულია მოძრაობა v4.0.
1.1 განახლება pi
pi@raspberrypi: su $ sudo apt-get განახლება
pi@raspberrypi: su $ sudo apt-get upgrade
1.2 მოძრაობის ჩამოტვირთვა
pi@raspberrypi: su $ sudo apt-get install motion
1.3 ახლა შეცვალეთ ეს ფაილი შემდეგი ცვლილებებით
pi@raspberrypi: su $ sudo nano /etc/motion/motion.conf
# დაიწყეთ დემონის (ფონის) რეჟიმში და გაათავისუფლეთ ტერმინალი (ნაგულისხმევი: გამორთული)
დემონი ჩართულია
# გამოიყენეთ ფაილი ჟურნალების შეტყობინებების შესანახად, თუ არ არის განსაზღვრული stderr და syslog გამოიყენება. (ნაგულისხმევი: არ არის განსაზღვრული)
logfile /var/log/motion/motion.log
# სურათის სიგანე (პიქსელი). მოქმედი დიაპაზონი: კამერაზეა დამოკიდებული, ნაგულისხმევი: 352
სიგანე 1920
# სურათის სიმაღლე (პიქსელი). მოქმედი დიაპაზონი: კამერაზეა დამოკიდებული, ნაგულისხმევი: 288
სიმაღლე 1080
# კადრების მაქსიმალური რაოდენობა წამში.
ჩარჩოს სიჩქარე 30
# განსაზღვრავს წინასწარ გადაღებული (ბუფერული) სურათების რაოდენობას მოძრაობის წინ
წინამორბედი 5
# კადრების რაოდენობა მოძრაობის შემდეგ გადასაღებად აღარ არის გამოვლენილი
პოსტი_დაპყრობა 5
# გამოუშვით "ნორმალური" სურათები მოძრაობის გამოვლენისას (ნაგულისხმევი: ჩართული)
გამომავალი_ სურათები გამორთულია
# ხარისხი (პროცენტებში), რომელიც გამოიყენება jpeg შეკუმშვისთვის
ხარისხი 100
# გამოიყენეთ ffmpeg ფილმების დასაშიფრებლად რეალურ დროში
ffmpeg_output_movies გამორთულია
# ან დიაპაზონი 1 - 100, სადაც 1 ნიშნავს უარეს ხარისხს და 100 საუკეთესო.
ffmpeg_variable_bitrate 100
# ვიდეოების შექმნისას ჩარჩოები დუბლირებული უნდა იყოს თანმიმდევრობით
ffmpeg_duplicate_frames ყალბი
# Bool extpipe ჩართვის ან გამორთვისთვის (ნაგულისხმევი: გამორთული)
use_extpipe ჩართულია
extpipe ffmpeg -y -f rawvideo -pix_fmt yuv420p -video_size %wx %h -framerate %fps -i მილები: 0 -vcodec libx264 -გადატვირთვა ულტრა სწრაფი -f mp4 %f.mp4
target_dir/var/lib/motion
# ბრძანება შესრულდეს ფილმის ფაილის დროს
; on_movie_end sudo python3 /var/lib/motion/photos.py %f.mp4 &
დატოვე ბოლო მძიმით ახლა (კომენტარი) უკომენტაროდ მას შემდეგ რაც დარწმუნდები რომ ვიდეოჩანაწერი და ატვირთვა მუშაობს.
1.4 შემდეგ შეცვალეთ
pi@raspberrypi: su $ sudo nano/etc/default/motion
pi@raspberrypi: ~ $ start_motion_daemon = დიახ
ნაბიჯი 2: დააყენეთ Google Photos API პითონისთვის
2.1 მიზანშეწონილია შექმნათ ახალი ანგარიში ამ მიზნით, რომ გააზიაროთ ალბომი თქვენს მთავართან, რომ მიიღოთ შეტყობინებები ახალი ფაილების დამატებისას, დამატებით მეტი საცავი. ჩართეთ Google Photos API იმ ანგარიშისთვის, რომლის ასატვირთად აპირებთ გამოყენებას.
ამის შემდეგ თქვენ უნდა გქონდეთ credentials.json ფაილი.
2.2 პითონის გარემოს დაყენება
ძირითადად გარემოს დაყენება საჭიროა მხოლოდ ჟოლოზე. მაგრამ ეს მოითხოვს ავტორიზაციას, რაც უფრო მოსახერხებელია კომპიუტერზე. ჟოლოზე ამის გასაკეთებლად თქვენ უნდა დააკავშიროთ მონიტორი/კლავიატურა მას ან დააინსტალიროთ დისტანციური დესკტოპის ინტერფეისი. მე მხოლოდ იგივე გარემო დავაყენე ჟოლოზე და კომპიუტერზე ორივეზე. ნაბიჯები 2.2.1..2.2.3 გაკეთდა კომპიუტერზე, 2.2.1, 2.2.2, 2.2.5, 2.2.6 Rpi– ზე
2.2.1 დააინსტალირეთ პითონი 3
2.2.2 დააინსტალირეთ google api პაკეტები სახელმძღვანელოს მიხედვით*(იხ. 5.1)
კომპიუტერზე
pip3 install-განაახლეთ google-api-python-client google-auth-httplib2 google-auth-oauthlib
ჟოლოზე
pi@raspberrypi: su $ sudo pip3 install-upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
2.2.3 შეამოწმეთ სკრიპტის ატვირთვა Google ფოტოებში.. ის მოთავსებულია ჩემს github– ზე. ჩაწერეთ იგი იმავე დირექტორიაში რწმუნებათა სიგელებით. Json.
2.2.4 გადაიღეთ სურათი და გამოცადეთ ატვირთვა
python3 photos.py image.jpg
დააინსტალირეთ დაკარგული დამოკიდებულებები, თუ არსებობს და სცადეთ ხელახლა. შედეგად თქვენ უნდა მიიღოთ token.pickle სკრიპტის დირექტორიაში და ასევე ახალი გაზიარებული ალბომი, რომელიც შეიქმნა თქვენს Google Photos ვებ ინტერფეისში image.jpg. როდესაც მიიღებთ token.pickle თქვენ აღარ გჭირდებათ credentials.json for photos.py იმავე დირექტორიაში.
2.2.5 გაუზიარეთ ალბომი ანგარიშს, თუ რა გსურთ მიიღოთ შეტყობინებები ახალ მედიაში. დაამატეთ ეს ანგარიში თქვენს ტელეფონში.
2.2.6 განათავსეთ photos.py და token.pickle in/var/lib/motion ჟოლოზე. "პი" მომხმარებელს არ შეუძლია ჩაწეროს "მოძრაობის რეჟიმზე", ასე რომ ატვირთეთ ჯერ /სახლში /პიზე
scp photos.py token.pickle pi@IP:/home/pi
შემდეგ შედით ჟოლოში და გადაიტანეთ ფაილები sudo– ს ქვეშ
ssh pi@IP
pi@raspberrypi: su $ sudo mv photos.py token.pickle/var/lib/motion
2.2.7 შეამოწმეთ როგორ მუშაობს ჟოლოზე ატვირთვა. გადაიღეთ სურათი fswebcam– ით და სცადეთ ატვირთვა
pi@raspberrypi: su $ sudo fswebcam /var/lib/motion/image.jpg
pi@raspberrypi: su $ sudo python3 /var/lib/motion/photos.py /var/lib/motion/image.jpg
შეიძლება იყოს image-j.webp
ნაბიჯი 3: ტესტი
3.1 დაიწყეთ მოძრაობის სერვისი
pi@raspberrypi: su $ sudo სერვისის მოძრაობის დაწყება
თქვენ შეგიძლიათ შეცვალოთ ბრძანება "გაჩერება" ან "გადატვირთვა"
3.2 მოძრაობის ჟურნალების ჩართვა
pi@raspberrypi: ~ $ tail -f /var/log/motion/motion.log
3.2 იხილეთ კამერის გამომავალი სხვა მოწყობილობაზე, რომელიც დაკავშირებულია იმავე ადგილობრივ ქსელთან. შეიყვანეთ ბრაუზერში:
IP: 8081
3.3 ჟურნალების დათვალიერება დაელოდეთ სანამ მოძრაობა გამოვლინდება და ფაილი NAME.mp4 დაიწერება/var/lib/motion. შემდეგ დაიწყეთ სკრიპტის ატვირთვა ხელით
pi@raspberrypi: su $ sudo python3 /var/lib/motion/photos.py /var/lib/motion/NAME.mp4
შეამოწმეთ პითონის კვალი. დაელოდეთ სანამ event_end გამოჩნდება მოძრაობაში. Log. შემდეგ გადადით "helloworld" ალბომში თქვენს Google ფოტოებში და შეამოწმეთ არის თუ არა ვიდეო ატვირთული.
3.4 თუ ატვირთვა წარმატებულია, გამოაქვეყნეთ კომენტარი /და ა.შ.
pi@raspberrypi: su $ sudo nano /etc/motion.conf
# ბრძანება უნდა შესრულდეს, როდესაც ფილმის ფაილი მზად არის
on_movie_end sudo python3 /var/lib/motion/photos.py %f.mp4 &
pi@raspberrypi: ~ $ სინქრონიზაცია
pi@raspberrypi: su $ sudo სერვისის მოძრაობის გადატვირთვა
3.5 მოძრაობის ჟურნალების დათვალიერება და ალბომის შემოწმება, ვიდეო ავტომატურად ატვირთულია თუ არა.
3.6 სურვილისამებრ გაუზიარეთ ალბომი თქვენს მთავარ ანგარიშს, რომ მიიღოთ შეტყობინება ახალი ვიდეოს ან ფოტოს დამატებისას.
ნაბიჯი 4: სურვილისამებრ: დააკონფიგურირეთ ვებ წვდომა რეალურ დროში ნაკადი კამერაზე
ეს ნაბიჯი ემყარება მიშელ პარენოს გაკვეთილს. მე უბრალოდ ავირჩიე FreeDNS ნაცვლად NoIP, როგორც აქ არის რეკომენდებული.
4.1 ვიდეო ნაკადის მოძრაობის სერვერზე უფლებამოსილი წვდომის კონფიგურაცია:
pi@raspberrypi: su $ sudo nano /etc/motion/motion.conf
# დააყენეთ ავტორიზაციის მეთოდი (ნაგულისხმევი: 0)
# 0 = გამორთულია
# 1 = ძირითადი ავტორიზაცია
# 2 = MD5 დაიჯესტი (უსაფრთხო ავტორიზაცია)
ნაკადი_ავტოს_ მეთოდი 2
# ავთენტიფიკაცია ნაკადისათვის. სინტაქსის მომხმარებლის სახელი: პაროლი
# ნაგულისხმევი: არ არის განსაზღვრული (გამორთულია)
webcontrol_authentication მომხმარებლის სახელი: პაროლი
# კადრების მაქსიმალური სიჩქარე ნაკადის ნაკადებისთვის (ნაგულისხმევი: 1)
ნაკადის_მაქსრატი 30
# შეზღუდეთ ნაკადის კავშირები მხოლოდ ლოკალური ჰოსტისთვის (ნაგულისხმევი: ჩართული)
stream_localhost გამორთულია
თუ თქვენ არ აპირებთ გამოიყენოთ გარე კონტროლის ვებ კონტროლის ინტერფეისი, დატოვეთ ის გამორთული (როგორც ნაგულისხმევი)
# შეზღუდეთ კონტროლის კავშირები მხოლოდ ლოკალური ჰოსტისთვის (ნაგულისხმევი: ჩართული)
webcontrol_localhost ჩართულია
ასევე, რადგან ჟოლო გადის ინტერნეტში, მე გირჩევთ შეცვალოთ ჟოლოს ნაგულისხმევი პაროლი
pi@raspberrypi: ~ $ passwd
მიუხედავად იმისა, რომ ssh პორტი 22 არ არის გადანაწილებული ჟოლოზე, მაინც.
4.2 გადადით FreeDNS საიტზე
4.3 დარეგისტრირდით
4.4 ქვედომენის დამატება (წევრებისთვის -> ქვედომენები)
4.5 შეარჩიეთ DNS კლიენტი ჟოლოზე დასაყენებლად (წევრებისთვის -> დინამიური DNS -> დინამიური DNS რესურსები -> დინამიური DNS კლიენტები)
მე ავირჩიე wget_script update.sh ადამ დინისგან (გვერდის ბოლოში)
არსებობს ადგილის დამცავები _YOURAPIKEYHERE_ და _YOURDOMAINHERE_. მათი მისაღებად გადადით (წევრებისთვის -> დინამიური DNS)
და ქვემოთ მოცემულ გვერდზე თქვენ ნახავთ სკრიპტების მაგალითებს თქვენი APIKEY და DOMAIN (ის, რაც დამატებულია 4.4 -ში). მე ავიღე ეს მნიშვნელობები Wget Script– დან და ჩავანაცვლე _YOURAPIKEYHERE_ და _YOURDOMAINHERE_ განახლებაში.შ
4.6 შემდეგ გაუშვით update.sh ჟოლოზე. შეიძლება მოითხოვოს dnsutils nslookup– ისთვის. დააინსტალირეთ მაშინ:
pi@raspberrypi: su $ sudo apt-get dnsutils
4.7 შემდეგ დააკონფიგურირეთ თქვენი როუტერი, რომ გადახედოს გარე სამყაროს მოთხოვნებს 8081 პორტში ჟოლოს IP– ზე
4.8 დაჯავშნეთ IP თქვენი ჟოლოს MAC– ისთვის DHCP პარამეტრებში, ასე რომ Rpi– ს ყოველთვის ექნება იგივე ip
4.9 შემდეგ შეიყვანეთ ბრაუზერი მოწყობილობაზე, რომელიც არ არის დაკავშირებული ადგილობრივ ქსელთან:
თქვენი დომენი: 8081
შეიყვანეთ თქვენი რწმუნებათა სიგელები, რომლებიც თქვენ განსაზღვრეთ მოძრაობაში. Conf.
შეამოწმეთ როგორ მუშაობს ვიდეო.
4.10 DDNS განახლების მიზნით, ავტომატურად დააყენეთ cron ამოცანა. იხილეთ Quick_cron_example (წევრებისთვის -> დინამიური DNS)
ნაბიჯი 5: რჩევები
5.1 ფრთხილად დააინსტალირეთ პითონის პაკეტები ჟოლოზე. ერთი დღე გავატარე ამის გამოსწორებაზე - საკითხი იმაში მდგომარეობდა, რომ კონსოლიდან სცენარი კარგად გამოდიოდა, მაგრამ მოძრაობის ღონისძიებიდან დარეკვა არ იყო. რაც უარესს ხდიდა იყო ის, რომ სცენარის კვალი ამ უკანასკნელ შემთხვევაში მიუწვდომელი იყო.
მიზეზი ის იყო, რომ სახელმძღვანელოს შემდეგ დავაყენე პაკეტები "pi" მომხმარებლისთვის (რომელიც სტანდარტულად არის /home /pi დირექტორიაში და შეზღუდულია სხვა მომხმარებლებისთვის), მაგრამ სკრიპტის გასაშვებად, როგორც "მოძრაობის" სერვისის ბავშვი, პაკეტები უნდა იყოს ხელმისაწვდომია "მოძრაობის" მომხმარებლისთვისაც. ასე რომ, საბოლოოდ მე დავაფიქსირე პაკეტების დაყენება როგორც
sudo pip3…
ეს ჯერ კიდევ არ არის სწორი გზა. Sudo– ს გარეშე დაყენება pip3– სისტემა რატომღაც მაძლევდა შეცდომებს.
შესაბამისად, დამწერლობას ასევე უწოდებენ sudo (იხ. მოძრაობა. კონფიგურაცია).
ამ პრობლემების გადასაჭრელად მე გავაკეთე ბევრი არასაჭირო ცვლილება და არ ვარ დარწმუნებული რა არის საჭირო და ახლა ძალიან ზარმაცი ვარ, რომ თანდათანობით დავაბრუნო ისინი და ვნახო როდის შეწყვეტს მუშაობას. კერძოდ, მოძრაობის ადმინისტრატორის უფლებები:
pi@raspberrypi: ~ $ ჯგუფების მოძრაობა
მოძრაობა: მოძრაობა adm sudo აუდიო ვიდეო მომხმარებლები netdev pi
pi@raspberrypi: su $ sudo cat /etc/sudoers.d/010_pi-nopasswd
pi ALL = (ALL) NOPASSWD: ALL
მოძრაობა ALL = (ALL) NOPASSWD: ALL
ასევე იცვლებოდა ფაილების მფლობელები და Google Drive– ზე ატვირთვის მსგავსი ნებართვები. ალბათ ის დაგეხმარებათ იმ შემთხვევაში, თუ თქვენ გაქვთ მსგავსი პრობლემა.
5.2 Google Photos API საშუალებას გაძლევთ დაამატოთ ფაილები გაზიარებულ ალბომებში მხოლოდ ისე, რომ ბმულით ნებისმიერს შეეძლოს მასზე წვდომა. არ გააზიაროთ ის ბმულით და წაშალოთ ძველი ფილმები ან გადაიტანოთ ისინი ნაგავში ან ალბომიდან. ამ უკანასკნელ შემთხვევაში ისინი ანგარიშზე რჩებიან.
5.3 Google ფოტოების ასისტენტი ამოიცნობს სახეებს, რაც საკმაოდ სასარგებლოა, თუ კამერის ხარისხი კარგია. როგორც ბონუსი, ის ქმნის მედია სახის შედგენებსა და გიფებს და ა.
5.4 მე შევეცადე გამოვიყენო 4G LTE USB მოდემი ინტერნეტისთვის და აქ არის ჩემი შედეგები. 5.4.1 Huawei E3372h-153 მუშაობს ჟოლოს უპრობლემოდ და დამატებითი პროგრამული უზრუნველყოფა 5.4.2 ასევე ჩართულია ცხელ წერტილში, ასე რომ რასპერრიმ ინტერნეტი გაზიარა wifi– ს საშუალებით. არსებობს https://howtoraspberrypi.com/create-a-wi-fi-hotspot-in-less-than-10-minutes-with-pi-raspberry/ მართლაც მარტივი სახელმძღვანელო, თუ როგორ უნდა გავაკეთოთ ეს RaspAP– ის გამოყენებით. 5.4.3 დინამიური DNS არ მუშაობდა ჩემი კარის 4G ქსელში. არის ახსნა რატომ
5.5 ამ სისტემის გამოყენების შემდეგ რამდენიმე კვირა აღმოჩნდა, თუმცა ვიდეოები უფრო მოსახერხებელია სანახავად და ასატვირთად, Google Photos უკეთ მუშაობს სურათებთან. მაგალითად, ეს საშუალებას აძლევს საგნებს/სახეებს დააჯგუფოს სურათების გაანალიზება და მხოლოდ ამის შემდეგ მოძებნოს სახეები/საგნები სურათებიდან ვიდეოებში, მაგრამ არა პირიქით. ასე რომ, მე ვაპირებ გამოვცადო სურათების ატვირთვა საკმაოდ ვიდეო.
გირჩევთ:
წვრილმანი გარაჟის კარის გამხსნელი + სახლის დამხმარე ინტეგრაცია: 5 ნაბიჯი
წვრილმანი გარაჟის კარის გამხსნელი + სახლის დამხმარე ინტეგრაცია: გახადეთ თქვენი ნორმალური ავტოფარეხის კარი ჭკვიანური ამ წვრილმანი პროექტის გამოყენებით. მე გაჩვენებთ, თუ როგორ უნდა ავაშენოთ და გავაკონტროლოთ ის სახლის ასისტენტის გამოყენებით (MQTT– ით) და გექნებათ შესაძლებლობა ავტომატურად გააღოთ და დახუროთ თქვენი ავტოფარეხის კარი. მე ვიყენებ ESP8266 დაფას სახელწოდებით Wemos
DIY Smart Doorbell: კოდი, დაყენება და HA ინტეგრაცია: 7 ნაბიჯი (სურათებით)
წვრილმანი კარის ზარი: კოდი, დაყენება და HA ინტეგრაცია: ამ პროექტში მე გაჩვენებთ, თუ როგორ შეგიძლიათ თქვენი ჩვეულებრივი ზარი ჭკვიანურად აქციოთ ნებისმიერი მოქმედი ფუნქციის შეცვლის გარეშე ან მავთულის გაწყვეტის გარეშე. მე ვიყენებ ESP8266 დაფას სახელწოდებით Wemos D1 mini. ახალი ESP8266- ში? ნახეთ ჩემი შესავალი
მთავარი ასისტენტი გეიგერის მთვლელი ინტეგრაცია: 8 ნაბიჯი
მთავარი ასისტენტი გეიგერის მრიცხველის ინტეგრაცია: ამ გაკვეთილში მე ვაჩვენებ, თუ როგორ უნდა დაამატოთ პერსონალური სენსორები HASS- ში (სახლის ასისტენტი) უფრო კონკრეტულად გეიგერის მრიცხველი, მაგრამ პროცესი მსგავსია სხვა სენსორებისთვისაც. ჩვენ გამოვიყენებთ NodeMCU დაფას, არდუინოზე დაფუძნებულ გეიგერს
3D ნაბეჭდი მხრის ჯავშანი EL მავთულის ინტეგრაცია: 5 ნაბიჯი
3D დაბეჭდილი მხრის ჯავშანი EL მავთულის ინტეგრაცია: მე 3D დაბეჭდილმა მხრის ჯავშანტექნიკამ და მასში ჩამონტაჟებული EL მავთული. თქვენ შეგიძლიათ გამოიყენოთ ეს ტექნიკა პერსონაჟებისთვის კომიქსების კოსტიუმების შესაქმნელად
Wifi კონტროლირებადი 12v Led Strip Raspberry Pi გამოყენებით Tasker, Ifttt ინტეგრაცია .: 15 ნაბიჯი (სურათებით)
Wifi კონტროლირებადი 12v Led Strip Raspberry Pi Tasker, Ifttt Integration .: ამ პროექტში მე გაჩვენებთ თუ როგორ უნდა აკონტროლოთ მარტივი 12v ანალოგური led ზოლები wifi– ზე ჟოლოს pi– ს გამოყენებით. ამ პროექტისთვის დაგჭირდებათ: 1x Raspberry Pi (I მე ვიყენებ Raspberry Pi 1 მოდელს B+) 1x RGB 12v Le