Სარჩევი:
- მარაგები
- ნაბიჯი 1: დააინსტალირეთ Rasbian
- ნაბიჯი 2: აიღეთ კოდი და შექმენით იგი
- ნაბიჯი 3: Arduino ურთიერთობა
- ნაბიჯი 4: გაყვანილობის შეცვლა-ის
- ნაბიჯი 5: კოდის გაშვება
- ნაბიჯი 6: (სურვილისამებრ) საცხოვრებელი
ვიდეო: გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
მე ნამდვილად მომწონს ავტომატიზაცია, უნარი გავაკონტროლო, როდესაც რაღაც უნდა მოხდეს. სწორედ ამან მიბიძგა ამ იდეაში: თვითნაკეთი, ავტომატური განყოფილება. ის შეიძლება გამოყენებულ იქნას დაგეგმვისას, როდესაც საჭიროა შუქების ჩართვა, როდესაც ტელეფონები უნდა იყოს დამუხტული ან როდესაც ეკრანის ჩართვაა საჭირო. ამ ყველაფრის გარდა, თქვენ გაქვთ უნარი დაინახოთ რამდენი დენი გადის გამოსასვლელში.
ამ პროექტისთვის საჭირო კომპონენტებია:
მარაგები
სანამ ჩვენ დავიწყებთ, ეს არის ის, რაც თქვენ აუცილებლად დაგჭირდებათ Switch-IT ყუთის შესაქმნელად, როგორიც არის ჩემი. ეს მარაგები ეღირება დაახლოებით 50 -დან 100 ევრომდე, თქვენი რეგიონისა და მიმდინარე ფასების მიხედვით.
ტექნიკა
ელექტრონიკა
- ჟოლო პი 4
- 16 გბ (ან მეტი) მიკრო SD ბარათი
- არდუინო უნო
- 5V-3.3V დონის გადამრთველი
- 5V სარელეო მოდული
- ACS712 20A - მიმდინარე მოდული
- 1838 IR-მიმღები 37.9 kHz მოდული
- IR დისტანციური (მე ვიყენებ Elegoo– ს)
- საერთო RGB კათოდი
- 3 * 330Ω რეზისტორები
- დააჭირეთ ღილაკს
- RFID-RC522
- LCD 1602A-1
- ნიკოს კედლის ბუდე
- 10K Ω ჭურჭელი
- 230 -დან 5V - 7A კვების ბლოკი
კაბელები
- USB-B to USB-A კაბელი
- USB-C დენის კაბელი
- Ethernet კაბელი
მრავალფეროვანი
- მამაკაცი ქალი მხტუნავები
- მამაკაცი მამრობითი ჯუმბერი
- Solder კალის
- შემცირება მილის
ქეისი სპეციფიკური ნაწილები (სურვილისამებრ)
- 50 * თხილი და თამამი
- ლითონის ყუთი 40x40x5 სმ სახურავით
- ორმხრივი ლენტი
- მანძილი 6 * 1 სმ
- ხელმძღვანელ-მფლობელი
- Velcro ფირზე
- საკაბელო გიდები
პროგრამული უზრუნველყოფა
- balenaEtcher:
- PuTTy
- რასბიანი
- ვიზუალური სტუდიის კოდი
- Arduino IDE
ნაბიჯი 1: დააინსტალირეთ Rasbian
უპირველეს ყოვლისა, ჩვენ დავაყენებთ Rasbian– ს SD ბარათზე. ჩვენ ამას გავაკეთებთ balenaEtcher– ის გამოყენებით.
- გახსენით balenaEtcher
- აირჩიეთ რასბანის სურათი
- შეარჩიეთ თქვენი SD ბარათი
- დააჭირეთ Flash დაელოდეთ რამდენიმე წუთს, სანამ ის აანთებს
ჩატვირთვის დირექტორიაში APIPA- ს დამატება: ჩვენ ვიყენებთ APIPA მისამართს პროგრამის და კონფიგურაციისათვის RPI- ზე. Გააკეთო ეს:
- უერთდება ჩატვირთვის დირექტორია SD ბარათზე
- გახსენით "cmdline.txt"
- დაამატეთ "169.254.10.1" დოკუმენტის ბოლოს და შეინახეთ
- დაამატეთ ფაილი სახელწოდებით "ssh" ჩატვირთვის დირექტორიაში (არ მისცეთ ამ ფაილს გაფართოება)
- ამის დასრულების შემდეგ შეგიძლიათ ამოიღოთ SD ბარათი თქვენი კომპიუტერიდან.
უერთდება RPI– ს PuTTy– ს გამოყენებით
ახლა ჩვენ შეგვიძლია ჩავრთოთ SD ბარათი ჩვენს RPI– ში, დავუკავშიროთ RPI თქვენს კომპიუტერს Ethernet კაბელის გამოყენებით.
RPI– თან დასაკავშირებლად ჩვენ გამოვიყენებთ PuTTy– ს ჩვენი APIPA– მისამართით.
- გახსენით PuTTy
- შეავსეთ ჩვენი APIPA მისამართი, როგორც მასპინძლის სახელი (169.254.10.1)
- დარწმუნდით, რომ პორტი არის 22 და SSH არჩეულია
- ახლა თქვენ შეგიძლიათ გახსნათ კავშირი
- ნაგულისხმევი მომხმარებლის სახელი არის: pi
- ნაგულისხმევი პაროლით: ჟოლო
raspi-config პარამეტრები
გახსენით raspi-config გამოყენებით:
sudo raspi-config
- შეცვალეთ მომხმარებლის პაროლი
- ლოკალიზაციის პარამეტრებში აირჩიეთ თქვენი დროის ზონა
- დააინსტალირეთ WiFi ქსელის პარამეტრების გამოყენებით, შემდეგ Wi-Fi ვარიანტი, სადაც უნდა შეავსოთ თქვენი SSID და პაროლი.
დააინსტალირეთ პითონი 3
ამ პროექტში ჩვენ ვიყენებთ პითონს, ამიტომ ჩვენ დავაყენებთ ნაგულისხმევად Python3 insteat of Python2, შემდეგი ბრძანებების გამოყენებით
განახლება-ალტერნატივები-დააინსტალირეთ/usr/bin/python python /usr/bin/python2.7 1
განახლება-ალტერნატივები-დააინსტალირეთ/usr/bin/python python/usr/bin/python3 2
პითონის პაკეტები
ჩვენ დაგვჭირდება რამდენიმე პაკეტი, რომ ყველაფერი სწორად იმუშაოს, ძირითადად Flask პაკეტები და ერთი ჩვენს მონაცემთა ბაზასთან დასაკავშირებლად. ჩვენ შეგვიძლია დავაყენოთ ეს პაკეტები შემდეგი ბრძანებების გამოყენებით:
pip დააინსტალირეთ Flask
pip დააინსტალირეთ Flask_cors pip დააინსტალირეთ Flask_socketio pip დააინსტალირეთ Python-mysql-connecton
Მონაცემთა ბაზა
შემდეგი ჩვენ ვაპირებთ დავაყენოთ ჩვენი მონაცემთა ბაზის მართვის სისტემა (MariaDB) ჩვენ ამას გავაკეთებთ გამოყენებით:
sudo apt დააინსტალირეთ mariadb-server
გასაგრძელებლად ჩაწერეთ "Y" და შეიყვანეთ. რამდენიმე წამის შემდეგ, ინსტალაციის პროცესი დასრულებულია და MariaDB თითქმის მზადაა გამოსაყენებლად.
მონაცემთა ბაზის პაროლის დასაყენებლად გამოიყენეთ ბრძანება:
sudo mysql_secure_installation
შემდეგ დააჭირეთ Enter, რადგან მიმდინარე პაროლი ცარიელია. შემდეგ დააჭირეთ ღილაკს "Y" პაროლის დასადგენად, ახლა თქვენ შეგიძლიათ შეავსოთ თქვენთვის სასურველი პაროლი, დაიმახსოვრეთ ის, რადგან ჩვენ გვჭირდება ის, რომ გავაკეთოთ სწორი კავშირი უკანა და წინა ნაწილებს შორის.
ახლა, დააჭირეთ "Y" 3 ჯერ: ამოიღონ ანონიმური მომხმარებლები, არ დაუშვან root შესვლა დისტანციურად და ამოიღონ საცდელი მონაცემთა ბაზა. დაბოლოს, კვლავ დააჭირეთ ღილაკს "Y" პრივილეგიების გადატვირთვისთვის.
ახლა MariaDB და ყველა საჭირო პაკეტი წარმატებით არის დაინსტალირებული.
ნაბიჯი 2: აიღეთ კოდი და შექმენით იგი
ახლა, როდესაც ჩვენ გვაქვს ყველა პაკეტი დაინსტალირებული, შეგვიძლია ავიღოთ კოდი.
კოდი ხელმისაწვდომია Github– ზე, ასე რომ თქვენ შეგიძლიათ მისი კლონირება:
git კლონი
ეს არის ფრონტონტი
git კლონი
ეს არის უკანა მხარე
თავად მონაცემთა ბაზის დაყენება
მონაცემთა ბაზის ინსტალაციისთვის გადადით.sql ფაილში, რომელიც არის უკანა საქაღალდეში შემდეგი ბრძანებების გამოყენებით (დარწმუნდით, რომ დააყენეთ იგი თქვენს გზაზე.
mysql
შექმენით მონაცემთა ბაზა შეცვალეთ დატოვეთ mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql
Apache– ის ინსტალაცია
ახლა, როდესაც ჩვენ გვაქვს ყველა კოდი და მონაცემთა ბაზის კონფიგურაცია, ჩვენ შეგვიძლია დავაინსტალიროთ Apache და გავუშვათ ჩვენი backend მასზე. ჩვენ ამას გავაკეთებთ გამოყენებით:
apt -get დააინსტალირეთ apache2 -y
შემდეგ შეცვალეთ ფაილები/var/ww/html ფაილებით, საქაღალდეში frontend საქაღალდედან.
თუ ყველაფერი კარგად წარიმართა, თქვენ უნდა შეგეძლოთ თქვენი ვებ – გვერდის დაკავშირება APIPA მისამართის გამოყენებით: 169.254.10.1 თქვენს ბრაუზერში.
ნაბიჯი 3: Arduino ურთიერთობა
ჩვენი მიმდინარე სენსორისა და RFID სენსორის წასაკითხად, ჩვენ ვიყენებთ arduino– ს, ამისათვის გამოიყენეთ arduino კოდი, რომელიც მოცემულია ქვემოთ. ატვირთეთ იგი USB-A USB-B კაბელის და arduino IDE პროგრამული უზრუნველყოფის გამოყენებით. ატვირთვისას, არდუინოს ნაწილი სრულდება.
ახლა ჩვენ უნდა ვიპოვოთ სერიული მოწყობილობის სახელი PI– ზე. ამისათვის დარწმუნდით, რომ /boot/config.txt "enable_uart = 1" არის მითითებული მარჯვნივ. ასევე დარწმუნდით, რომ "console = serial0, 115200" ამოღებულია cmdline.txt– დან.
შემდეგ შეამოწმეთ პორტები გამოყენებით
ls -l /dev
შემდეგ ერთ -ერთი სერიული სახელი უნდა იყოს Arduino. შეავსეთ ეს სახელი arduinocom ფუნქციაში app.py
ser = სერიული. სერიული ('/dev/ttyS0', 9600)
გააკეთეთ ეს მხოლოდ იმ შემთხვევაში, თუ სერიული კომუნიკაცია არ მუშაობს.
ნაბიჯი 4: გაყვანილობის შეცვლა-ის
ყველაფრის გაყვანილობა საკმაოდ მარტივია, თუმცა უნდა გახსოვდეთ შემდეგი:
- ფრთხილად იყავით კედლის განყოფილებაში, 230 ვოლტი შეიძლება სასიკვდილო იყოს.
- დარწმუნდით, რომ გამოიყენეთ დონის გადამყვანი RPI- სა და Arduino– ს შორის კომუნიკაციისთვის.
- RGB– ს შედუღებამდე დარწმუნდით, რომ იყენებთ წითელ და მწვანე პინს. გამოცადეთ ეს წინასწარ!
- შეამოწმეთ თუ არაფერია მოკლედ შერთვის ადრე ჩართვის ჩართვა.
ნაბიჯი 5: კოდის გაშვება
ახლა ყველაფერი სწორად არის დაკავშირებული, ჩვენ შეგვიძლია გავუშვათ ჩვენი პროგრამა.
გაშვებისას ავტომატურად გასაშვებად შექმენით ფაილი:
sudo nano myscript.service
შემდეგ ჩასვით (დარწმუნდით, რომ გამოიყენოთ თქვენი საკუთარი app.py დირექტორია:
[ერთეული] აღწერა = გადართვა შემდეგ = network.target [სერვისი] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // შეცვლა app.py დირექტორიაში // StandardOutput = მემკვიდრეობით StandardError = მემკვიდრეობით გადატვირთვა = ყოველთვის მომხმარებელი = pi [Install] WantedBy = multi-user.target
შემდეგ დააჭირეთ "ctrl + X" და დააკოპირეთ იგი/etc/systemd/system.
შემდეგ შემდეგი ბრძანება ავტომატურად გაუშვით:
sudo systemctl ჩართვა myscript.service
ამის შესახებ მეტი ინფორმაციის მიღება შეგიძლიათ RaspBerry Pi საიტზე.
გადატვირთეთ და დასრულდა
ახლა გადატვირთეთ თქვენი PI გამოყენებით:
sudo გადატვირთვა -ახლა
ასე აკეთებთ Switch-it- ს!
მადლობა გვერდში დგომისთვის, ვიმედოვნებ, რომ ეს სასარგებლო იყო. თუ თქვენ გაქვთ რაიმე რჩევა ან გამოხმაურება, ნუ დააყოვნებთ კომენტარის დატოვებას.
ნაბიჯი 6: (სურვილისამებრ) საცხოვრებელი
თქვენ შეგიძლიათ ააშენოთ საცხოვრებელი მთლიანად თქვენი შეხედულებისამებრ. მე გამოვიყენე ლითონის ქეისი, რომელიც არის 40x40x5 სმ სახურავით. ვინაიდან მე ლითონი გამოვიყენე, მე უნდა გამეკეთებინა ხვრელები და გამომეყენებინა შუასადებები, რომ ყველაფერი ამოეღო მიწის ფირფიტადან. მე ავირჩიე გამოვიყენო ცენტრალური წერტილი, სადაც არის 5V, 3.3V და gnd. ყველა ელექტრული კავშირი იკვებება მის გასწვრივ შემცირებული მილის ნაჭერით. საკაბელო მენეჯმენტის გასაკეთებლად მე გამოვიყენე ბალიშები გადამზიდავი სამაგრებით.
გირჩევთ:
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): 5 ნაბიჯი
როგორ გამოვიყენოთ რეალურ დროში საათის მოდული (DS3231): DS3231 არის იაფი, უკიდურესად ზუსტი I2C რეალურ დროში (RTC) ინტეგრირებული ტემპერატურის კომპენსირებული ბროლის ოსცილატორით (TCXO) და ბროლით. მოწყობილობა აერთიანებს ბატარეის შეყვანას და ინარჩუნებს ზუსტ დროს, როდესაც ძირითადი ენერგია
რეალურ დროში Rubik's Cube Blindfolded Solver Raspberry Pi და OpenCV გამოყენებით: 4 ნაბიჯი
რეალურ დროში რუბიკის კუბი თვალდახუჭული ამომხსნელი ჟოლოს Pi და OpenCV გამოყენებით: ეს არის რუბიკის კუბის ინსტრუმენტის მე -2 ვერსია, რომელიც შექმნილია თვალდახუჭულებში. პირველი ვერსია შემუშავებულია javascript– ით, თქვენ შეგიძლიათ ნახოთ პროექტი RubiksCubeBlindfolded1 წინაგან განსხვავებით, ეს ვერსია იყენებს OpenCV ბიბლიოთეკას ფერების და
ჭაბურღილის რეალურ დროში წყლის დონის მრიცხველი: 6 ნაბიჯი (სურათებით)
ჭაბურღილების რეალურ დროში წყლის დონის მრიცხველი: ეს ინსტრუქციები აღწერს თუ როგორ უნდა ავაშენოთ დაბალფასიანი, რეალურ დროში წყლის დონის მრიცხველი გათხრილ ჭაბურღილებში გამოსაყენებლად. წყლის დონის მრიცხველი განკუთვნილია გათხრილი ჭის შიგნით, წყლის დონის გაზომვისთვის დღეში ერთხელ და მონაცემების WiFi- ით ან ფიჭური კავშირით გაგზავნით
წყლის ტემპერატურა რეალურ დროში, გამტარობა და წყლის დონის მრიცხველი: 6 ნაბიჯი (სურათებით)
რეალურ დროში ჭაბურღილის წყლის ტემპერატურა, გამტარობა და წყლის დონის მრიცხველი: ეს ინსტრუქციები აღწერს როგორ ავაშენოთ დაბალფასიანი, რეალურ დროში, წყლის მრიცხველი ტემპერატურის მონიტორინგისთვის, ელექტროგამტარობა (EC) და წყლის დონე გათხრილ ჭაბურღილებში. მრიცხველი განკუთვნილია გათხრილი ჭის შიგნით, წყლის ტემპერატურის გასაზომად, EC
Android– ზე რეალურ დროში გრაფიკის შედგენა Arduino– დან HC-05– ის საშუალებით: 3 ნაბიჯი
Android– ზე რეალურ დროში გრაფიკის შედგენა Arduino– დან HC-05– ის საშუალებით: აი, ეს არის სამეურვეო პროგრამა, თუ როგორ უნდა დავხატოთ რეალურ დროში ღირებულებების გრაფიკი მიკრო კონტროლერისგან, როგორიცაა Arduino– დან აპლიკაციამდე. ის იყენებს Bluetooth მოდულს, როგორიცაა HC-05, რომ იმოქმედოს როგორც შეტყობინებების მოწყობილობა მონაცემთა გადასაცემად და მისაღებად Ar