- กรณีศึกษาการควบคุมระบบทำความร้อนด้วย Home Assistant ในอพาร์ตเมนต์เช่า โดยไม่ต้องเปลี่ยนอุปกรณ์หรือเรียกช่างไฟฟ้า แต่ใช้การ ส่งซ้ำสัญญาณไร้สาย ของเทอร์โมสตัทเดิม
- เทอร์โมสตัทสื่อสารกับบอยเลอร์ผ่านย่าน
868MHz และแม้โปรโตคอลจะถูกเข้ารหัส แต่ Replay Attack สามารถทำงานได้โดยไม่ต้องรู้เนื้อหาของแพ็กเก็ต
- จากการวิเคราะห์ด้วย
rtl_433 พบว่าเป็นโปรโตคอลที่คล้ายกับตระกูล Honeywell โดยค่า demand แสดงการเปิด·ปิดบอยเลอร์ และมีโครงสร้างที่บอยเลอร์ส่งการตอบรับยืนยันกลับมา
- โครงสร้างสุดท้ายใช้โคลน
HackRF One กับ hackrf_transfer เพื่อบันทึก·เล่นซ้ำสัญญาณ และเชื่อมเว็บเซิร์ฟเวอร์ Docker เข้ากับ command_line, average, generic_thermostat ของ Home Assistant
- ใช้งานได้โดยไม่มีปัญหาตั้งแต่ต้นเดือนธันวาคม 2024 แต่การส่งสัญญาณ
868MHz อาจผิดกฎหมายตามข้อบังคับท้องถิ่น และการใช้ HackRF เพื่อควบคุมเปิด·ปิดง่าย ๆ ถือว่าเกินความจำเป็น
เหตุผลที่ทำให้การทำระบบทำความร้อนอัตโนมัติในบ้านเช่าเป็นเรื่องยาก
- บอยเลอร์ของอพาร์ตเมนต์เช่าถูกควบคุมด้วย เทอร์โมสตัทไร้สาย ตัวเดียวที่เจ้าของบ้านติดตั้งไว้
- เทอร์โมสตัทใช้เซ็นเซอร์อุณหภูมิในตัวเพื่อเปิดและปิดระบบทำความร้อนให้ตรงกับอุณหภูมิเป้าหมาย
- จากการใช้งานจริง มีจุดที่ไม่สะดวกอยู่สามอย่าง
- เซ็นเซอร์วัดเฉพาะ อุณหภูมิของห้องเดียว ในอพาร์ตเมนต์ ทำให้ความร้อนไม่สม่ำเสมอในแต่ละห้อง
- ใช้งานจากเตียงหรือห้องนั่งเล่นไม่สะดวก ขึ้นอยู่กับว่าชุดควบคุมอยู่ห้องไหน
- หากไม่ปิดระบบทำความร้อนก่อนออกจากบ้าน จะสิ้นเปลืองพลังงานราคาแพง
- เดิมทีใช้งานระบบอัตโนมัติภายในบ้านด้วย Home Assistant อยู่แล้ว และอยากควบคุมระบบทำความร้อนด้วยวิธีเดียวกัน
- แม้จะมีโซลูชันสำเร็จรูปในตลาด แต่มีแนวโน้มว่าต้องอาศัยความร่วมมือจากเจ้าของบ้านและการเข้ามาของช่างไฟฟ้า จึงเลือกทางที่ยังใช้เทอร์โมสตัทเดิมต่อไป
เลือกการโจมตีแบบส่งซ้ำแทนการตีความโปรโตคอล
- จุดเริ่มต้นคือข้อเท็จจริงที่ว่าเทอร์โมสตัทกับบอยเลอร์สื่อสารกันด้วยโปรโตคอลไร้สาย
- การทำวิศวกรรมย้อนกลับโปรโตคอลตั้งแต่ต้นซับซ้อนเกินไปเมื่อเทียบกับระดับความรู้ด้านวิทยุที่มี
- วิธีที่เลือกคือ Replay Attack
- คัดลอกสัญญาณระหว่างบอยเลอร์กับเทอร์โมสตัท
- ส่งสัญญาณที่คัดลอกไว้ซ้ำอีกครั้ง เพื่อทำให้ผู้โจมตีดูเหมือนเป็นเทอร์โมสตัท
- สามารถทำงานได้โดยไม่ต้องเข้าใจเนื้อหาของโปรโตคอล
- วิธีนี้ต้องอาศัยโชคในด้านการออกแบบอุปกรณ์
- หากการสื่อสารมีตัวนับที่เพิ่มขึ้นเรื่อย ๆ ก็สามารถป้องกันการโจมตีแบบส่งซ้ำได้ด้วยการเพิกเฉยต่อสัญญาณเก่า
- เทอร์โมสตัทตัวนี้ไม่ได้ใช้วิธีดังกล่าว จึงสามารถส่งซ้ำได้
ตรวจสอบย่านสัญญาณและการสังเกตครั้งแรก
- พบข้อมูลรุ่นเทอร์โมสตัทที่ถูกต้องบนออนไลน์ และยืนยันจากหัวข้อ RF Communication ในดาต้าชีตว่าใช้งานย่านใกล้
868MHz
- ในดาต้าชีตระบุว่า
Protocol: Encrypted แต่สำหรับวิธีส่งซ้ำแล้วไม่ใช่ปัญหาใหญ่
- เอกสารเกี่ยวกับการคัดลอกสัญญาณ
868MHz มีไม่มาก
- มีข้อมูลเกี่ยวกับ LoRa/Meshtastic อยู่มาก
- มีโพสต์ Reddit จำนวนมากที่พยายามคัดลอกอุปกรณ์อย่างพัดลมเพดานหรือประตูโรงรถ แต่คำตอบมีน้อย
- ประเมินว่าหากเป็น
433MHz คงมีเครื่องมือสำหรับผู้บริโภคให้ใช้มากกว่านี้มาก
- ใช้ Software-Defined Radio เพื่อดูสัญญาณ
- ซื้อ RTL-SDR V4 ราคาถูก
- เมื่อกดปุ่มเทอร์โมสตัทใน SDR++ ก็เห็นสัญญาณปรากฏบน waterfall
- Flipper Zero ไม่เหมาะกับสถานการณ์นี้
- Flipper Zero ไม่ใช่ SDR
- ช่วงความถี่ที่ใช้งานได้มีข้อจำกัด จึงใช้กับอุปกรณ์นี้ไม่ได้
เบาะแสของโปรโตคอลและความพยายามส่งสัญญาณที่ล้มเหลว
- ใช้ rtl_433 เพื่อตรวจสอบว่าเทอร์โมสตัทใช้โปรโตคอลที่รู้จักอยู่แล้วหรือไม่
- แม้ชื่อจะเป็นเช่นนั้น แต่ใช้งานกับความถี่อื่นได้ด้วย
- อุปกรณ์ที่พบได้น้อยกว่าอาจไม่ถูกจดจำ
- ผลคือเทอร์โมสตัทนี้ดูเหมือนใช้โปรโตคอลเดียวกับอุปกรณ์ Honeywell อื่น ๆ
- ในการสื่อสาร คุณสมบัติ
demand แสดงสถานะของบอยเลอร์
1 คือบอยเลอร์เปิด
0 คือบอยเลอร์ปิด
- บอยเลอร์จะส่งการตอบรับยืนยันกลับมา ซึ่งดูเหมือนใช้เพื่อตัดสินว่าเทอร์โมสตัทอยู่นอกระยะหรือไม่
- หลังจากนั้นพยายามสร้างแพ็กเก็ตเองแล้วส่ง แต่ล้มเหลว
- พยายามทำวิศวกรรมย้อนกลับและประกอบแพ็กเก็ตด้วยมือผ่าน URH
- พยายามส่งด้วยบอร์ดไมโครคอนโทรลเลอร์
868MHz ราคาถูก
- บอร์ดเหล่านี้ถูกออกแบบมาให้สื่อสารกับบอร์ดชนิดเดียวกัน และหากจะไปต่อจำเป็นต้องจัดการรีจิสเตอร์วิทยุโดยตรง
- ประเมินว่างานนี้เกินระดับทักษะที่มี
บันทึก·เล่นซ้ำสัญญาณตรง ๆ ด้วย HackRF
- สุดท้ายเลือกใช้ HackRF เพื่อเล่นซ้ำสัญญาณตามเดิมโดยไม่ตีความเนื้อหาสัญญาณ
- RTL-SDR เดิมรับสัญญาณได้อย่างเดียว จึงใช้ส่งไม่ได้
HackRF One โดยทั่วไปมีราคามากกว่า 400 ดอลลาร์ แต่มีโคลนบน AliExpress ระดับประมาณ 40 ดอลลาร์
- ใช้ hackrf_transfer บันทึกสัญญาณเปิด·ปิดแยกกัน
# We set the frequency to 868.3Mhz and the sample rate to 2000000.
hackrf_transfer -r turn_off.raw -f 868300000 -s 2000000
hackrf_transfer -r turn_on.raw -f 868300000 -s 2000000
- เล่นซ้ำสัญญาณด้วยการตั้งค่าเดียวกัน ทำให้เปิดและปิดบอยเลอร์จาก CLI ได้
# We use -a to turn on the amplifier and -x to increase the gain a tad.
hackrf_transfer -t turn_off.raw -f 868300000 -s 2000000 -a 1 -x 23
hackrf_transfer -t turn_on.raw -f 868300000 -s 2000000 -a 1 -x 23
- หลังรันคำสั่ง ได้ยินเสียง รีเลย์จริง ภายในบอยเลอร์เปิดและปิด
วิธีเชื่อมต่อกับ Home Assistant
- เสียบ HackRF เข้ากับฮับ USB ที่มีไฟเลี้ยง แล้วเชื่อมต่อฮับนั้นกับเซิร์ฟเวอร์ Home Assistant
- เขียน เว็บเซิร์ฟเวอร์ ง่าย ๆ ที่รันคำสั่งส่งสัญญาณภายในคอนเทนเนอร์ Docker
- ใน Home Assistant ใช้ Average Sensor Plugin และเชื่อมการตั้งค่า
command_line, average, generic_thermostat เข้าด้วยกัน
command_line:
- switch:
name: Boiler
command_on: "curl http://docker-vm:1111/api/on"
command_off: "curl http://docker-vm:1111/api/off"
sensor:
- platform: average
name: "Average Temperature"
entities:
- sensor.bedroom_thermostat_temperature
- sensor.kitchen_thermostat_temperature
climate:
- platform: generic_thermostat
name: Boiler Thermostat
heater: switch.boiler
target_sensor: sensor.average_temperature
- ด้วยการตั้งค่านี้ สร้างเทอร์โมสตัทที่ควบคุมบอยเลอร์โดยอิงจาก อุณหภูมิเฉลี่ย ของเซ็นเซอร์อุณหภูมิในห้องนอนและห้องครัว
- การทำงานนี้ค่อนข้างเป็นวิธีแก้เฉพาะหน้า
- การเขียนปลั๊กอิน Home Assistant โดยเฉพาะน่าจะดีกว่า
- การควบคุมวิทยุโดยตรงน่าจะสะอาดกว่าการเรียก CLI ผ่านเชลล์
- โครงสร้างที่ฝากระบบทำความร้อนไว้กับ
curl ค่อนข้างชวนไม่สบายใจ
ผลลัพธ์จากการใช้งานจริงและข้อจำกัดที่เหลือ
- การตั้งค่านี้ถูกใช้ควบคุมระบบทำความร้อนของอพาร์ตเมนต์มาตั้งแต่ต้นเดือนธันวาคม 2024 และหลังจากนั้นก็ไม่มีปัญหา
- สะดวกเพราะสามารถปรับอุณหภูมิจากโทรศัพท์มือถือได้
- ตัวอย่างระบบอัตโนมัติมีดังนี้
- ลดอุณหภูมิระหว่างนอน
- เพิ่มอุณหภูมิให้ตรงกับเวลาตื่นตอนเช้า
- ปิดระบบทำความร้อนเมื่อออกไปในเมือง
- เปิดระบบทำความร้อนอีกครั้งก่อนกลับถึงบ้านไม่กี่ป้าย เพื่อให้บ้านอุ่นเมื่อมาถึง
- จุดที่น่าเสียดายที่สุดคือยังต้องใช้ วิทยุทรงพลังอย่าง HackRF ต่อไปกับสวิตช์เปิด·ปิดบอยเลอร์ที่เรียบง่าย
- แทนที่จะใช้เวลาเพิ่มเพื่อฝืนปรับวิทยุขนาดเล็กให้เข้ากันได้ จึงเลือกใช้อุปกรณ์ที่แม้จะเกินจำเป็นแต่ทำงานได้จริง
ข้อควรระวังทางกฎหมายเกี่ยวกับการส่งสัญญาณไร้สายและคอมเมนต์บล็อก
- ต้องตรวจสอบข้อบังคับท้องถิ่นเสมอเมื่อต้องส่งสัญญาณไร้สาย
- ย่าน
868MHz ที่ใช้ในบทความนี้ หากส่งโดยไม่มีใบอนุญาตในสหรัฐฯ ถือว่า ผิดกฎหมาย
- ตั้งแต่วันที่ 16 มีนาคม 2025 Online Safety Act ของสหราชอาณาจักรมีผลบังคับใช้อย่างเต็มรูปแบบ ทำให้ภาระในการดูแลคอนเทนต์ระหว่างผู้ใช้ เช่น คอมเมนต์บล็อก เพิ่มขึ้น
- แม้โอกาสที่หน่วยงานกำกับดูแล Ofcom จะบังคับใช้กับบล็อกส่วนบุคคลจะต่ำ แต่เนื่องจากมีความเสี่ยงถูกปรับ 18 ล้านปอนด์ หากฝ่าฝืน จึงนำส่วนคอมเมนต์ออก
- นำเสนอทั้ง คำอธิบายทางกฎหมายที่เกี่ยวข้อง และ การอภิปรายเกี่ยวกับ hobbyist internet ในฐานะบทความที่ว่าด้วยผลกระทบของกฎหมายต่อบล็อกที่ดูแลเอง
1 ความคิดเห็น
ความคิดเห็นใน Hacker News
ถ้าเป้าหมายคือประหยัดพลังงานหรือค่าใช้จ่าย ระบบที่ทำให้บ้านเย็น ๆ อุ่นขึ้นได้ใน 20 นาทีอาจเป็นสิ่งที่คุณไม่ต้องการเสียด้วยซ้ำ
แทนที่จะทำแบบนั้น ควรเดินระบบโดยใช้อุณหภูมิ น้ำหมุนเวียนในระบบทำความร้อน ให้ต่ำลงมาก เพื่อลดการสูญเสียในพื้นที่ที่ไม่ได้ทำความร้อน และทำให้ทั้งห้องอุ่นสม่ำเสมอกว่าเดิม ถ้าเป็นหม้อไอน้ำแบบคอนเดนซิง แค่ลดอุณหภูมิน้ำจ่ายเป้าหมายก็ทำได้แล้ว
ถ้าเพิ่มการชดเชยตามอุณหภูมิภายนอก (weather compensation) เข้าไปอีก ก็จะปรับอุณหภูมิน้ำจ่ายตามอุณหภูมิข้างนอกได้ ทำให้ระบบทำงานแค่พอให้อาคารค่อย ๆ กลับไปถึงอุณหภูมิเป้าหมายเท่านั้น
ตอนปรับจูนอย่างถูกต้อง เทอร์โมสตัทจะทำงานเหมือนขีดจำกัดบน และเรียกความร้อนวันละ 22–24 ชั่วโมง แต่ไม่ให้ร้อนเกินไป โดยปกติอุณหภูมิน้ำจ่ายอยู่ราว 110°F ในวันที่อากาศอุ่น และราว 135°F ในวันที่ต่ำกว่าจุดเยือกแข็ง การใช้ก๊าซลดลง 8–15% เมื่อเทียบกับฤดูหนาวก่อนหน้าที่ใช้อุณหภูมิน้ำจ่ายคงที่ 160°F และอยู่สบายขึ้นมาก อย่างไรก็ตาม วิธีนี้ใช้เวลาฟื้นตัวนาน จึงไม่เข้ากับการตั้งค่าประหยัดพลังงานแบบลดอุณหภูมิลงมาก ๆ และต้องมีการควบคุมที่ฉลาดกว่านี้ คือปกติให้ทำงานอย่างแม่นยำที่อุณหภูมิต่ำ แล้วใช้แต่น้ำที่ร้อนขึ้นเฉพาะช่วงฟื้นตัว
ความร้อนเคลื่อนที่จากที่ร้อนไปที่เย็นแบบเชิงเส้นตามส่วนต่างอุณหภูมิ ถ้าสมมติว่าอุณหภูมิท่อเท่ากับอุณหภูมิในอาคาร ความร้อนที่ถ่ายออกมาก็เท่ากับหลุดออกไปนอกเปลือกอาคารทั้งหมด และยิ่งท่อร้อนขึ้น อัตราส่วนนี้ก็ยิ่งดีขึ้น ไม่ว่าท่อกี่เปอร์เซ็นต์จะอยู่ภายในเปลือกอาคารก็ตาม
แต่ถ้าทำความร้อนตามแนวผนังด้านนอก เช่น ใต้หน้าต่าง ก็จะทำให้ผนังด้านนอกอุ่นกว่าอุณหภูมิที่เทอร์โมสตัทในห้องรับรู้ และสูญเสียออกไปข้างนอกมากขึ้น ในทางกลับกัน ระบบทำความร้อนแบบแผ่รังสี ส่วนใหญ่หลีกเลี่ยงผลนี้ได้
กล่าวคือ ในบ้านที่มีฉนวนสมเหตุสมผล การรักษา อุณหภูมิคงที่ต่ำ ๆ ประมาณ 20°C จะดีที่สุดในแง่ความสบาย และยังลดอุณหภูมิน้ำทำความร้อนได้ ทำให้ประสิทธิภาพของฮีตปั๊มหรือหม้อไอน้ำดีขึ้น
เมื่อเทียบระหว่างการตั้งอุณหภูมิคงที่ กับการเพิ่ม/ลด/ปิดตอนออกจากบ้านแล้วค่อยปรับกลับก่อนกลับถึงบ้าน พบว่าแทบไม่ต่างกัน และการใช้ไฟฟ้าก็ใกล้เคียงกัน
ถ้ามีลิงก์ก็คงดี แต่มีการทดสอบไปถึงสถานการณ์อุ่นกลับขึ้นมาใหม่ที่ประสิทธิภาพลดลงด้วย ซึ่งรวมถึง “ระบบทำความร้อนฉุกเฉิน” ด้วย
เป็นการแฮ็กที่เจ๋งมาก
วิธีที่ง่ายกว่าน่าจะเป็นการวาง ชิ้นส่วนเพลเทียร์สำหรับทำความร้อน/ทำความเย็น ไว้ใต้เทอร์โมสตัท แล้วควบคุมจากระยะไกล เพื่อยึดการควบคุมอุณหภูมิที่เทอร์โมสตัทรู้สึกได้
ลิงก์รุ่นเทอร์โมสตัทที่แน่ชัดใช้ไม่ได้ เลยไม่รู้ว่าแนวทางนี้จะเข้ากับการออกแบบแค่ไหน แต่เทอร์โมสตัทที่ผมเคยใช้มักเป็นแบบติดผนัง จึงไม่ยากนักที่จะวางแหล่งความร้อนหรือความเย็นไว้ข้างใต้ แค่ต้องทำให้ด้านร้อนกับด้านเย็นไม่ไหลเข้าเทอร์โมสตัทพร้อมกัน ซึ่งก็เป็นแค่ปัญหาการจัดตำแหน่งธรรมดา
ดูเหมือนว่ากล่องเครื่องมือมีผลต่อพื้นที่ของทางแก้ปัญหาจริง ๆ ผมอ่านบทความนี้ทั้งที่ไม่รู้อะไรเลยเกี่ยวกับ RF ก็เลยนึกถึงการโจมตีอีกแบบที่เข้ากับเครื่องมือของผมมากกว่าได้ทันที เอาเทอร์โมสตัทใส่กล่อง แล้วควบคุมอุณหภูมิของกล่องนั้นด้วยกลไกได้ไหม?
ถึงอย่างนั้น ถ้าเข้าถึงภายในเทอร์โมสตัทได้ ก็น่าจะไม่ยากที่จะแทนเซ็นเซอร์อุณหภูมิด้วยวงจรที่ทำให้อ่านค่าสูงมากหรือต่ำมากเมื่อจำเป็น
ต่อให้ทำครั้งแรกก็น่าจะใช้เวลาประมาณ 30 นาที และถ้ามีเทปสองหน้าเล็กน้อยก็คืนสภาพเดิมได้ง่าย คนอังกฤษที่เคยทำ Tracy Island น่าจะคุ้นกับของแบบนี้ ความเสี่ยงไฟดูดมีอยู่จริง แต่ลดได้หมดจดด้วยการปิดไฟหม้อไอน้ำ
ถึงอย่างไรก็เป็นการแฮ็กที่สนุก และทำออกมาได้ดี
สงสัยว่ารูปแบบในอุดมคติของเทอร์โมสแตตแบบใช้งานทั่วไปควรเป็นแบบไหน
เทอร์โมสแตตในอพาร์ตเมนต์ของเรามี “ฟีเจอร์” ที่พักหลัง ๆ พบในผลิตภัณฑ์อเมริกันหลายตัว คือให้ตั้งเวลา 4 ช่วงตามลำดับ ได้แก่ ตื่นนอน, ออกไปข้างนอก, กลับบ้าน, นอนหลับ และตั้งอุณหภูมิที่ต้องการของแต่ละช่วง แทบไม่รู้จักครอบครัวไหนที่ทุกคนในบ้านตื่น ออกไปข้างนอก กลับมา และเข้านอนเวลาเดียวกันทุกวัน
ผมทำงานจากที่บ้าน เลยอยากตั้งอุณหภูมิเดียวแล้วค้างไว้ไม่มีกำหนด แต่ระบบนี้ต้องกดใส่อุณหภูมิที่ต้องการ 4 ครั้ง และต้องตรวจดูทั้ง 4 ช่วง
สุดท้ายแล้วเทอร์โมสแตตที่ตั้งโปรแกรมได้มากกว่านี้ ซึ่งสามารถตั้งให้ทำงานเหมือนเทอร์โมสแตตแบบหน้าปัดหมุนรุ่นเก่าได้ น่าจะดีกว่า
การจัดวางในอุดมคติคือการติดวาล์วควบคุมอุณหภูมิอัจฉริยะที่หม้อน้ำทุกตัวในบ้าน เพื่อให้ลดลงเองได้เมื่อไม่มีคนอยู่ในห้อง หรือปรับโดยอัตโนมัติจากการตรวจจับกิจกรรม/หน้าต่างเปิดอยู่ เพียงแต่ว่าไม่ควรมีแค่เทอร์โมสแตตหลักในห้องนั่งเล่นเท่านั้นที่เปิดหม้อต้มน้ำได้ แต่วาล์วแต่ละตัวควรมีสิทธิ์เปิดหม้อต้มน้ำส่วนกลางได้เมื่อจำเป็น
ตอนกลางคืนผมชอบให้อากาศเย็นกว่า เลยตั้งให้เปลี่ยนอุณหภูมิช่วงประมาณเวลาเข้านอนตามปกติ และแม้จะปรับอุณหภูมิตอนกลางวันไว้ มันก็จะกลับเองโดยอัตโนมัติ เพราะเหตุผลที่ใช้เทอร์โมสแตตอัจฉริยะก็เพราะไม่อยากต้องจำว่าต้องปรับกลับนี่แหละ ถ้าออกจากบ้านมันจะตรวจจับแล้วเปลี่ยนเป็น Away ได้ และตอนลาพักร้อนก็สามารถตั้งให้รักษาบ้านให้ปลอดภัยเฉย ๆ ไม่ต้องทำให้อยู่สบาย แล้วให้กลับมาตามเดิมประมาณเวลาที่เครื่องบินลงจอดได้
ถ้าตารางชีวิตไม่ได้สุ่มบ้าคลั่ง หรือไม่ได้อยากให้อุณหภูมิเหมือนเดิมเสมอไม่ว่าจะนอน ตื่น หรือไม่อยู่บ้าน ก็ใส่ตารางพื้นฐานไว้แล้วค่อยปรับด้วยมือเมื่อจำเป็น ถ้าตื่นเร็วกว่าปกติหนึ่งชั่วโมงก็ปรับเองได้ และถ้าตื่นตรงเวลาก็ไม่ต้องสนใจอะไรเลย
วิธีใช้แบบที่ต้องการก็ทำได้ ตั้งโปรแกรมมาตรฐานไว้ที่ 15°C แล้วเมื่อต้องการก็เปิด holiday ที่ตั้งอุณหภูมิที่อยากได้ไว้ ตั้งให้กลับไป 15°C ตอนเวลาที่เหมาะสมช่วงเย็น ถ้าลืมก็จะไม่ค้างเปิดต่อไปเรื่อย ๆ
Flipper Zero ยอดเยี่ยมมาก และถ้าติดตั้งเฟิร์มแวร์คัสตอม ก็จัดการส่วนการแฮ็กและการตรวจสอบทั้งหมดได้
ตัวผลิตภัณฑ์เดิมออกมาพร้อมเฟิร์มแวร์ที่มีข้อจำกัดเยอะ ซึ่งก็เข้าใจได้ น่าจะเพื่อลดเสียงตำหนิที่บริษัทได้รับ แต่การติดตั้งอย่าง Flipper Unleashed นั้นง่ายมาก และจะลบข้อจำกัดเหล่านั้นออกพร้อมได้ฟีเจอร์เพิ่มอีกมาก
การมีเครื่องมือที่อาจใช้ก่ออาชญากรรมได้ ไม่ได้เป็นอาชญากรรมโดยตัวมันเองเสมอไป เพียงแต่ต้องระวังว่าจะเอาไปทำอะไร และในบางประเทศอาจมีคนใส่สูทมาเคาะประตูบ้านได้
โดยส่วนตัวผมอยากรีเพลย์ สัญญาณ 433MHz ที่ “เข้ารหัส” ของอุปกรณ์ของผมเอง เช่น ประตูไฟฟ้า ประตูม้วน บานชัตเตอร์ม้วน เป็นต้น แต่ตอนตั้งค่าภูมิภาคของ Flipper เป็น Australia มันถูกปิดใช้งานไว้
การสำรวจทางเทคนิคและความอยากรู้อยากเห็นควรถูกส่งเสริมเสมอ แต่แค่ตัวอย่าง Flipper Zero ก็มีสิ่งที่ต้องคำนึงถึง ไม่ว่ากฎหมายเขตอำนาจจะเป็นอย่างไร ถ้าไม่ได้คิดจะใช้ก็อย่าพกไปไหน อ่านเอกสารทั้งหมดก่อนฝึก และฝึกให้ไม่เป็นที่สังเกต ใช้ทัศนคติ “ไม่ทิ้งร่องรอย” ที่เรียนมาจากกิจกรรมกลางแจ้ง ใส่ใจว่าการมีอยู่และการกระทำของตัวเองส่งผลต่อสภาพแวดล้อมและเป้าหมายอย่างไร และจะถูกผู้สังเกตการณ์ภายนอกตีความอย่างไร พร้อมดำเนินการเพื่อลดความสงสัย
หลักการเหล่านี้ใช้ได้กับอุปกรณ์มากมาย ตั้งแต่สมาร์ทโฟนแบบใช้แล้วทิ้งไปจนถึงเครื่องโคลนบัตร RFID ราคาถูกจาก Temu
โดยเฉพาะมือใหม่มักกระตือรือร้นเกินไปและอยากกระโดดไปสู่ขั้นที่ดูเหมือนแฮ็กเกอร์ในทีวีกับเกมทันที ที่คนเหล่านั้นเป็นตัวละครสมมติก็มีเหตุผลอยู่ ไม่ว่าการกระทำนั้นจะไม่เป็นอันตรายหรือไม่ สุดท้ายสิ่งสำคัญคือผู้มีอำนาจที่ตั้งคำถามรับรู้อย่างไร
ถ้าอยากถอดรหัส ก็น่าจะไม่ได้ยากขนาดนั้น ตอนที่ผมเคยทำสิ่งนี้เมื่อก่อน ผมพยายามจะทำฝั่งส่งด้วย แต่ย้ายบ้านเสียก่อนเลยไม่ได้ทำ
https://blog.habets.se/2017/04/Decoding-FSK.html
ถ้าเป็นผมคงใช้วิธีทำให้ตัวเทอร์โมสแตตร้อนขึ้นหรือเย็นลง แทนที่จะไปยุ่งกับสัญญาณไร้สาย เอากล่องเล็ก ๆ ครอบไว้ แล้วควบคุมอุณหภูมิภายในกล่องด้วยอะไรอย่าง ชิ้นส่วนเพลเทียร์ ขนาดเล็ก ถ้าอยากเปิดระบบทำความร้อนก็ทำให้ในกล่องเย็นลง ถ้าอยากให้หยุดก็ทำให้ร้อนขึ้น
แต่ก็อาจเป็นเพราะผมทำอุปกรณ์ควบคุมความร้อนเป็นงานอดิเรก เลยดูเหมือนว่าวิธีนี้ง่ายกว่ามาก
[0]: https://thex10shop.com/products/x10-powerhouse-th2807-thermo...
ถ้าผู้เขียนต้นฉบับมาเห็นตรงนี้ เป็นไปได้สูงว่าแค่เปลี่ยนไปใช้เทอร์โมสตัทที่เข้ากันได้กับหม้อไอน้ำก็คงเสียเงินและปวดหัวน้อยกว่านี้มาก แค่ข้อเท็จจริงที่ว่าเขาเจอสัญญาณ Honeywell ในโปรเจกต์โอเพนซอร์สสุ่ม ๆ แล้วมันใช้ได้ ก็แสดงให้เห็นว่า ตลาดหม้อไอน้ำ ค่อนข้างเปิดให้แข่งขันอยู่แล้ว
ขอให้โชคดีกับการปรับแต่งอะพาร์ตเมนต์ในอนาคต
เป็นโปรเจกต์ที่เจ๋งมาก
เครื่องทำความร้อนก๊าซธรรมชาติ (CH4) ที่ค่อนข้างใหม่ทุกตัวควรมีฟังก์ชัน เทอร์โมสตัทแบบมอดูเลต ผ่านโปรโตคอลอย่าง OpenTherm/eBus ถ้าใช้ร่วมกับเทอร์โมสตัทที่มีเซ็นเซอร์อุณหภูมิภายนอก ระบบจะมีประสิทธิภาพเพิ่มขึ้นได้อีกไม่กี่เปอร์เซ็นต์ และช่วยชดเชยค่าเทอร์โมสตัทกับค่าติดตั้งได้ สุดท้ายก็กลายเป็นระบบทำความร้อนสมัยใหม่ที่มีประสิทธิภาพกว่าเดิม
เรื่องเดียวกันนี้ควรใช้กับระบบฮีตปั๊มด้วย
ผมย้ายเข้าอะพาร์ตเมนต์ใหม่ หรือให้ถูกคือบ้านใหม่ และต้องรีโนเวตทั้งหลัง ไม่มีฉนวนกันความร้อนแบบสมัยใหม่ แต่คำนวณแล้วว่าตอนนี้ผลตอบแทนจากการลงทุนติดฉนวนยังไม่คุ้ม เป็นบ้านแฝดหลายชั้น เลยอยากได้ระบบทำความร้อนที่สบายที่สุดเท่าที่ทำได้และประหยัดด้วย
โดยเฉพาะห้องนอนกับห้องนั่งเล่นต้องมีอุณหภูมิที่เสถียรและปรับแยกห้องได้ บางห้องใช้ระบบทำความร้อนใต้พื้น บางห้องใช้หม้อน้ำ และบางห้องอาจอุ่นไม่พอด้วยระบบใต้พื้นอย่างเดียวในช่วงหนาวจัด จึงอยากได้การผสมระหว่าง ระบบทำความร้อนใต้พื้น+หม้อน้ำ
ตอนแรกคิดว่าถ้าจ่ายเงินก็น่าจะมีคนมาตั้งค่าระบบควบคุมให้ได้ มันควรจะเป็นงานง่าย ๆ ไม่ใช่เหรอ?
คิดผิดถนัด หลังจากใช้เวลาหลายชั่วโมงทำความเข้าใจคอนฟิกที่ “ผู้เชี่ยวชาญ” แนะนำ ผมก็พบกรณีขอบที่ทำให้สิ้นเปลืองหรืออยู่ไม่สบาย เช่นอุณหภูมิพุ่งเกินหรือขาดไปโดยไม่จำเป็นและหลีกเลี่ยงไม่ได้ คุยกับ Honeywell, Tado, Siemens ฯลฯ หลายรอบ แต่ทุกเจ้า都有 ข้อบกพร่องใหญ่
เรื่องนี้ทำให้การรีโนเวตชะงักไปบ้าง แต่ท่อเตรียมไว้แล้ว และอย่างน้อยก็อยากดูว่าท่อกับปั๊มทำงานไหม เลยต่อปั๊มกับวาล์วเข้ากับสมาร์ตปลั๊กควบคุมด้วย Zigbee เพื่อดูว่าเปิดได้หรือเปล่า ปรากฏว่าใช้ได้ดี และความคิดก็ไหลต่อจากตรงนั้น
ตอนนี้ผมกระจายเซ็นเซอร์อุณหภูมิ Zigbee ตัวละ 20 ดอลลาร์ไว้ทั่วบ้าน สมาร์ตปลั๊กกับรีเลย์ตัวละ 30 ดอลลาร์คอยขับวาล์ว ปั๊ม และหม้อไอน้ำ ส่วน Home Assistant ควบคุมทั้งหมด ทุกอย่างทำงานได้สมบูรณ์ และยังทำฟีเจอร์ที่ระบบสำเร็จรูปทำไม่ได้ด้วย เช่น ในห้องที่มีทั้งระบบทำความร้อนใต้พื้นและหม้อน้ำ ถ้าอุณหภูมิต่างจากเป้าหมายมาก ก็เปิดทั้งสองอย่างเพื่ออุ่นให้เร็ว พอเข้าใกล้เป้าหมายก็ปิดหม้อน้ำ ให้ระบบใต้พื้นเป็นหลัก สบายกว่าและประหยัดพลังงานกว่าหม้อน้ำ ห้องที่ใช้หม้อน้ำอยู่ในช่วง ±0.4°C จากเป้าหมาย ส่วนห้องที่ใช้ระบบใต้พื้นอยู่ในช่วง ±0.1°C
ดังนั้นเพื่อเผื่อสิ่งที่โมเดลง่าย ๆ มองข้าม มันจึงแทบจะถูกออกแบบเผื่อเกินและไม่มีประสิทธิภาพอยู่เสมอ
ไม่ใช่แค่ระบบทำความร้อน วิศวกรรมส่วนใหญ่ก็เป็นแบบนี้ และของที่ปรับให้เหมาะที่สุดจริง ๆ นั้นค่อนข้างหายาก
แทนที่จะคิดว่า “ทั้งวงการ HVAC/ระบบทำความร้อนโง่จนทำเรื่องแบบนี้ให้ถูกต้องไม่ได้” ควรย้อนดูว่าข้อสมมติหรือเกณฑ์ของตัวเองอาจผิดหรือเปล่าจะดีกว่า
ตัวอย่างเช่น ในระบบ HVAC หรือระบบทำความร้อนสมัยใหม่ การอุณหภูมิต่ำกว่า/สูงกว่าเป้าหมายไม่ได้ก่อให้เกิดความสิ้นเปลืองหรือความไม่สบายเสมอไป การเกินไป 1–2°F ไม่ได้หมายความว่าพื้นที่ที่ทำความร้อนจะสูญเสียความร้อนมากขึ้นอย่างเห็นได้ชัดเมื่อเทียบกับตอนที่อุณหภูมิตรงกับค่าที่ตั้งไว้อย่างสมบูรณ์ คุณเองก็คงไม่ต้องการระบบที่ตอบสนองทันทีเช่นกัน ถ้าคุณเปิดประตูเพื่อรับพัสดุ ยืนเซ็นชื่อ แล้วปิดประตู อากาศในห้องจะเย็นลงพอสมควร
ตอนนั้นระบบทำความร้อนควรเปิดไหม?
ในบ้านคุณดูเหมือนมันจะเปิด แต่คำตอบที่ถูกคือไม่ เพราะอากาศจะถูกทำให้อุ่นกลับอย่างรวดเร็วจากวัตถุทั้งหมดที่เคยมีอุณหภูมิเท่าห้อง พื้นที่ผิวรวมกันก็มากกว่าหลายพันตารางฟุตแล้ว
ตัวเลือกสำหรับที่อยู่อาศัยอย่าง Honeywell, JCI, Siemens, Trane, Carrier ดูเหมือนจะเน้นการใช้งานทั่วไปมากกว่า ส่วนระบบ BAS เชิงพาณิชย์ แม้จะใช้เซ็นเซอร์และคอนโทรลเลอร์ทั่วไป แต่ก็ใกล้เคียงกับการออกแบบเฉพาะให้เข้ากับอาคารนั้น ๆ มากกว่า อ้างอิงว่าเคยทำโปรเจกต์ระบบอัตโนมัติอาคารกับทั้งห้าบริษัทที่กล่าวถึงมาแล้ว
บางคนโชคร้ายซื้อบ้านที่วิศวกรเครื่องกลออกแบบคอนฟิกหม้อไอน้ำไว้ ในห้องหม้อไอน้ำมีวาล์วกับเกจวัดแรงดันเต็มไปหมด เหมือนกำลังจะควบคุมเครื่องยนต์ของ Titanic
ทุกวันนี้ดูเหมือนว่าผู้ทำบาปรายใหม่ในวงการนี้คือโปรแกรมเมอร์