Სარჩევი:

IoT უკაბელო ტემპერატურისა და მოძრაობის სენსორი: 11 ნაბიჯი (სურათებით)
IoT უკაბელო ტემპერატურისა და მოძრაობის სენსორი: 11 ნაბიჯი (სურათებით)

ვიდეო: IoT უკაბელო ტემპერატურისა და მოძრაობის სენსორი: 11 ნაბიჯი (სურათებით)

ვიდეო: IoT უკაბელო ტემპერატურისა და მოძრაობის სენსორი: 11 ნაბიჯი (სურათებით)
ვიდეო: Inaugural NIGHTJET Sleeper POD 'Next Generation' Night Train - FIRST REVIEW! 2024, ივლისი
Anonim
IoT უკაბელო ტემპერატურისა და მოძრაობის სენსორი
IoT უკაბელო ტემპერატურისა და მოძრაობის სენსორი

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

- NTP კავშირი დროის მისაღებად

- LED, რომლის დისტანციური მართვაც შესაძლებელია

- PIR სენსორი მოძრაობის გამოსავლენად

- დაკავშირებულია ჟოლოს PI გაშვებული homekit, რათა შესაძლებელი იყოს iPhone "Home" - თან დაკავშირება

ნაბიჯი 1: კონცეფცია, კავშირი და კომპონენტები

კონცეფცია, კავშირი და კომპონენტები
კონცეფცია, კავშირი და კომპონენტები

კონცეფცია, როგორც ზემოთ არის ნაჩვენები, არის ტემპერატურის მონიტორინგის დაშვება დისტანციურად, დამატებითი შესაძლებლობებით მოძრაობის გამოვლენის შემთხვევაში, თუ ვინმე სახლშია და შეტყობინების მიცემა LED- ის საშუალებით. ერთეულის წვდომა შესაძლებელია ადგილობრივად LAN- ში ან დისტანციურად ვებ სერვერის საშუალებით. თქვენ ასევე შეგიძლიათ დააკავშიროთ ჟოლოს ღვეზელი (სურვილისამებრ) Homekit აქსესუარით, რომელიც დაინსტალირებულია iPhone "Home" აპლიკაციასთან დასაკავშირებლად.

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

- NodeMcu Lua ESP8266 dev დაფა. მე ვიღებ ჩემსას banggood– დან.

- LM35 ტემპერატურის სენსორი

- PIR სენსორი

- LED

- პროტოტიპის დაფა

- Arduino IDE

- მუშაობს ვებ სერვერი php სერვერის სკრიპტირებით

- ჟოლო პი (სურვილისამებრ)

ნაბიჯი 2: მიიღეთ Arduino IDE სამუშაოდ

მიიღეთ Arduino IDE სამუშაოდ
მიიღეთ Arduino IDE სამუშაოდ

ამ ნაბიჯის დეტალებისთვის იხილეთ ჩემი ადრეული ინსტრუქციები ნაბიჯი 2. IoT ტემპერატურის სენსორზე ESP8266– ით.

ნაბიჯი 3: დააკავშირეთ ტემპერატურის სენსორი, LED და PIR

დააკავშირეთ ტემპერატურის სენსორი, LED და PIR
დააკავშირეთ ტემპერატურის სენსორი, LED და PIR
დააკავშირეთ ტემპერატურის სენსორი, LED და PIR
დააკავშირეთ ტემპერატურის სენსორი, LED და PIR
დააკავშირეთ ტემპერატურის სენსორი, LED და PIR
დააკავშირეთ ტემპერატურის სენსორი, LED და PIR

ტემპერატურის სენსორს LM35 აქვს 3 ფეხი, პირველი ფეხი არის VCC, შეგიძლიათ დაუკავშიროთ იგი 3.3V (ESP8266 დაფის გამომავალი არის 3.3V). შუა ფეხი არის Vout (სადაც ტემპერატურა იკითხება, შეგიძლიათ დააკავშიროთ ეს ESP8266 pin AD0– ის ანალოგიურ შეყვანასთან, რომელიც მდებარეობს დაფის ზედა მარჯვენა მხარეს, როგორც სურათზეა ნაჩვენები. და მარჯვენა ფეხი უნდა იყოს მიწასთან დაკავშირებული.

PIR სენსორი ასევე შედგება 3 ფეხისაგან, თქვენ შეგიძლიათ ნახოთ +, 0, - პატარა ნიშანი - PCB- ზე ფეხის გვერდით. ასე რომ, შეაერთეთ "+" 3.3 ვ-თან, "-" მიწასთან და შუა პინ "0" ESP8266- ის D6 პინთან.

LED- ს ჰქონდა მხოლოდ 2 ფეხი, "+" (ანოდი), უფრო გრძელი ფეხი აკავშირებს მას ESP8266- ის პინ D5- თან და "-" (კათოდს) მოკლე ფეხები უნდა იყოს მიწასთან დაკავშირებული (GND).

ნაბიჯი 4: Cloud ვებ სერვერის დაყენება

ამ ნაბიჯის შესახებ არსებობს გარკვეული ვარაუდი:

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

ატვირთეთ თანდართული zip ფაილი თქვენი ვებსაიტის ძირში. დავუშვათ, რომ ამ სავარჯიშოსთვის თქვენი ვებ გვერდი არის "https://arduinotestbed.com"

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

ნაბიჯი 5: მონაცემთა ბაზის შექმნა ტემპერატურის მონაცემების შესანახად

შექმენით მონაცემთა ბაზა ტემპერატურის მონაცემების შესანახად
შექმენით მონაცემთა ბაზა ტემპერატურის მონაცემების შესანახად
შექმენით მონაცემთა ბაზა ტემპერატურის მონაცემების შესანახად
შექმენით მონაცემთა ბაზა ტემპერატურის მონაცემების შესანახად
შექმენით მონაცემთა ბაზა ტემპერატურის მონაცემების შესანახად
შექმენით მონაცემთა ბაზა ტემპერატურის მონაცემების შესანახად

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

დაწყებამდე თქვენ უნდა შეცვალოთ მონაცემთა ბაზის პაროლი, რომელიც მდებარეობს phpliteadmin.php ფაილში. ასე რომ გახსენით ეს ფაილი თქვენს ვებ სერვერში და შეცვალეთ პაროლის ინფორმაცია 91 სტრიქონში თქვენთვის სასურველ პაროლზე.

შემდეგ მიუთითეთ phpliteadmin.php თქვენს ვებ სერვერზე. ჩვენი მაგალითის გამოყენებით მანამდე უნდა მიუთითოთ

იმის გამო, რომ სერვერზე არ არსებობს მონაცემთა ბაზა, თქვენ მოგეცემათ ეკრანი მონაცემთა ბაზის შესაქმნელად. შეიყვანეთ "temperature.db" ახალი მონაცემთა ბაზის შეყვანის ყუთში და დააჭირეთ ღილაკს "შექმნა". ამის შემდეგ მონაცემთა ბაზა წარმატებით შეიქმნება. ამ ეტაპზე მონაცემთა ბაზა ჯერ კიდევ ცარიელია, ასე რომ თქვენ დაგჭირდებათ sql სკრიპტი მონაცემთა ბაზის ცხრილის სტრუქტურის შესაქმნელად.

ნაბიჯი 6: შექმენით "ტემპერატურის" ცხრილი

შექმნა
შექმნა
შექმნა
შექმნა

ცხრილის შესაქმნელად დააწკაპუნეთ "SQL" ჩანართზე და ჩასვით შემდეგ sql შეკითხვაში.

დაიწყეთ გარიგება;

-----ცხრილის სტრუქტურა ტემპერატურისთვის ---- შექმენით ცხრილი "ტემპერატურა" ("ID" INTEGER PRIMARY KEY NOT NULL, ტენიანობა INT არ არის NULL, ტემპერატურა რეალურია, დროის ნიშნული DATETIME DEFAULT CURRENT_TIMESTAMP, "გამაცხელებელი" BOOLEAN, "goaltemp" ნამდვილი); კომიტეტი;

შემდეგ დააჭირეთ ღილაკს "წადი" ბოლოში. ცხრილი წარმატებით უნდა შეიქმნას.

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

ახლა, როდესაც ჩვენ შევქმენით მონაცემთა ბაზა, შეგიძლიათ მიუთითოთ შემდეგი url

arduinotestbed.com/ArduinoData3.php

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

ნაბიჯი 7: ატვირთეთ ტემპერატურის სენსორის ესკიზი თქვენს ESP8266- ში

ატვირთეთ ტემპერატურის სენსორის ესკიზი თქვენს ESP8266- ში
ატვირთეთ ტემპერატურის სენსორის ესკიზი თქვენს ESP8266- ში
ატვირთეთ ტემპერატურის სენსორის ესკიზი თქვენს ESP8266- ში
ატვირთეთ ტემპერატურის სენსორის ესკიზი თქვენს ESP8266- ში
ატვირთეთ ტემპერატურის სენსორის ესკიზი თქვენს ESP8266- ში
ატვირთეთ ტემპერატურის სენსორის ესკიზი თქვენს ESP8266- ში

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

საჭიროების შემთხვევაში შეცვალეთ მითითებული ვებ სერვერი და data_store3.php ფაილის მდებარეობა. შემდეგ ატვირთეთ ესკიზი ESP8266– ში.

თუ ყველაფერი კარგად არის, ის წარმატებით უნდა აიტვირთოს და პირველად ESP გადადის AP რეჟიმში. მასთან დასაკავშირებლად შეგიძლიათ გამოიყენოთ ლეპტოპი ან მობილური ტელეფონი. თქვენ უნდა შეგეძლოთ AP- ს პოვნა "ESP-TEMP"- ის სახელით. "ipconfig" ბრძანება Windows- ში ან "ifconfig" ბრძანება linux ან mac. -თუ თქვენ იყენებთ iphone- ს, დააწკაპუნეთ i ღილაკზე ESP-TEMP, რომელთანაც ხართ დაკავშირებული-გახსენით თქვენი ბრაუზერი და მიუთითეთ ESP-TEMP, თუ თქვენ გაქვთ 192.168.4.10 თქვენი ip, ESP-TEMP აქვს ip 192.168.4.1, ასე რომ თქვენ შეგიძლიათ უბრალოდ გადახვიდეთ https://192.168.4.1 და თქვენ უნდა მოგაწოდოთ პარამეტრების გვერდი, სადაც შეგიძლიათ შეიყვანოთ თქვენი wifi როუტერის ssid და psk გასაღები. მას შემდეგ რაც ორივე შეიყვანეთ და მონიშნეთ ყუთი "Update Wifi Config", დააწკაპუნეთ "განახლებაზე" თქვენი ESP8266 პარამეტრების განახლებისთვის.

თუ გსურთ გამორთვა ჩართოთ სერიულ მონიტორზე, თქვენ დაგჭირდებათ კომენტარის გაკეთება

#განსაზღვრეთ DEBUG

ხაზი საათში.ჰ და კომენტარი გააკეთა

//#undef DEBUG

ხაზი. შემდეგ დააჭირეთ ინსტრუმენტები-> სერიული მონიტორი. სერიული მონიტორის ფანჯარა გაჩვენებთ wifi კავშირის პროგრესს და აჩვენებს ESP8266– ის ადგილობრივ IP მისამართს. შიდა ლურჯი LED აციმციმდება ერთხელ, როდესაც ტემპერატურის კითხვა ხდება. ის ასევე ჩართული იქნება მოძრაობის გამოვლენისას.

ნაბიჯი 8: წვდომა თქვენს ტემპერატურასა და მოძრაობის სენსორზე

წვდომა თქვენს ტემპერატურასა და მოძრაობის სენსორზე
წვდომა თქვენს ტემპერატურასა და მოძრაობის სენსორზე
წვდომა თქვენს ტემპერატურასა და მოძრაობის სენსორზე
წვდომა თქვენს ტემპერატურასა და მოძრაობის სენსორზე

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

ახლა თქვენ ასევე შეგიძლიათ მიუთითოთ თქვენი გარე ვებ სერვერი, ამ მაგალითში არის

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

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

გილოცავთ, თუ თქვენ აქამდე მიაღწიეთ !!, მიეცით თავი უკან და ისიამოვნეთ თქვენი შემოქმედებით. შემდეგი ნაბიჯი არის სურვილისამებრ, მხოლოდ იმ შემთხვევაში, თუ გსურთ, რომ შეძლოთ LED- ის კონტროლი და ტემპერატურის მონიტორინგი, ასევე მოძრაობის სენსორი Apple მოწყობილობებიდან.

ნაბიჯი 9: დააინსტალირეთ HomeBridge HomeKit for Raspberry Pi (სურვილისამებრ)

დააინსტალირეთ HomeBridge HomeKit for Raspberry Pi (სურვილისამებრ)
დააინსტალირეთ HomeBridge HomeKit for Raspberry Pi (სურვილისამებრ)

მე შთაგონებული ვიყავი GalenW1– ის ინსტრუქციებით, რაც მაძლევს საშუალებას ვისწავლო ამდენი რამ HomeBridge– ის შესახებ.

HomeBridge for HomeKit Raspberry Pi– ზე დასაყენებლად შეგიძლიათ გამოიყენოთ ინსტრუქცია შემდეგში

github.com/nfarina/homebridge

HomeBridge გაძლევთ საშუალებას დააკავშიროთ Home აპლიკაცია iPhone– ში იმ სენსორებთან, რომლებიც თქვენ შექმენით წინა ნაბიჯებში.

ერთი თქვენ გაქვთ HomeBridge დაინსტალირებული, თქვენ უნდა დააყენოთ რამდენიმე მოდული:

- Ტემპერატურის სენსორი

- Მოძრაობის სენსორი

- გადართვა

sudo npm install -g homebridge-http-temperature

sudo npm install -g homebridge -MotionSensor

sudo npm install -g homebridge-http-simple-switch

მას შემდეგ, რაც მოდული დაინსტალირდება, დაგჭირდებათ კონფიგურაცია config.json ფაილის ქვემოთ

sudo vi /home/pi/.homebridge/config.json

თქვენ შეგიძლიათ შეცვალოთ config.json ფაილის შინაარსი ქვემოთ მოცემული პუნქტის შესაბამისად, დარწმუნდით, რომ url მიუთითებს სწორ ადგილას.

ნაბიჯი 10: Homebridge– ის დაკავშირება თქვენს iPhone– თან

Homebridge– ის დაკავშირება თქვენს iPhone– თან
Homebridge– ის დაკავშირება თქვენს iPhone– თან
Homebridge– ის დაკავშირება თქვენს iPhone– თან
Homebridge– ის დაკავშირება თქვენს iPhone– თან
Homebridge– ის დაკავშირება თქვენს iPhone– თან
Homebridge– ის დაკავშირება თქვენს iPhone– თან

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

საშინაო ხიდი

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

- ახლა დაიწყეთ თქვენი "სახლის" აპლიკაცია თქვენს iPhone- ში

- დააჭირეთ ღილაკს "აქსესუარების დამატება"

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

გთხოვთ გაითვალისწინოთ, რომ iPhone და Raspberry Pi მუშაობისთვის საჭიროა ერთსა და იმავე უკაბელო როუტერზე იყოს.

- დაკავშირებისთანავე მოგეთხოვებათ ეკრანი, რომელშიც ნათქვამია, რომ თქვენი აქსესუარები არ არის დამოწმებული, გასაგრძელებლად დააჭირეთ ღილაკს "მაინც დამატება"

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

- საბოლოო ეკრანი გაჩვენებთ ყველა აქსესუარს, რომელიც დაკავშირებულია.

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

ნაბიჯი 11: აიყვანეთ თქვენი სახლის ხიდი ფონზე

მიიღეთ თქვენი Homebridge რომ იმუშაოს ფონზე
მიიღეთ თქვენი Homebridge რომ იმუშაოს ფონზე
მიიღეთ თქვენი Homebridge რომ იმუშაოს ფონზე
მიიღეთ თქვენი Homebridge რომ იმუშაოს ფონზე
მიიღეთ თქვენი Homebridge რომ იმუშაოს ფონზე
მიიღეთ თქვენი Homebridge რომ იმუშაოს ფონზე

გილოცავ !! შენ გააკეთე როგორც ბონუსი, თქვენ შეგიძლიათ გაუშვათ სახლის ხიდი ფონზე შემდეგი ბრძანების გამოყენებით:

საშინაო ხიდი და

ახლა თქვენ შეგიძლიათ გაერთოთ სირით და ისიამოვნოთ თქვენი შრომისმოყვარეობით.

გმადლობთ, რომ ბოლომდე მიჰყევით ამას. თუ მოგწონთ ეს, გთხოვთ დატოვეთ რამდენიმე კომენტარი ან მიეცით ხმა ჩემთვის.

გირჩევთ: