ทำไมแอปพลิเคชันถึงสำคัญกว่าที่คิด
ในระบบบ้านอัจฉริยะ ฮาร์ดแวร์อาจเยี่ยมยอดแค่ไหนก็ตาม แต่ถ้าแอปพลิเคชันที่ใช้ควบคุมซับซ้อนหรือช้า ประสบการณ์ผู้ใช้งานก็พังทันที แอปที่ดีต้องตอบสนองภายในไม่เกิน 200 มิลลิวินาที มีหน้าตาที่เข้าใจง่ายสำหรับทุกวัย และทำงานได้แม้สัญญาณอินเทอร์เน็ตไม่เสถียร
HappySmart ใช้แนวทาง local-first ซึ่งหมายความว่าคำสั่งจากแอปจะส่งตรงไปยังอุปกรณ์ผ่านเครือข่ายภายในบ้านก่อน ไม่ผ่านคลาวด์ภายนอก ทำให้ความเร็วในการตอบสนองดีกว่าระบบที่ต้องวนผ่านเซิร์ฟเวอร์
การเลือกแพลตฟอร์มการพัฒนา
สำหรับโครงการที่ต้องการรองรับทั้ง iOS และ Android แนวทาง Cross-Platform ด้วย React Native หรือ Flutter เป็นตัวเลือกที่คุ้มค่ากว่าการพัฒนาแยกสองแอป ทั้งสองตัวรองรับ WebSocket สำหรับการรับข้อมูลแบบ real-time ซึ่งสำคัญมากสำหรับการแจ้งเตือนจากกล้อง EZVIZ หรือเซ็นเซอร์ mmWave
อย่างไรก็ตาม สำหรับฟีเจอร์ที่ต้องการ native performance สูง เช่น การแสดงภาพจากกล้อง 4K แบบ live stream บน iOS การพัฒนาด้วย Swift ให้ผลที่ดีกว่า Cross-Platform framework อย่างชัดเจน
โปรโตคอลการเชื่อมต่ออุปกรณ์ IoT
การเชื่อมต่อแอปกับอุปกรณ์ IoT ใช้โปรโตคอลหลักสองตัว
MQTT เหมาะสำหรับการส่งคำสั่งและรับสถานะอุปกรณ์แบบ lightweight เพราะ overhead ต่ำและทำงานได้ดีแม้เครือข่ายมีความเร็วต่ำ Home Assistant รองรับ MQTT broker ในตัว ทำให้การพัฒนาง่ายขึ้นมาก
HTTP REST API ใช้สำหรับการตั้งค่าและการดึงข้อมูลประวัติ เช่น รายงานการใช้พลังงานย้อนหลัง หรือการส่งออก log ของระบบรักษาความปลอดภัย
ความปลอดภัยและการพิสูจน์ตัวตน
แอปพลิเคชันบ้านอัจฉริยะต้องใช้ OAuth 2.0 สำหรับการพิสูจน์ตัวตน และเข้ารหัสการสื่อสารทั้งหมดด้วย TLS 1.3 ข้อมูล token ไม่ควรเก็บใน local storage ของแอป แต่ใช้ iOS Keychain หรือ Android Keystore แทน
สำหรับการเข้าถึงระบบจากนอกบ้าน HappySmart แนะนำให้ใช้ Tailscale หรือ WireGuard VPN แทนการเปิดพอร์ตตรงบน router ซึ่งเสี่ยงกว่ามาก