สารบัญ:
- ขั้นตอนที่ 1: บทนำ
- ขั้นตอนที่ 2: โมดูล 1 - FLAT
- ขั้นตอนที่ 3: โมดูล 2 - BOILER
- ขั้นตอนที่ 4: เว็บอินเตอร์เฟสเสนออะไร
วีดีโอ: เครื่องวัดอุณหภูมิความชื้น - Arduino Mega + Ethernet W5100: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
โมดูล 1 - FLAT - ฮาร์ดแวร์:
- Arduino Mega 2560
- Wiznet W5100 อีเธอร์เน็ตชิลด์
- เซ็นเซอร์อุณหภูมิ DS18B20 8x บนบัส OneWire - แบ่งออกเป็น 4 บัส OneWire (2, 4, 1, 1)
- 2x เซ็นเซอร์อุณหภูมิและความชื้นดิจิตอล DHT22 (AM2302)
- 1x เซ็นเซอร์อุณหภูมิและความชื้น SENSIRION SHT21 (Si7021)
- 1x BOSCH BME280 อุณหภูมิและความชื้น (และความดันอากาศ) เซ็นเซอร์
- ส่งข้อมูลจากเซ็นเซอร์ทั้งหมดพร้อมกันในไม่กี่นาที (สามารถแก้ไขได้)
โมดูล 2 - บอยเลอร์ - ฮาร์ดแวร์:
- Arduino Mega 2560
- Wiznet W5100 อีเธอร์เน็ตชิลด์
- เซ็นเซอร์อุณหภูมิ DS18B20 16x บนบัส OneWire - แบ่งออกเป็น 7 บัส OneWire (2, 2, 2, 2, 2, 2, 4)
- อินพุตดิจิตอล 8x
- เอาต์พุตดิจิตอล 8x - สำหรับโซลินอยด์ / รีเลย์
- ส่งข้อมูลจากเซ็นเซอร์ทั้งหมดพร้อมกันในไม่กี่นาที (สามารถแก้ไขได้)
- มันอ่านสถานะของเอาต์พุตแต่ละรายการจากเว็บอินเตอร์เฟส นำไปใช้ ส่งสถานะอินพุตดิจิตอล
ขั้นตอนที่ 1: บทนำ
วันนี้ผมจะนำเสนอรายละเอียดเกี่ยวกับโปรเจ็กต์ล่าสุด ซึ่งค่อนข้างซับซ้อนในแง่ของการใช้งาน จำนวนเซนเซอร์ที่ใช้ บอร์ด Arduino บัสข้อมูลที่ใช้ โครงการประกอบด้วยสองโมดูล แต่ละโมดูลประกอบด้วย Arduino Mega 2560 แยกกัน, อีเธอร์เน็ตชิลด์ W5100 (เข้ากันได้กับ R3) และเซ็นเซอร์ที่ใช้
แต่ละโมดูลสื่อสารกับเว็บอินเตอร์เฟสบนอินเทอร์เน็ตโดยคำขอ HTTP POST โดยที่เว็บเซิร์ฟเวอร์ขายข้อมูลหรือขอข้อมูลบางอย่าง เช่น ผ่านคำขอ POST (โมดูล 2 เท่านั้น) อินเทอร์เฟซเว็บเสร็จสมบูรณ์ด้วยระบบเข้าสู่ระบบ ในขณะที่ทุกคนในครอบครัวสามารถลงทะเบียนกับระบบได้ โดยแต่ละคนมีชื่อและรหัสผ่าน ดังนั้นจึงเป็นแอปพลิเคชันแบบผู้ใช้หลายคนที่สมาชิกในครอบครัวแต่ละคนมีภาพรวมของทั้งสองโมดูลและสามารถดำเนินการต่างๆ ได้ - การตั้งค่าอุณหภูมิอ้างอิง เทอร์โมมิเตอร์ควบคุม ฯลฯ เว็บอินเตอร์เฟสถูกตั้งโปรแกรมใน PHP ข้อมูลจะถูกเก็บไว้ในฐานข้อมูล MySQL แต่ละโมดูลมีตารางแยกกันในฐานข้อมูลสำหรับข้อมูล พิจารณาแต่ละโมดูลโดยละเอียดยิ่งขึ้น
ขั้นตอนที่ 2: โมดูล 1 - FLAT
ทั้งโมดูล 1- FLAT ทำหน้าที่เป็นตัวตรวจสอบอุณหภูมิในแต่ละห้องเท่านั้น ไม่มีบทบาทอื่น เซ็นเซอร์ DHT22 ถูกใช้ในระยะไกลโดยใช้ตัวต้านทานแบบดึงขึ้น 10kohm ที่เหมาะสมเพื่อบันทึกความชื้นในห้องน้ำ เนื่องจาก BME280 และ SHT21 สื่อสารผ่านบัส I2C และสิ่งนี้ถูกจำกัดในแง่ของความยาวของไดรเวอร์บัส เซ็นเซอร์จึงถูกใช้ใกล้กับ Arduino ในห้อง
เซ็นเซอร์อุณหภูมิ DS18B20 ถูกแบ่งออกเป็น 4 บัส เนื่องจากมีการใช้เซ็นเซอร์ภายนอก 2 ตัว ทำให้ง่ายต่อการเชื่อมต่อกับเต้าเสียบ Arduino ที่แยกจากกัน และในกรณีที่เซ็นเซอร์ตก จะเปลี่ยนได้ง่ายขึ้นเนื่องจากไม่ทำให้การทำงานเป็นอัมพาต ของระบบ
ตัวอย่างเช่น ในกรณีของรถโดยสาร OneWire เหล่านี้ซึ่งมีการจัดทำดัชนีเซ็นเซอร์ 4 ตัว ดัชนีเชื่อมโยงกับที่อยู่ทางกายภาพของเทอร์โมมิเตอร์ ดังนั้นหากมีการแลกเปลี่ยนเซ็นเซอร์ตัวใดตัวหนึ่ง เซ็นเซอร์ใหม่อาจปรากฏบนดัชนี 0 - ค่าเริ่มต้น หรือแม้แต่ 2, 3 หรือสุดท้าย ดังนั้น ด้วยการลดจำนวนเซ็นเซอร์บนบัส เราจึงสามารถหลีกเลี่ยงความยุ่งยากดังกล่าวที่อาจเกิดขึ้นได้เมื่อเปลี่ยนเซ็นเซอร์
ขั้นตอนที่ 3: โมดูล 2 - BOILER
นอกเหนือจากฟังก์ชั่นการตรวจสอบแล้ว โมดูล 2 - บอยเลอร์ยังมีบทบาทที่สำคัญกว่านั้นอีก ได้แก่ การควบคุมโซลินอยด์หรือรีเลย์สำหรับการควบคุมวาล์วหม้อน้ำ โมดูลทำงานโดยไม่ขึ้นกับความร้อนภายใน โมดูลไม่เปลี่ยนการทำความร้อนหรือหม้อไอน้ำ โมดูลดูแลเฉพาะการเปิดปิดวาล์วหม้อน้ำหากอุณหภูมิห้องต่ำกว่า / สูงกว่าชุด - ที่เรียกว่า อุณหภูมิอ้างอิง แต่ละห้องที่ควบคุมวาล์วหม้อน้ำสามารถกำหนดเทอร์โมมิเตอร์เฉพาะจากโมดูล 2 นอกจากนี้ - โหมดอัตโนมัติยังมีโหมดแมนนวลที่สามารถเปิด / ปิดวาล์วด้วยตนเองจากเว็บอินเตอร์เฟสอย่างไม่มีกำหนด - ยาก อินพุตดิจิตอลสามารถใช้เพื่อตรวจสอบว่าโซลินอยด์ / รีเลย์ / วาล์วถูกเปิด / ปิดตามคำขอกับ Arduina - ความสามารถในการเปรียบเทียบว่าเอาต์พุตเท่ากับอินพุตหรือไม่
ขั้นตอนที่ 4: เว็บอินเตอร์เฟสเสนออะไร
สำหรับทั้งสองโมดูล ยังมีการแสดงกราฟเส้นสำหรับการพัฒนาตัวแปรแต่ละตัว - อุณหภูมิ ความชื้นใน 24 ชั่วโมง 7 วัน เว็บอินเตอร์เฟสยังให้การดูค่าสูงสุด/ต่ำสุด ค่าเฉลี่ยใน 24 ชั่วโมง 7 วัน สำหรับแต่ละเทอร์โมมิเตอร์/ไฮโกรมิเตอร์ ในโมดูล 1 มีการพิจารณาเซ็นเซอร์ SHT21 คู่แรก แต่เนื่องจากไม่มีความเป็นไปได้ในการเปลี่ยนที่อยู่ I2C จึงจำเป็นต้องใช้มัลติเพล็กเซอร์สำหรับการสื่อสารบัสหนึ่งตัวจากเซ็นเซอร์สองตัวที่มีที่อยู่ I2C เดียวกัน ในกรณีที่ข้อมูลเซ็นเซอร์ผิดพลาด ชื่อเซ็นเซอร์จะถูกเก็บไว้ในบันทึกที่ผู้ดูแลระบบสามารถเปิดได้ตลอดเวลาเพื่อให้บริการบัส OneWire และเปลี่ยนเซ็นเซอร์ที่ผิดพลาด เป็นต้น
Watchdog ได้ถูกนำมาใช้ในโปรแกรม Arduino ซึ่งในกรณีที่การเริ่มต้นผิดพลาด "หยุด" ข้อผิดพลาดอื่นจะเริ่มต้นใหม่อย่างปลอดภัยและเมื่อเริ่มต้นโปรแกรมจะปิดเอาต์พุตทั้งหมดจนกว่าจะสร้างการเชื่อมต่อกับเว็บอินเตอร์เฟสซึ่งจะมีการซิงโครไนซ์อย่างสมบูรณ์ เงื่อนไขของผลลัพธ์ซึ่งจะใช้ในภายหลัง
โครงการอื่นๆ ที่คุณสามารถพบได้ที่: https://arduino.php5.sk?lang=en Donate สำหรับตัวอย่างเพิ่มเติม:
แนะนำ:
DIY 10/100M Ethernet PoE Injector: 6 ขั้นตอน
DIY 10/100M Ethernet PoE Injector: เราจะสร้าง PoE inector แบบง่าย ๆ เหมาะสำหรับ 10/100M ethernet และสามารถขับเคลื่อนด้วยแบตเตอรี่ได้โดยตรง
Raspberry Pi Ethernet เป็น Wifi Bridge: 7 ขั้นตอน
Raspberry Pi Ethernet to Wifi Bridge: ฉันมีเครือข่ายทดสอบของ Raspberry Pies อุปกรณ์ต่างๆ คอมพิวเตอร์และอุปกรณ์เครือข่ายอื่นๆ ทั้งหมดได้รับการจัดการโดยไฟร์วอลล์/เราเตอร์ที่แพร่หลาย และฉันต้องการเชื่อมต่อกับอินเทอร์เน็ตเพื่อที่ฉันจะได้ ดึงการอัปเดต ซอฟต์แวร์ ฯลฯ น่าเสียดาย
เครื่องทดสอบสายเคเบิล Ethernet RJ45: 5 ขั้นตอน (พร้อมรูปภาพ)
เครื่องทดสอบสายเคเบิล Ethernet RJ45: สวัสดีทุกคน นี่เป็นคำสั่งแรกของฉัน ให้อภัยคำอธิบายที่น้อยกว่าที่เหมาะสมของฉัน (และรูปถ่ายที่ขาดหายไปบางส่วน) - แนวคิด (คือความต้องการจริง ๆ ) คือการตรวจสอบสายเคเบิลที่เหมาะสมของสายยาว (40 ม. หรือ ดังนั้น) สายเคเบิลอีเธอร์เน็ตจากแฟลตของฉันถึงชั้นใต้ดิน รู
แชร์ WiFi ด้วยพอร์ต Ethernet บน Raspberry Pi: 7 ขั้นตอน (พร้อมรูปภาพ)
แชร์ WiFi กับพอร์ตอีเทอร์เน็ตบน Raspberry Pi: คุณมีเครื่องพิมพ์เลเซอร์หรือสแกนเนอร์รุ่นเก่าที่ยังคงใช้งานได้ดี แต่ไม่รองรับ wifi หรือไม่ หรือบางทีคุณอาจต้องการเชื่อมต่อฮาร์ดไดรฟ์ภายนอกเป็นอุปกรณ์สำรองข้อมูลบนเครือข่ายของคุณและพอร์ตอีเทอร์เน็ตบนเราเตอร์ที่บ้านของคุณหมด คำสั่งนี้
Ethernet Link Tester: 5 ขั้นตอน (พร้อมรูปภาพ)
ตัวทดสอบการเชื่อมโยงอีเทอร์เน็ต: วิธีการนี้ทำให้เครื่องมือทดสอบที่มีประโยชน์ซึ่งช่วยให้คุณระบุได้อย่างรวดเร็วว่าการเชื่อมต่อหรือสายเคเบิลอีเทอร์เน็ตที่คุณเพิ่งสร้างขึ้นจะเชื่อมโยงกับเครือข่ายของคุณหรือไม่ หากคุณทำงานในสภาพแวดล้อมไอทีขององค์กร คุณจะรู้ว่าโดยทั่วไปมีพอร์ตเครือข่ายมากกว่า