แนวทางที่แปลกใหม่ของนักพัฒนาในการสร้างระบบอัตโนมัติในบ้านได้จุดประกายการถกเถียงอย่างร้อนแรงในชุมชนเทคโนโลยี แทนที่จะใช้โซลูชันยอดนิยมอย่าง Home Assistant พวกเขาสร้างระบบไฟอัจฉริยะทั้งหมดด้วย Bash scripts, MQTT messaging และโปรแกรมเราเตอร์ที่กำหนดเองชื่อ MQTTR
ระบบนี้ควบคุมไฟที่รองรับ Zigbee ผ่าน Bash scripts ชุดหนึ่งที่ตอบสนองต่อข้อความ MQTT เมื่อมีคนเปิด-ปิดสวิตช์ที่ผนังหรือกดปุ่มหรี่ไฟ scripts จะแยกวิเคราะห์ข้อมูล JSON ดึงข้อมูลห้องออกมา และส่งคำสั่งสลับกลับไปยังไฟ การตั้งค่านี้ยังรวมถึงการควบคุมผ่านโทรศัพท์ Android ด้วย MQTT namespace แบบมิเรอร์ที่แปลงข้อความ JSON ที่ซับซ้อนให้เป็นค่าตัวเลขง่ายๆ
องค์ประกอบทางเทคนิคหลัก:
- MQTTR: โปรแกรม MQTT router แบบกำหนดเองสำหรับเรียกใช้สคริปต์ตามรูปแบบข้อความ
- Zigbee2MQTT: ซอฟต์แวร์เชื่อมต่อระหว่างอุปกรณ์ Zigbee และโปรโตคอล MQTT
- MqttDroid: แอป Android สำหรับควบคุมอุปกรณ์ผ่าน MQTT
- ตัวกรองข้อความ:
zigbee2mqtt/+/+/
สำหรับสวิตช์,house/+/+/+/set
สำหรับการควบคุม - ช่วงอุณหภูมิสี: 153-454 เคลวินพร้อมค่าที่ตั้งไว้ล่วงหน้า 4 ค่า
ชุมชนแบ่งความเห็นเรื่องบทบาท Bash ในระบบสำคัญ
ชุมชนเทคนิคแสดงปฏิกิริยาที่หลากหลายต่อการใช้ Bash สำหรับโครงสร้างพื้นฐานในบ้าน นักพัฒนาบางคนแสดงความกังวลเรื่องความน่าเชื่อถือ ในขณะที่คนอื่นๆ ชื่นชมความเรียบง่ายและความโปร่งใสของแนวทางนี้ การถกเถียงเผยให้เห็นการโต้วาทีที่กว้างขึ้นเกี่ยวกับเวลาที่ควรใช้สคริปต์เบาๆ เทียบกับแพลตฟอร์มอัตโนมัติที่มีฟีเจอร์ครบครัน
ผู้แสดงความคิดเห็นหลายคนค้นพบฟีเจอร์ใหม่ของ Bash ผ่านบทความนี้ โดยเฉพาะตัวแปร BASH_REMATCH สำหรับการจับคู่รูปแบบ regex สิ่งนี้กระตุ้นให้เกิดการสนทนาเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดของ shell scripting และการเปรียบเทียบประสิทธิภาพระหว่างแนวทางต่างๆ
การเปรียบเทียบประสิทธิภาพ (1,000 ครั้ง):
- Bash native replacement: 0.015 วินาที
- Shell function replacement: 0.088 วินาที
- Sed with fork: 9.908 วินาที
การเปรียบเทียบประสิทธิภาพ (50,000 ครั้ง):
- Bash native replacement: 0.351 วินาที
- Shell function replacement: 0.631 วินาที
ทางเลือกอื่นของ Home Assistant ได้รับความสนใจ
บทความนี้ทำให้เกิดความสนใจใหม่ในโซลูชันระบบอัตโนมัติในบ้านแบบ DIY สมาชิกชุมชนหลายคนแบ่งปันทางเลือกเบาๆ ของตนเอง รวมถึงการใช้ Nushell สำหรับการกำหนดเส้นทาง MQTT และ Termux widgets สำหรับการรวม Android การถกเถียงเน้นย้ำถึงความผิดหวังที่เพิ่มขึ้นต่อกระบวนการติดตั้งที่ซับซ้อนของซอฟต์แวร์ระบบอัตโนมัติในบ้านหลัก
นักวิจารณ์โซลูชันแบบดั้งเดิมชี้ไปที่ปัญหาการพึ่งพาและค่าใช้จ่ายในการบำรุงรักษาเป็นเหตุผลในการสำรวจแนวทางที่เรียบง่ายกว่า อย่างไรก็ตาม ผู้สนับสนุนโต้แย้งว่าแพลตฟอร์มที่มีชื่อเสียงอย่าง Home Assistant ให้ความเสถียรระยะยาวที่ดีกว่าและอินเตอร์เฟซที่เป็นมิตรกับผู้ใช้สำหรับผู้ใช้ที่ไม่ใช่ด้านเทคนิค
ความกังวลเรื่องประสิทธิภาพและความน่าเชื่อถือเผยออกมา
การถกเถียงทางเทคนิคมุ่งเน้นไปที่การแลกเปลี่ยนระหว่าง shell scripting และการเรียกใช้คำสั่งภายนอก สมาชิกชุมชนถกเถียงกันว่าฟีเจอร์ Bash ดั้งเดิมหรือเครื่องมือภายนอกอย่าง sed และ grep ให้ประสิทธิภาพที่ดีกว่าสำหรับงานประมวลผลข้อความ การสนทนาเผยให้เห็นความรู้ลึกเกี่ยวกับการปรับปรุง shell และความเข้ากันได้กับ POSIX
พลังที่แท้จริงของ shell script คือการประสานงานโปรแกรม เมื่อคุณพบว่าตัวเองกำลังเปลี่ยนแปลงข้อมูลด้วยโครงสร้าง shell นั่นคือสัญญาณให้ใช้ภาษาโปรแกรมมิ่งจริงแทน
นักพัฒนาบางคนกังวลเรื่องการดีบักและการแก้ไขปัญหาระบบที่ซับซ้อนแบบ Bash ในขณะที่คนอื่นๆ ชื่นชมความโปร่งใสและการควบคุมที่มาพร้อมกับการเข้าใจทุกส่วนประกอบของการตั้งค่าของพวกเขา
โครงการนี้แสดงให้เห็นทั้งความยืดหยุ่นของเครื่องมือสคริปต์สมัยใหม่และความตึงเครียดที่ยังคงมีอยู่ระหว่างความเรียบง่ายและความซับซ้อนในระบบอัตโนมัติในบ้าน ว่าแนวทางนี้แสดงถึงนวัตกรรมหรือความซับซ้อนที่ไม่จำเป็นนั้นขึ้นอยู่กับระดับความสะดวกสบายทางเทคนิคของแต่ละบุคคลและความต้องการในการบำรุงรักษาเป็นหลัก
อ้างอิง: My Lights Run on Bash