สารบัญ:

การสร้างอุปกรณ์ Homie สำหรับ IoT หรือระบบอัตโนมัติภายในบ้าน: 7 ขั้นตอน (พร้อมรูปภาพ)
การสร้างอุปกรณ์ Homie สำหรับ IoT หรือระบบอัตโนมัติภายในบ้าน: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การสร้างอุปกรณ์ Homie สำหรับ IoT หรือระบบอัตโนมัติภายในบ้าน: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การสร้างอุปกรณ์ Homie สำหรับ IoT หรือระบบอัตโนมัติภายในบ้าน: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: 7 อุปกรณ์เปลี่ยนบ้านให้เป็น Smart Home 2024, พฤศจิกายน
Anonim
การสร้างอุปกรณ์ Homie สำหรับ IoT หรือระบบอัตโนมัติภายในบ้าน
การสร้างอุปกรณ์ Homie สำหรับ IoT หรือระบบอัตโนมัติภายในบ้าน

คำแนะนำนี้เป็นส่วนหนึ่งของชุด DIY Home Automation ของฉัน โปรดดูบทความหลัก "การวางแผนระบบ DIY Home Automation" หากคุณยังไม่รู้ว่า Homie คืออะไร ลองดู homie-esp8266 + homie จาก Marvin Roger

มีเซนเซอร์มากมาย ฉันกำลังครอบคลุมเนื้อหาพื้นฐานเพื่อให้ผู้อ่านมีข้อกำหนดในการเริ่มต้นสร้าง "บางสิ่ง" นั่นอาจไม่ใช่วิทยาศาสตร์จรวด แต่น่าจะใช้ได้จริง

หากคุณไม่มีชิ้นส่วน ให้ระวัง "การจัดหาชิ้นส่วนอิเล็กทรอนิกส์จากเอเชีย" ที่สอนได้

ให้ฉันเพิ่มคำศัพท์บางคำ: IoT, ESP8266, Homie, DHT22, DS18B20, ระบบอัตโนมัติภายในบ้าน

หัวข้อควรจะค่อนข้างชัดเจนในขณะนี้:-)

นอกจากนี้ คำแนะนำนี้ยังสามารถใช้ได้จากหน้าส่วนตัวของฉัน:

ขั้นตอนที่ 1: เริ่มต้น

เริ่มต้น
เริ่มต้น
เริ่มต้น
เริ่มต้น

อนุสัญญา

คำแนะนำนี้ใช้โคลน D1 Mini เหล่านี้เป็นตัวควบคุมที่เข้ากันได้กับ Arduino ที่เปิดใช้งาน WiFi โดยใช้ชิป ESP8266 พวกเขาจัดส่งในฟอร์มแฟคเตอร์ขนาดเล็กมาก (~34*25 มม.) และมีราคาถูก (~3-4 เหรียญสำหรับโคลน)

ฉันจะอธิบายแต่ละบิลด์โดยใช้ D1 Mini, เขียงหั่นขนม และเซ็นเซอร์บางตัว ฉันรวม Bill Of Materials (BOM) ไว้สำหรับแต่ละรายการแล้ว แต่จะข้ามสิ่งที่ชัดเจน เช่น สายจัมเปอร์และเขียงหั่นขนม (ขนาดเล็กหรือเต็ม) ฉันจะเน้นที่ "ส่วนที่ใช้งาน"

สำหรับสายไฟ/สายเคเบิลในไดอะแกรม (ไลบรารี Fritzing + AdaFruitFritzing) ฉันใช้:

  • สีแดง/สีส้มสำหรับกำลังไฟ ปกติ 3.3V บางครั้งมันจะเป็น 5V ระวัง.
  • สีดำสำหรับพื้น
  • สีเหลืองสำหรับสัญญาณข้อมูลดิจิทัล: บิตกำลังเคลื่อนที่และสามารถอ่านได้เหมือนกับชิป
  • สีน้ำเงิน/สีม่วงสำหรับสัญญาณข้อมูลแอนะล็อก: ไม่มีบิตที่นี่ เป็นเพียงแรงดันไฟฟ้าธรรมดาที่ต้องวัดและคำนวณเพื่อให้เข้าใจว่าเกิดอะไรขึ้น

Homie สำหรับ ESP8266 มีตัวอย่างมากมาย นั่นคือสิ่งที่ฉันเริ่มสร้างคำแนะนำนี้

เขียงหั่นขนม

D1 ค่อนข้างเป็นมิตรกับเขียงหั่นขนม แต่จะบันทึกพินขึ้นและลงเพียงแถวเดียว แต่ละตัวอย่างจะมี D1 อยู่ทางด้านขวาและส่วนประกอบทางด้านซ้าย รางไฟฟ้าบนและล่างจะใช้สำหรับพกพา 3.3V หรือ 5V

บันทึก

ตัวอย่าง Homie ถูกสร้างขึ้นเป็นภาพร่าง ".ino" สำหรับ Arduino IDE อย่างไรก็ตาม รหัสของฉันถูกสร้างเป็น ".ccp" สำหรับ PlatformIO

สิ่งนี้จะสร้างความแตกต่างได้น้อยมาก เนื่องจากภาพสเก็ตช์นั้นง่ายพอที่จะคัดลอก/วางไม่ว่าเครื่องมือที่คุณเลือกคืออะไร

ขั้นตอนที่ 2: อุณหภูมิและความชื้น: DHT22 / DHT11

อุณหภูมิและความชื้น: DHT22 / DHT11
อุณหภูมิและความชื้น: DHT22 / DHT11
อุณหภูมิและความชื้น: DHT22 / DHT11
อุณหภูมิและความชื้น: DHT22 / DHT11
อุณหภูมิและความชื้น: DHT22 / DHT11
อุณหภูมิและความชื้น: DHT22 / DHT11

การสร้างอุปกรณ์

DHT22 ใช้:

  • หนึ่งพินดิจิตอลเพื่อสื่อสารกับคอนโทรลเลอร์ เชื่อมต่อกับ D3
  • สายไฟสองเส้น (3.3V หรือ 5V + GND)
  • พินดิจิตอลจะต้องอยู่ในระดับสูง (เชื่อมต่อกับพลังงาน) สำหรับสิ่งนี้เราใช้ตัวต้านทานระหว่างรางพลังงานและดาต้าพิน

รหัส

สามารถดาวน์โหลดโครงการ PlatformIO ได้จาก:

ตัวอย่าง Homie ดั้งเดิมอยู่ที่นี่ (แต่ไม่ใช้เซ็นเซอร์):

สำหรับ DHT22 ให้ใช้ไลบรารีเซ็นเซอร์ DHT (ID=19)

บอม

  • คอนโทรลเลอร์: Wemos D1 Mini
  • ตัวต้านทาน: 10KΩ
  • เซนเซอร์: (หนึ่งในนั้น)

    • DHT22: ฉันเคยใช้แบบ 4 พินซึ่งต้องใช้ตัวต้านทานเพิ่มเติม มีโมดูลพิน 3 ตัวที่จัดส่งเป็น SMD ซึ่งรวมถึงตัวต้านทาน
    • DHT11: ถูกกว่าแต่แม่นยำน้อยกว่า ตรวจสอบความต้องการของคุณ

ขั้นตอนที่ 3: อุณหภูมิกันน้ำ: DS18B20

อุณหภูมิกันน้ำ: DS18B20
อุณหภูมิกันน้ำ: DS18B20
อุณหภูมิกันน้ำ: DS18B20
อุณหภูมิกันน้ำ: DS18B20
อุณหภูมิกันน้ำ: DS18B20
อุณหภูมิกันน้ำ: DS18B20

การสร้างอุปกรณ์ DS18B20 ใช้:

  • หนึ่งพินดิจิตอลเพื่อสื่อสารกับคอนโทรลเลอร์ เชื่อมต่อกับ D3
  • สายไฟสองเส้น (3.3V หรือ 5V + GND)
  • พินดิจิตอลจะต้องอยู่ในระดับสูง (เชื่อมต่อกับพลังงาน) สำหรับสิ่งนี้เราใช้ตัวต้านทานระหว่างรางพลังงานและดาต้าพิน

DS18B20 เป็นเซ็นเซอร์แบบ 1 สาย ใช้บัสและเซ็นเซอร์หลายตัวสามารถใช้ดาต้าพินเดียวได้

นอกจากนี้ยังเป็นไปไม่ได้ที่จะไม่ใช้ 3.3V/5V เพื่อจ่ายไฟให้กับเซ็นเซอร์ ซึ่งเรียกว่าโหมดพลังงานกาฝาก ดูแผ่นข้อมูลสำหรับรายละเอียด

รหัส

สามารถดาวน์โหลดโครงการ PlatformIO ได้จาก:

เช่นเดียวกับ DHT22 ตัวอย่าง Homie ดั้งเดิมอยู่ที่นี่ (แต่ไม่ใช้เซ็นเซอร์):

สำหรับบัส 1-Wire ให้ใช้แพ็คเกจ OneWire (ID=1)

สำหรับ DS18B20 ให้ใช้ DallasTemperature (ID=54)

บอม

  • คอนโทรลเลอร์: Wemos D1 Mini
  • ตัวต้านทาน: 4.7KΩ
  • เซนเซอร์: DS18B20 ในรูปเป็นแบบกันน้ำ
  • ขั้วต่อสกรู 3 พินเพื่อความสะดวกในการเชื่อมต่อสายเคเบิลเข้ากับเขียงหั่นขนม

ขั้นตอนที่ 4: แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (ดิจิตอล: เปิด/ปิด)

แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (ดิจิตอล: เปิด/ปิด)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (ดิจิตอล: เปิด/ปิด)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (ดิจิตอล: เปิด/ปิด)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (ดิจิตอล: เปิด/ปิด)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (ดิจิตอล: เปิด/ปิด)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (ดิจิตอล: เปิด/ปิด)

การสร้างอุปกรณ์

(ขออภัย ไม่มีส่วนประกอบ Fritzing สำหรับตาแมวดิจิทัล)

โมดูลดิจิตอลตาแมวใช้:

  • หนึ่งพินดิจิตอลเพื่อสื่อสารกับคอนโทรลเลอร์ เชื่อมต่อกับ D3
  • สายไฟสองเส้น (3.3V + GND)

เป็นไปได้ที่จะใช้โฟโตเซลล์แบบแอนะล็อก แต่ไม่มีเอกสารอยู่ที่นี่ โปรดดูบทความยอดเยี่ยมของ Adafruit เรื่อง "การใช้โฟโตเซลล์"

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

รหัส

สามารถดาวน์โหลดโครงการ PlatformIO ได้จาก:

บอม

คอนโทรลเลอร์: Wemos D1 Mini

เซนเซอร์: ไวแสง / โมดูลตรวจจับแสง

ขั้นตอนที่ 5: แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (แอนะล็อก)

แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (แอนะล็อก)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (แอนะล็อก)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (แอนะล็อก)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (แอนะล็อก)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (แอนะล็อก)
แสง: โฟโตรีซีสเตอร์ / โฟโตเซลล์ (แอนะล็อก)

การสร้างอุปกรณ์

โฟโตเซลล์แอนะล็อกเซ็นเซอร์ทำหน้าที่เป็นตัวต้านทาน มันจะเชื่อมต่อระหว่างอินพุตแบบอะนาล็อกและ 3.3V

ใส่ตัวต้านทานระหว่าง GND และดาต้าพินเพื่อสร้างตัวแบ่งแรงดันไฟ มีวัตถุประสงค์เพื่อสร้างช่วงค่าที่รู้จัก:

  • หากไม่มีแสงโฟโตเซลล์โดยทั่วไปจะบล็อก VCC ดังนั้นการเชื่อมต่อ GND กับดาต้าพินของคุณ: พินจะอ่านเกือบ 0
  • มีแสงจ้ามาก ตาแมวจะปล่อยให้ VCC ไหลไปยังขาดาต้า: พินจะอ่านค่าไฟเกือบเต็มและใกล้เคียงกับค่าสูงสุด (1023)

หมายเหตุ: ค่าพินแบบอะนาล็อกจะอ่านในช่วง 0-1023 โดยใช้ analogRead สิ่งนี้ไม่เป็นประโยชน์ในการจัดการกับค่า 1 ไบต์ สำหรับฟังก์ชันแผนที่ Arduino นี้จะช่วยลดจาก 0-1023 เป็น (เช่น) 0-255

สำหรับการปรับเทียบค่าต่ำสุด/สูงสุดสำหรับเซ็นเซอร์ของคุณ ให้ใช้ภาพสเก็ตช์แบบนี้จาก Arduino

รหัส

สามารถดาวน์โหลดโครงการ PlatformIO ได้จาก:

บอม

  • คอนโทรลเลอร์: Wemos D1 Mini
  • เซนเซอร์: ตัวต้านทานแบบพึ่งพาแสง (LDR) / โฟโตรีซีสเตอร์
  • ตัวต้านทาน: 1K หรือ 10K จำเป็นต้องปรับเทียบตามเซลล์ของคุณ

อ้างอิง

  • รหัสแหล่งที่มาของเซิร์ฟเวอร์ PiDome สำหรับสภาพแสงของสถานที่
  • Adafruit's "การใช้ตาแมว"
  • "Photoresistors" ที่นี่ที่ Instructables
  • "การสอนโฟโตเซลล์" บ้าๆบอ ๆ ถ้าคุณต้องการคณิตศาสตร์และกราฟ

ขั้นตอนที่ 6: ตัวตรวจจับแสง: QRD1114

การสร้างอุปกรณ์

รหัส

บอม

อ้างอิง

  • คอมพิวเตอร์กายภาพ: QRD1114 รวมโค้ดตัวอย่างเพื่ออ่านเซ็นเซอร์และใช้การขัดจังหวะสำหรับตัวเข้ารหัสแบบหมุน + การออกแบบ PCB ที่แม่นยำ
  • QRD1114 คู่มือการเชื่อมต่อเครื่องตรวจจับแสงที่ Sparkfun

ขั้นตอนที่ 7: คำสุดท้าย

คำพูดสุดท้าย
คำพูดสุดท้าย

คำแนะนำนี้สั้นมากในการอธิบายการตรวจสอบขั้นพื้นฐาน

ในการไปต่อ เราจะต้องเชื่อมต่อรีเลย์, IR emitter… หวังว่าจะครอบคลุมในภายหลังเนื่องจากเวลาว่างทำให้ฉันทำได้ ความแตกต่างที่สำคัญคือ เราจะไม่เพียงแค่ "อ่าน" (มีไฟไหม) แต่ยัง "เขียน" ด้วย (เปิดไฟ!)

แนะนำ: