Სარჩევი:

გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით: 6 ნაბიჯი
გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით: 6 ნაბიჯი

ვიდეო: გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით: 6 ნაბიჯი

ვიდეო: გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით: 6 ნაბიჯი
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, ნოემბერი
Anonim
გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით
გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით
გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით
გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით
გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით
გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით
გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით
გადართვა, ავტომატური განყოფილება რეალურ დროში მიმდინარე გაზომვით

მე ნამდვილად მომწონს ავტომატიზაცია, უნარი გავაკონტროლო, როდესაც რაღაც უნდა მოხდეს. სწორედ ამან მიბიძგა ამ იდეაში: თვითნაკეთი, ავტომატური განყოფილება. ის შეიძლება გამოყენებულ იქნას დაგეგმვისას, როდესაც საჭიროა შუქების ჩართვა, როდესაც ტელეფონები უნდა იყოს დამუხტული ან როდესაც ეკრანის ჩართვაა საჭირო. ამ ყველაფრის გარდა, თქვენ გაქვთ უნარი დაინახოთ რამდენი დენი გადის გამოსასვლელში.

ამ პროექტისთვის საჭირო კომპონენტებია:

მარაგები

სანამ ჩვენ დავიწყებთ, ეს არის ის, რაც თქვენ აუცილებლად დაგჭირდებათ 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– ის გამოყენებით.

  1. გახსენით balenaEtcher
  2. აირჩიეთ რასბანის სურათი
  3. შეარჩიეთ თქვენი SD ბარათი
  4. დააჭირეთ Flash დაელოდეთ რამდენიმე წუთს, სანამ ის აანთებს

ჩატვირთვის დირექტორიაში APIPA- ს დამატება: ჩვენ ვიყენებთ APIPA მისამართს პროგრამის და კონფიგურაციისათვის RPI- ზე. Გააკეთო ეს:

  1. უერთდება ჩატვირთვის დირექტორია SD ბარათზე
  2. გახსენით "cmdline.txt"
  3. დაამატეთ "169.254.10.1" დოკუმენტის ბოლოს და შეინახეთ
  4. დაამატეთ ფაილი სახელწოდებით "ssh" ჩატვირთვის დირექტორიაში (არ მისცეთ ამ ფაილს გაფართოება)
  5. ამის დასრულების შემდეგ შეგიძლიათ ამოიღოთ SD ბარათი თქვენი კომპიუტერიდან.

უერთდება RPI– ს PuTTy– ს გამოყენებით

ახლა ჩვენ შეგვიძლია ჩავრთოთ SD ბარათი ჩვენს RPI– ში, დავუკავშიროთ RPI თქვენს კომპიუტერს Ethernet კაბელის გამოყენებით.

RPI– თან დასაკავშირებლად ჩვენ გამოვიყენებთ PuTTy– ს ჩვენი APIPA– მისამართით.

  1. გახსენით PuTTy
  2. შეავსეთ ჩვენი APIPA მისამართი, როგორც მასპინძლის სახელი (169.254.10.1)
  3. დარწმუნდით, რომ პორტი არის 22 და SSH არჩეულია
  4. ახლა თქვენ შეგიძლიათ გახსნათ კავშირი
  5. ნაგულისხმევი მომხმარებლის სახელი არის: pi
  6. ნაგულისხმევი პაროლით: ჟოლო

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 ურთიერთობა

Arduino ურთიერთობა
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. ყველა ელექტრული კავშირი იკვებება მის გასწვრივ შემცირებული მილის ნაჭერით. საკაბელო მენეჯმენტის გასაკეთებლად მე გამოვიყენე ბალიშები გადამზიდავი სამაგრებით.

გირჩევთ: