สารบัญ:
- ขั้นตอนที่ 1: แนวคิด การเชื่อมต่อ และส่วนประกอบ
- ขั้นตอนที่ 2: รับ Arduino IDE เพื่อทำงาน
- ขั้นตอนที่ 3: เชื่อมต่อเซ็นเซอร์อุณหภูมิ LED และ PIR
- ขั้นตอนที่ 4: การตั้งค่าเว็บเซิร์ฟเวอร์คลาวด์
- ขั้นตอนที่ 5: การตั้งค่าฐานข้อมูลเพื่อเก็บข้อมูลอุณหภูมิ
- ขั้นตอนที่ 6: สร้างตาราง "อุณหภูมิ"
- ขั้นตอนที่ 7: อัปโหลดภาพร่างเซ็นเซอร์อุณหภูมิไปยัง ESP8266. ของคุณ
- ขั้นตอนที่ 8: การเข้าถึงเซ็นเซอร์อุณหภูมิและการเคลื่อนไหวของคุณ
- ขั้นตอนที่ 9: ติดตั้ง HomeBridge สำหรับ HomeKit ใน Raspberry Pi (ไม่บังคับ)
- ขั้นตอนที่ 10: เชื่อมต่อ Homebridge กับ Iphone ของคุณ
- ขั้นตอนที่ 11: ทำให้โฮมบริดจ์ของคุณทำงานในเบื้องหลัง
วีดีโอ: IoT Wireless Temperature and Motion Sensor: 11 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ฉันได้รับแรงบันดาลใจจากโครงการ 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 เพื่อทำงาน
สำหรับรายละเอียดเกี่ยวกับขั้นตอนนี้ โปรดดูขั้นตอนที่ 2 คำแนะนำก่อนหน้าของฉันเกี่ยวกับเซ็นเซอร์อุณหภูมิ IoT พร้อม ESP8266
ขั้นตอนที่ 3: เชื่อมต่อเซ็นเซอร์อุณหภูมิ 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. ของคุณ
ตอนนี้คัดลอกไฟล์ที่แนบมาทั้งหมดแล้วเปิด "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 (ไม่บังคับ)
ฉันได้รับแรงบันดาลใจจากคำแนะนำจาก 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 ให้กับ homekit ของคุณ
- ตอนนี้เริ่มแอพ "บ้าน" ใน Iphone ของคุณ
- คลิกที่ปุ่ม "เพิ่มอุปกรณ์เสริม"
- คุณจะเห็นหน้าจอเพื่อสแกนโค้ด คุณสามารถใช้กล้องในโทรศัพท์เพื่อสแกนโค้ดจากหน้าจอ Raspberry Pi หรือเพิ่มโค้ดด้วยตนเอง
โปรดทราบว่าทั้ง Iphone และ Raspberry Pi จะต้องอยู่บนเราเตอร์ไร้สายเดียวกันจึงจะใช้งานได้
- เมื่อเชื่อมต่อแล้ว จะมีหน้าจอแจ้งว่าอุปกรณ์เสริมของคุณไม่ผ่านการรับรอง ให้คลิกปุ่ม "เพิ่มต่อไป" เพื่อดำเนินการต่อ
- จากนั้น คุณจะมีตัวเลือกในการกำหนดค่าอุปกรณ์เสริมแต่ละรายการ ในกรณีนี้ เรามีสวิตช์ไฟ เซ็นเซอร์ตรวจจับความเคลื่อนไหว และเซ็นเซอร์อุณหภูมิ
- หน้าจอสุดท้ายจะแสดงอุปกรณ์เสริมทั้งหมดที่เชื่อมต่อ
เมื่อเชื่อมต่อแล้ว คุณสามารถใช้ Siri เพื่อตรวจสอบเซ็นเซอร์ตรวจจับความเคลื่อนไหว อุณหภูมิ และเปิดและปิดไฟได้
ขั้นตอนที่ 11: ทำให้โฮมบริดจ์ของคุณทำงานในเบื้องหลัง
ยินดีด้วย!! คุณได้ทำมัน เป็นโบนัส คุณสามารถเรียกใช้โฮมบริดจ์ที่พื้นหลังโดยใช้คำสั่งต่อไปนี้:
โฮมบริดจ์ &
ตอนนี้คุณสามารถสนุกกับ Siri และสนุกกับการทำงานหนักได้แล้ว
ขอบคุณที่ติดตามเรื่องนี้จนจบ หากคุณชอบสิ่งนี้โปรดแสดงความคิดเห็นหรือโหวตให้ฉัน
แนะนำ:
IoT- Ubidots- ESP32+Long-Range-Wireless-Vibration-And-Temperature-Sensor: 7 ขั้นตอน
IoT- Ubidots- ESP32+Long-Range-Wireless-Vibration-And-Temperature-Sensor: Vibration เป็นการเคลื่อนไหวหรือการสั่นของเครื่องจักรและส่วนประกอบในอุปกรณ์ขับเคลื่อนด้วยมอเตอร์อย่างแท้จริง การสั่นสะเทือนในระบบอุตสาหกรรมอาจเป็นอาการหรือเหตุจูงใจของความยุ่งยาก หรืออาจเกี่ยวข้องกับการทำงานประจำวัน ตัวอย่างเช่น osci
Arduino Solar Powered Temperature and Humidity Sensor As 433mhz Oregon Sensor: 6 ขั้นตอน
Arduino Solar Powered Temperature and Humidity Sensor As 433mhz Oregon Sensor: นี่คือการสร้างเซ็นเซอร์อุณหภูมิและความชื้นที่ใช้พลังงานแสงอาทิตย์ เซ็นเซอร์จำลองเซ็นเซอร์ Oregon 433mhz และมองเห็นได้ในเกตเวย์ Telldus Net สิ่งที่คุณต้องการ: 1x "10-LED พลังงานแสงอาทิตย์ Motion Sensor" จากอีเบย์ ตรวจสอบให้แน่ใจว่ามันบอกว่าแป้ง 3.7v
การส่ง-Data-of-IOT-Wireless-Temperature-and-Humidity-Sensor-to-MySQL: 41 ขั้นตอน
Sending-Data-of-IOT-Wireless-Temperature-and-Humidity-Sensor-to-MySQL: ขอแนะนำ IoT Temperature and Humidity Sensor ระยะไกลของ NCD ด้วยระยะสูงสุด 28 ไมล์ และสถาปัตยกรรมเครือข่ายแบบเมชไร้สาย เซ็นเซอร์นี้จะส่งข้อมูลความชื้น (±1.7%) และอุณหภูมิ (±0.3°C) ตามช่วงเวลาที่ผู้ใช้กำหนด
IOT Long Range Wireless Temperature and Humidity Sensor with Node-Red: 27 ขั้นตอน
IOT Long Range Wireless Temperature and Humidity Sensor With Node-Red: ขอแนะนำเซ็นเซอร์ความชื้นอุณหภูมิไร้สายระยะไกลของ NCD ที่มีระยะสูงสุด 28 ไมล์โดยใช้สถาปัตยกรรมเครือข่ายตาข่ายไร้สาย การรวมเซ็นเซอร์อุณหภูมิความชื้น Honeywell HIH9130 ส่งสัญญาณอุณหภูมิที่มีความแม่นยำสูงและ
Bluetooth Wireless Interface สำหรับ Mitutoyo Calipers and indicators: 8 ขั้นตอน (พร้อมรูปภาพ)
อินเทอร์เฟซไร้สาย Bluetooth สำหรับเครื่องวัดเส้นผ่าศูนย์กลางและตัวชี้วัด Mitutoyo: ปัจจุบันมีเครื่องวัดเส้นผ่าศูนย์กลาง ไมโครมิเตอร์ ตัวบ่งชี้ และอุปกรณ์อื่นๆ ของ Mitutoyo Digimatic หลายล้านรายการ หลายคนเช่นฉันใช้อุปกรณ์เหล่านั้นเพื่อรวบรวมข้อมูลลงในพีซีโดยตรง ช่วยลดการเข้าสู่ระบบและพิมพ์ในบางครั้งหลายร้อย