นักพัฒนาสร้างกระแสถึงการใช้ Bash Scripts ควบคุมระบบไฟอัจฉริยะในบ้าน

ทีมชุมชน BigGo
นักพัฒนาสร้างกระแสถึงการใช้ Bash Scripts ควบคุมระบบไฟอัจฉริยะในบ้าน

แนวทางที่แปลกใหม่ของนักพัฒนาในการสร้างระบบอัตโนมัติในบ้านได้จุดประกายการถกเถียงอย่างร้อนแรงในชุมชนเทคโนโลยี แทนที่จะใช้โซลูชันยอดนิยมอย่าง 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