Სარჩევი:

სახლის ავტომატიზაცია ჟოლოს Pi სარელეო დაფის გამოყენებით: 7 ნაბიჯი
სახლის ავტომატიზაცია ჟოლოს Pi სარელეო დაფის გამოყენებით: 7 ნაბიჯი

ვიდეო: სახლის ავტომატიზაცია ჟოლოს Pi სარელეო დაფის გამოყენებით: 7 ნაბიჯი

ვიდეო: სახლის ავტომატიზაცია ჟოლოს Pi სარელეო დაფის გამოყენებით: 7 ნაბიჯი
ვიდეო: Home Automation System 2024, ნოემბერი
Anonim
სახლის ავტომატიზაცია ჟოლოს Pi სარელეო დაფის გამოყენებით
სახლის ავტომატიზაცია ჟოლოს Pi სარელეო დაფის გამოყენებით

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

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

ნაბიჯი 1: საჭიროა აპარატურა

აპარატურაა საჭირო
აპარატურაა საჭირო
აპარატურაა საჭირო
აპარატურაა საჭირო
აპარატურაა საჭირო
აპარატურაა საჭირო

ჩვენ გამოვიყენებთ:

ჟოლო პი

Raspberry Pi არის Linux– ზე დაფუძნებული პერსონალური კომპიუტერი. ეს პატარა კომპიუტერი აძლიერებს ენერგიის რეგისტრაციას, გამოიყენება როგორც ელექტრონული სავარჯიშოების ნაწილი და კომპიუტერული ოპერაციები, როგორიცაა ცხრილები, სიტყვების დამუშავება, ვებ სერფინგი და ელ.ფოსტა და თამაშები

I2C ფარი ან I2C სათაური

INPI2 (I2C ადაპტერი) უზრუნველყოფს Raspberry Pi 2/3 და I²C პორტს მრავალჯერადი I2C მოწყობილობებისთვის გამოსაყენებლად

I2C სარელეო კონტროლერი MCP23008

MCP23008 მიკროჩიპიდან არის ინტეგრირებული პორტის გაფართოება, რომელიც აკონტროლებს რვა რელეს I²C ავტობუსით. თქვენ შეგიძლიათ დაამატოთ მეტი რელე, ციფრული I/O, ანალოგი ციფრულ გადამყვანებს, სენსორებს და სხვა მოწყობილობებს ინტეგრირებული I²C გაფართოების პორტის გამოყენებით

MCP9808 ტემპერატურის სენსორი

MCP9808 არის მაღალი სიზუსტის ტემპერატურის სენსორი, რომელიც უზრუნველყოფს კალიბრირებულ, ხაზოვან სენსორულ სიგნალებს ციფრულ, I²C ფორმატში

TCS34903 სიკაშკაშის სენსორი

TCS34903 არის ფერადი სენსორების საოჯახო პროდუქტი, რომელიც უზრუნველყოფს სინათლისა და ფერის RGB კომპონენტის მნიშვნელობას

I2C დამაკავშირებელი კაბელი

I2C დამაკავშირებელი კაბელი არის 4 სადენიანი კაბელი, რომელიც განკუთვნილია I2C კომუნიკაციისთვის მის მეშვეობით დაკავშირებულ ორ I2C მოწყობილობას შორის

მიკრო USB ადაპტერი

Raspberry Pi- ს გასაძლიერებლად, ჩვენ გვჭირდება მიკრო USB კაბელი

12V დენის ადაპტერი სარელეო დაფისთვის

MCP23008 სარელეო კონტროლერი მუშაობს 12 ვ გარე ენერგიაზე და მისი მიწოდება შესაძლებელია 12 ვ დენის ადაპტერის გამოყენებით

თქვენ შეგიძლიათ შეიძინოთ პროდუქტი მათზე დაჭერით. ასევე, თქვენ შეგიძლიათ იპოვოთ უფრო დიდი მასალა Dcube Store– ში.

ნაბიჯი 2: აპარატურის დაკავშირება

აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება

საჭირო კავშირები (იხილეთ სურათები) არის შემდეგი:

  1. ეს იმუშავებს I2C– ზე. აიღეთ I2C ფარი Raspberry pi– სთვის და ნაზად დააკავშირეთ იგი Raspberry Pi– ს GPIO ქინძისთავებთან.
  2. შეაერთეთ I2C კაბელის ერთი ბოლო TCS34903 პორტში და მეორე ბოლო I2C ფარს.
  3. შეაერთეთ MCP9808 სენსორის ჭურჭელი TCS34903– ის გარეთ I2C კაბელის გამოყენებით.
  4. შეაერთეთ MCP23008 ქვაბში MCP9808 სენსორთან I2C კაბელის გამოყენებით.
  5. ასევე დაუკავშირეთ Ethernet კაბელი Raspberry Pi. Wi-Fi როუტერი ასევე შეიძლება გამოყენებულ იქნას იმავესთვის.
  6. შემდეგ, ჩართეთ Raspberry Pi მიკრო USB ადაპტერის და MCP23008 სარელეო დაფის გამოყენებით 12 ვ ადაპტერის გამოყენებით.
  7. დაბოლოს, დაუკავშირეთ შუქი პირველ სარელეოს და ვენტილატორს ან გამათბობელს მეორე რელესთან. თქვენ შეგიძლიათ გააფართოვოთ მოდული ან დააკავშიროთ მეტი მოწყობილობა რელეებს.

ნაბიჯი 3: კომუნიკაცია I2C პროტოკოლის გამოყენებით

იმისათვის, რომ Raspberry Pi I2C გააქტიურდეს, განაგრძეთ ქვემოთ ნახსენები:

  1. ტერმინალში ჩაწერეთ შემდეგი ბრძანება კონფიგურაციის პარამეტრების გასახსნელად: sudo raspi-config
  2. აქ აირჩიეთ "მოწინავე პარამეტრები".
  3. აირჩიეთ "I2C" და დააჭირეთ "დიახ".
  4. გადატვირთეთ სისტემა, რომ შეიქმნას ბრძანების გადატვირთვის გამოყენებით განხორციელებული ცვლილებების შესაბამისად.

ნაბიჯი 4: მოდულის დაპროგრამება

Raspberry Pi– ს გამოყენების ჯილდო არის ის, რაც გაძლევთ მოქნილობას აირჩიოთ პროგრამირების ენა, რომლითაც გსურთ პროგრამირება მოახდინოთ ზონდირების მოწყობილობას Raspberry Pi– სთან. Raspberry Pi- ს ამ უპირატესობის გამოყენებისას ჩვენ ვაჩვენებთ მის პროგრამირებას ჯავაში.

ჯავის გარემოს შესაქმნელად, დააინსტალირეთ "pi4j libraby" https://pi4j.com/1.2/index.html Pi4j არის Java შეყვანის/გამომავალი ბიბლიოთეკა ჟოლოს Pi- სთვის. "Pi4j" - ის ინსტალაციის მარტივი და ყველაზე სასურველი მეთოდი ბიბლიოთეკა”არის განახორციელოს ქვემოხსენებული ბრძანება პირდაპირ თქვენს Raspberry Pi– ში:

curl -s get.pi4j.com | sudo bash

ან

curl -s get.pi4j.com

იმპორტი com.pi4j.io.i2c. I2CBus; იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა; იმპორტი com.pi4j.io.i2c. I2C ქარხანა; იმპორტი java.io. IOException; კლასი MCP23008 {public static void main (სიმებიანი არგები ) ისვრის გამონაკლისს {int სტატუსი, მნიშვნელობა, მნიშვნელობა 1 = 0x00; // I2C ავტობუსის შექმნა I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1); // მიიღეთ I2C მოწყობილობა, MCP23008 I2C მისამართი არის 0x20 (32) I2CD მოწყობილობის მოწყობილობა = bus.getDevice (0x20); // მიიღეთ I2C მოწყობილობა, MCP9808 I2C მისამართი არის 0x18 (24) I2CDevice MCP9808 = bus.getDevice (0x18); // მიიღეთ I2C მოწყობილობა, TCS34903 I2C მისამართი არის 0x39 (55) I2CDevice TCS34903 = bus.getDevice (0x39); // დააყენეთ ლოდინის დროის რეგისტრაცია = 0xff (255), ლოდინის დრო = 2.78 ms TCS34903.write (0x83, (byte) 0xFF); // ჩართეთ წვდომა IR არხზე TCS34903.write (0xC0, (byte) 0x80); // დააყენეთ Atime რეგისტრი 0x00 (0), მაქსიმალური რაოდენობა = 65535 TCS34903.write (0x81, (byte) 0x00); // ჩართვა, ADC ჩართულია, ლოდინი ჩართულია TCS34903.write (0x80, (byte) 0x0B); თემა. ძილი (250); // წაიკითხეთ მონაცემთა 8 ბაიტი მკაფიო/ir მონაცემებით LSB პირველი ბაიტი მონაცემები 1 = ახალი ბაიტი [8]; // ტემპერატურის მონაცემების ბაიტის წაკითხვა მონაცემები = ახალი ბაიტი [2]; სტატუსი = მოწყობილობა. წაკითხვა (0x09); // ყველა ქინძისთავის კონფიგურაცია OUTPUT device.write (0x00, (byte) 0x00); თემა. ძილი (500); ხოლო (ჭეშმარიტი) {MCP9808.read (0x05, მონაცემები, 0, 2); // მონაცემების გარდაქმნა int temp = ((მონაცემები [0] & 0x1F) * 256 + (მონაცემები [1] & 0xFF)); if (temp> 4096) {temp -= 8192; } ორმაგი cTemp = temp * 0.0625; System.out.printf ("ტემპერატურა ცელსიუსში არის: %.2f C %n", cTemp); TCS34903. წაკითხვა (0x94, მონაცემები 1, 0, 8); ორმაგი ir = ((data1 [1] & 0xFF) * 256) + (data1 [0] & 0xFF) * 1.00; ორმაგი წითელი = ((data1 [3] & 0xFF) * 256) + (data1 [2] & 0xFF) * 1.00; ორმაგი მწვანე = ((data1 [5] & 0xFF) * 256) + (data1 [4] & 0xFF) * 1.00; ორმაგი ლურჯი = ((data1 [7] & 0xFF) * 256) + (data1 [6] & 0xFF) * 1.00; // გამოთვალეთ განათება ორმაგი განათება = (-0.32466) * (წითელი) + (1.57837) * (მწვანე) + (-0.73191) * (ლურჯი); System.out.printf ("განათება არის: %.2f lux %n", განათება); if (განათება 30) {მნიშვნელობა = მნიშვნელობა 1 | (0x01); } else {value = value1 & (0x02); } device.write (0x09, (ბაიტი) მნიშვნელობა); თემა. ძილი (300); }}}

ნაბიჯი 5: შექმენით ფაილი და გაუშვით კოდი

  1. ახალი ფაილის შესაქმნელად, სადაც კოდის ჩაწერა/კოპირება შესაძლებელია, გამოყენებული იქნება შემდეგი ბრძანება: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. ფაილის შექმნის შემდეგ, ჩვენ შეგვიძლია ჩავწეროთ კოდი აქ.
  3. დააკოპირეთ წინა საფეხურზე მოცემული კოდი და ჩასვით აქ ფანჯარაში.
  4. დააჭირეთ Ctrl+X შემდეგ "y" გასასვლელად.
  5. შემდეგ შეადგინეთ კოდი შემდეგი ბრძანების გამოყენებით: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. თუ შეცდომები არ არის, გაუშვით პროგრამა ქვემოხსენებული ბრძანების გამოყენებით: pi4j FILE_NAMEEg. pi4j MCP23008.java

ნაბიჯი 6: პროგრამები

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

ნაბიჯი 7: რესურსები

დამატებითი ინფორმაციისთვის TSL34903, MCP9808 MCP23008 სარელეო კონტროლერის შესახებ, გადახედეთ ქვემოთ მოცემულ ბმულებს:

  • TSL34903 მონაცემთა ცხრილი
  • MCP9808 მონაცემთა ცხრილი
  • MCP23008 მონაცემთა ცხრილი

გირჩევთ: