สารบัญ:

IoT Wireless Temperature and Motion Sensor: 11 ขั้นตอน (พร้อมรูปภาพ)
IoT Wireless Temperature and Motion Sensor: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: IoT Wireless Temperature and Motion Sensor: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: IoT Wireless Temperature and Motion Sensor: 11 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Tuya Zigbee PIR Motion Sensor JMPIR01 ตรวจจับความเคลื่อนไหวเชื่อมต่อ SmartLife 2024, กรกฎาคม
Anonim
IoT Wireless Temperature and Motion Sensor
IoT Wireless Temperature and Motion Sensor

ฉันได้รับแรงบันดาลใจจากโครงการ IoT มากมายที่อยู่ใน Instructables ดังนั้นในกระบวนการเรียนรู้ ฉันกำลังพยายามรวมแอปพลิเคชันที่มีประโยชน์บางอย่างที่เกี่ยวข้อง ในฐานะส่วนขยายของ Instructables ก่อนหน้าของฉันที่เกี่ยวข้องกับเซ็นเซอร์อุณหภูมิ IoT ตอนนี้ฉันได้เพิ่มความสามารถเพิ่มเติมให้กับระบบย่อย ฟังก์ชั่นเพิ่มเติมคือ:

- การเชื่อมต่อ NTP เพื่อรับเวลา

- LED ที่สามารถควบคุมจากระยะไกลได้

- เซ็นเซอร์ PIR เพื่อตรวจจับการเคลื่อนไหว

- เชื่อมต่อ Raspberry PI ที่รัน homekit เพื่ออนุญาตการเชื่อมต่อกับ iPhone "Home"

ขั้นตอนที่ 1: แนวคิด การเชื่อมต่อ และส่วนประกอบ

แนวคิด การเชื่อมต่อ และส่วนประกอบ
แนวคิด การเชื่อมต่อ และส่วนประกอบ

แนวคิดดังที่แสดงไว้ข้างต้นคือการอนุญาตให้ตรวจสอบอุณหภูมิจากระยะไกลด้วยความสามารถเพิ่มเติมในการตรวจจับการเคลื่อนไหวหากมีคนอยู่ที่บ้าน และอนุญาตให้มีการแจ้งเตือนผ่าน LED เครื่องสามารถเข้าถึงได้ภายใน LAN หรือจากระยะไกลผ่านเว็บเซิร์ฟเวอร์ คุณยังสามารถเชื่อมต่อ Raspberry pie (อุปกรณ์เสริม) กับอุปกรณ์เสริม Homekit ที่ติดตั้งไว้เพื่อให้สามารถเชื่อมต่อกับแอป "Home" ของ iPhone

เช่นเดียวกับเวอร์ชันก่อนหน้า จำเป็นต้องมีองค์ประกอบต่อไปนี้ในโปรเจ็กต์นี้ โปรดทราบว่าลิงก์ด้านล่างเป็นลิงก์ของพันธมิตร ดังนั้น หากคุณไม่ต้องการมีส่วนร่วม ให้ไปโดยตรง

- บอร์ดพัฒนา NodeMcu Lua ESP8266 ฉันได้ของฉันจาก banggood

- เซ็นเซอร์อุณหภูมิ LM35

- เซ็นเซอร์ PIR

- นำ

- บอร์ดต้นแบบ

- Arduino IDE

- เว็บเซิร์ฟเวอร์ที่ใช้งานได้พร้อมเปิดใช้งานสคริปต์เซิร์ฟเวอร์ php

- ราสเบอร์รี่ pi (อุปกรณ์เสริม)

ขั้นตอนที่ 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.3V, "-" กับกราวด์และพินกลาง "0" เพื่อพิน D6 ของ ESP8266

LED มีเพียง 2 ขาคือ "+" (แอโนด) ขาที่ยาวกว่าเชื่อมต่อกับขา D5 ของ ESP8266 และ "-" (แคโทด) ขาที่สั้นกว่าควรเชื่อมต่อกับกราวด์ (GND)

ขั้นตอนที่ 4: การตั้งค่าเว็บเซิร์ฟเวอร์คลาวด์

มีข้อสันนิษฐานบางประการสำหรับขั้นตอนนี้:

คุณมีเว็บเซิร์ฟเวอร์ที่ใช้งานได้ ซึ่งโฮสต์อยู่ในโดเมนที่เหมาะสม และคุณคุ้นเคยกับการถ่ายโอนไฟล์ไปยังเว็บเซิร์ฟเวอร์ของคุณผ่าน FTP โดยใช้ Filezilla หรือโปรแกรม FTP อื่นๆ

อัปโหลดไฟล์ zip ที่แนบมาไปที่รูทของเว็บไซต์ของคุณ สมมติว่าสำหรับแบบฝึกหัดนี้เว็บไซต์ของคุณคือ "https://arduinotestbed.com"

สมมติว่าไฟล์ทั้งหมดอยู่ในรูทของเว็บเซิร์ฟเวอร์ หากคุณเก็บไว้ในโฟลเดอร์อื่น โปรดปรับตำแหน่งไฟล์ตามนั้นทั้งในไฟล์ ArduinoData3.php และ Arduino Sketch หากคุณไม่แน่ใจโปรดแจ้งให้เราทราบและเราจะพยายามอย่างดีที่สุดเพื่อช่วย

ขั้นตอนที่ 5: การตั้งค่าฐานข้อมูลเพื่อเก็บข้อมูลอุณหภูมิ

การตั้งค่าฐานข้อมูลเพื่อเก็บข้อมูลอุณหภูมิ
การตั้งค่าฐานข้อมูลเพื่อเก็บข้อมูลอุณหภูมิ
การตั้งค่าฐานข้อมูลเพื่อเก็บข้อมูลอุณหภูมิ
การตั้งค่าฐานข้อมูลเพื่อเก็บข้อมูลอุณหภูมิ
การตั้งค่าฐานข้อมูลเพื่อเก็บข้อมูลอุณหภูมิ
การตั้งค่าฐานข้อมูลเพื่อเก็บข้อมูลอุณหภูมิ

เรากำลังใช้ฐานข้อมูล sqllite สำหรับแบบฝึกหัดนี้ Sqllite เป็นฐานข้อมูลที่ใช้ไฟล์แบบเบาซึ่งไม่ต้องการเซิร์ฟเวอร์ ฐานข้อมูลอยู่ในเว็บเซิร์ฟเวอร์ของคุณ หากคุณกังวลเกี่ยวกับความปลอดภัย คุณควรแก้ไขรหัสเพื่อใช้เซิร์ฟเวอร์ฐานข้อมูลที่เหมาะสม เช่น mysql หรือ MSSQL

ก่อนที่คุณจะเริ่ม คุณต้องเปลี่ยนรหัสผ่านฐานข้อมูลที่อยู่ในไฟล์ phpliteadmin.php ดังนั้นให้เปิดไฟล์นี้ในเว็บเซิร์ฟเวอร์ของคุณและแก้ไขข้อมูลรหัสผ่านในบรรทัดที่ 91 เป็นรหัสผ่านที่คุณต้องการ

จากนั้นชี้ไปที่ phpliteadmin.php ในเว็บเซิร์ฟเวอร์ของคุณ ใช้ตัวอย่างของเราก่อนที่คุณจะชี้ไปที่

เนื่องจากไม่มีฐานข้อมูลในเซิร์ฟเวอร์ คุณจะเห็นหน้าจอเพื่อสร้างฐานข้อมูล ป้อน "temperature.db" ในช่องป้อนข้อมูลฐานข้อมูลใหม่และคลิกที่ปุ่ม "สร้าง" ฐานข้อมูลจะถูกสร้างขึ้นสำเร็จ ณ จุดนี้ฐานข้อมูลยังคงว่างเปล่า ดังนั้นคุณจะต้องใช้สคริปต์ sql เพื่อสร้างโครงสร้างตารางฐานข้อมูลเพื่อโฮสต์ข้อมูล

ขั้นตอนที่ 6: สร้างตาราง "อุณหภูมิ"

สร้าง
สร้าง
สร้าง
สร้าง

ในการสร้างตาราง ให้คลิกที่แท็บ "SQL" แล้ววางในแบบสอบถาม sql ต่อไปนี้

เริ่มต้นการทำธุรกรรม;

---- -- โครงสร้างตารางสำหรับอุณหภูมิ ---- สร้างตาราง 'อุณหภูมิ' (คีย์หลักจำนวนเต็ม 'ID' ไม่ใช่ NULL, ความชื้น INT ไม่เป็นค่า NULL, อุณหภูมิจริง, การประทับเวลา DATETIME DEFAULT CURRENT_TIMESTAMP, 'ตัวทำความร้อน' บูลีน, 'goaltemp' จริง); ให้สัญญา;

จากนั้นคลิกที่ปุ่ม "ไป" ที่ด้านล่าง ควรสร้างตารางให้สำเร็จ

หากคุณรีเฟรชหน้า คุณควรเห็นตาราง "อุณหภูมิ" ใต้ฐานข้อมูล temperature.db ทางด้านซ้ายมือ หากคุณคลิกที่ตารางอุณหภูมิถ้ายังไม่มีข้อมูล

ตอนนี้เราได้สร้างฐานข้อมูลแล้ว คุณสามารถชี้ไปที่ 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"- ลองเชื่อมต่อกับ ESP-TEMP โดยใช้แล็ปท็อปของโทรศัพท์มือถือของคุณ - ค้นหาว่า IP address ที่คุณได้รับมอบหมายคือ คำสั่ง "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 router ssid และคีย์ psk ได้ เมื่อคุณป้อนทั้งสองรายการและทำเครื่องหมายที่ช่อง "อัปเดต Wifi Config" ให้คลิกที่ "อัปเดต" เพื่ออัปเดตการตั้งค่าเป็น ESP8266 ของคุณ

หากคุณต้องการเปิดการดีบักให้กับ Serial Monitor คุณจะต้องยกเลิกการใส่เครื่องหมาย

#define DEBUG

บรรทัดใน clock.h และแสดงความคิดเห็น

//#undef DEBUG

ไลน์. จากนั้นคลิกที่ Tools->Serial Monitor หน้าต่างมอนิเตอร์แบบอนุกรมจะแสดงความคืบหน้าในการเชื่อมต่อ wifi และแสดงที่อยู่ IP ในเครื่องของ ESP8266 ไฟ LED สีน้ำเงินภายในจะกะพริบหนึ่งครั้งเมื่อมีการอ่านอุณหภูมิ นอกจากนี้ยังจะเปิดขึ้นเมื่อมีการตรวจจับการเคลื่อนไหว

ขั้นตอนที่ 8: การเข้าถึงเซ็นเซอร์อุณหภูมิและการเคลื่อนไหวของคุณ

การเข้าถึงเซ็นเซอร์อุณหภูมิและการเคลื่อนไหวของคุณ
การเข้าถึงเซ็นเซอร์อุณหภูมิและการเคลื่อนไหวของคุณ
การเข้าถึงเซ็นเซอร์อุณหภูมิและการเคลื่อนไหวของคุณ
การเข้าถึงเซ็นเซอร์อุณหภูมิและการเคลื่อนไหวของคุณ

ในตอนนี้ คุณควรจะสามารถชี้ไปที่เว็บเซิร์ฟเวอร์ท้องถิ่นของ ESP8266 ได้อีกครั้ง และจะแสดงเวลา อุณหภูมิ และเซ็นเซอร์ตรวจจับความเคลื่อนไหว

ตอนนี้คุณสามารถชี้ไปที่เว็บเซิร์ฟเวอร์ภายนอกของคุณได้ ในตัวอย่างนี้คือ

คุณสามารถเลื่อนปุ่มใต้แผงควบคุมเพื่อสลับไฟ LED ฉันใช้ข้อมูลนี้เพื่อแจ้งให้บุตรหลานทราบเมื่อฉันกำลังเดินทางกลับบ้านจากที่ทำงาน

เซ็นเซอร์ตรวจจับความเคลื่อนไหวจะอัปเดตทุก ๆ วินาที ดังนั้นคุณจะต้องรีเฟรชหน้าบ่อยขึ้นเพื่อดูว่ามีการตรวจพบการเคลื่อนไหวหรือไม่ ในขณะนี้ การรีเฟรชอัตโนมัติตั้งไว้ที่ 60 วินาที อุณหภูมิจะใช้เวลาอ่านทุกๆ สองสามนาที แต่คุณสามารถปรับเปลี่ยนให้เป็นเวลาที่เหมาะสมกับคุณได้เช่นกัน

ยินดีด้วยถ้าคุณมาไกลถึงขนาดนี้ !! ตบหลังตัวเองแล้วสนุกไปกับผลงานของคุณ ขั้นตอนต่อไปเป็นทางเลือก เฉพาะในกรณีที่คุณต้องการควบคุม LED และตรวจสอบอุณหภูมิตลอดจนเซ็นเซอร์ตรวจจับความเคลื่อนไหวจากอุปกรณ์ Apple

ขั้นตอนที่ 9: ติดตั้ง HomeBridge สำหรับ HomeKit ใน Raspberry Pi (ไม่บังคับ)

ติดตั้ง HomeBridge สำหรับ HomeKit ใน Raspberry Pi (ไม่บังคับ)
ติดตั้ง HomeBridge สำหรับ HomeKit ใน Raspberry Pi (ไม่บังคับ)

ฉันได้รับแรงบันดาลใจจากคำแนะนำจาก GalenW1 ซึ่งช่วยให้ฉันเรียนรู้มากมายเกี่ยวกับ HomeBridge

ในการติดตั้ง HomeBridge สำหรับ 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 ชี้ไปยังตำแหน่งที่ถูกต้อง

{ "บริดจ์": { "ชื่อ": "โฮมบริดจ์", "ชื่อผู้ใช้": "CC:22:3D:E3:CE:30", "พอร์ต": 51886, "พิน": "031-45-154" }, "description": "This is HomeBridge Config file, add more accessories and platform.", "accessories": [{ "accessory": "HttpTemperature", "name": "Living Room Temp", "url": "http.://arduinotestbed.com/temp.txt", "http_method": "GET", "field_name": "" }, { "accessory": "Motion", "name": "Motion Sensor on my Desk", " url": "https://arduinotestbed.com/motion_data.php?json=true", "http_method": "GET", "json_response": "motion" }, { "accessory": "SimpleHttpSwitch", "name": "สวิตช์ไฟ", "url": "https://arduinotestbed.como/setlight.php", "http_method": "POST", "default_state_off": จริง, "ส่งทันที": "" }] }

ขั้นตอนที่ 10: เชื่อมต่อ Homebridge กับ Iphone ของคุณ

การเชื่อมต่อ Homebridge กับ Iphone ของคุณ
การเชื่อมต่อ Homebridge กับ Iphone ของคุณ
การเชื่อมต่อ Homebridge กับ Iphone ของคุณ
การเชื่อมต่อ Homebridge กับ Iphone ของคุณ
การเชื่อมต่อ Homebridge กับ Iphone ของคุณ
การเชื่อมต่อ Homebridge กับ Iphone ของคุณ

เมื่อกำหนดค่าอุปกรณ์เสริมทั้งหมดแล้ว คุณสามารถเรียกใช้โฮมบริดจ์โดยใช้คำสั่งต่อไปนี้

สะพานบ้าน

คุณควรเห็นหน้าจอด้านบน คุณสามารถทำตามขั้นตอนต่อไปนี้เพื่อเพิ่ม Homebridge ให้กับ homekit ของคุณ

- ตอนนี้เริ่มแอพ "บ้าน" ใน Iphone ของคุณ

- คลิกที่ปุ่ม "เพิ่มอุปกรณ์เสริม"

- คุณจะเห็นหน้าจอเพื่อสแกนโค้ด คุณสามารถใช้กล้องในโทรศัพท์เพื่อสแกนโค้ดจากหน้าจอ Raspberry Pi หรือเพิ่มโค้ดด้วยตนเอง

โปรดทราบว่าทั้ง Iphone และ Raspberry Pi จะต้องอยู่บนเราเตอร์ไร้สายเดียวกันจึงจะใช้งานได้

- เมื่อเชื่อมต่อแล้ว จะมีหน้าจอแจ้งว่าอุปกรณ์เสริมของคุณไม่ผ่านการรับรอง ให้คลิกปุ่ม "เพิ่มต่อไป" เพื่อดำเนินการต่อ

- จากนั้น คุณจะมีตัวเลือกในการกำหนดค่าอุปกรณ์เสริมแต่ละรายการ ในกรณีนี้ เรามีสวิตช์ไฟ เซ็นเซอร์ตรวจจับความเคลื่อนไหว และเซ็นเซอร์อุณหภูมิ

- หน้าจอสุดท้ายจะแสดงอุปกรณ์เสริมทั้งหมดที่เชื่อมต่อ

เมื่อเชื่อมต่อแล้ว คุณสามารถใช้ Siri เพื่อตรวจสอบเซ็นเซอร์ตรวจจับความเคลื่อนไหว อุณหภูมิ และเปิดและปิดไฟได้

ขั้นตอนที่ 11: ทำให้โฮมบริดจ์ของคุณทำงานในเบื้องหลัง

รับโฮมบริดจ์ของคุณเพื่อทำงานในเบื้องหลัง
รับโฮมบริดจ์ของคุณเพื่อทำงานในเบื้องหลัง
รับโฮมบริดจ์ของคุณเพื่อทำงานในเบื้องหลัง
รับโฮมบริดจ์ของคุณเพื่อทำงานในเบื้องหลัง
รับโฮมบริดจ์ของคุณเพื่อทำงานในเบื้องหลัง
รับโฮมบริดจ์ของคุณเพื่อทำงานในเบื้องหลัง

ยินดีด้วย!! คุณได้ทำมัน เป็นโบนัส คุณสามารถเรียกใช้โฮมบริดจ์ที่พื้นหลังโดยใช้คำสั่งต่อไปนี้:

โฮมบริดจ์ &

ตอนนี้คุณสามารถสนุกกับ Siri และสนุกกับการทำงานหนักได้แล้ว

ขอบคุณที่ติดตามเรื่องนี้จนจบ หากคุณชอบสิ่งนี้โปรดแสดงความคิดเห็นหรือโหวตให้ฉัน

แนะนำ: