เมื่อเร็วๆนี้เราได้รับ RaZberry 7 Pro และ Z-Uno2 ซึ่งเป็นอุปกรณ์ Smart Home ที่ใช้ Z-Wave เทคโนโลยีจากบริษัท Z-Wave.Me มาทำการทดสอบ บริษัทนี้สร้างผลิตภัณฑ์บน Z-Wave เทคโนโลยีเป็นหลัก และเป็นสมาชิกของ Z-Wave Alliance สำหรับหลายคนที่ปวดหัวกับปัญหาของคลื่นความถี่ที่ทับซ้อนกันมากมายในย่าน 2.4GHz (Wifi, Zigbee,Thread) เทคโนโลยี Z-Wave เป็นทางเลือกที่ดีมากๆ เพราะใช้คลื่นความถี่ในย่าน 800-900 MHz ที่แออัดน้อยลง นอกเหนือจากนั้นเทคโนโลยี Z-Wave ยังมีมาช้านานกว่า 20 ปี ทำให้มีอุปกรณ์ที่ใช้ Z-Wave มากมายในท้องตลาดและสามารถใช้ร่วมกันข้ามค่ายได้เป็นอย่างดีซึ่งเป็นข้อดีอีกข้อนึงถ้าจะเปรียบเทียบกับโปรโตคอลอื่นๆ
อุปกรณ์ที่เราได้รับมีสองชิ้นคือ RaZberry 7 Pro ซึ่งเป็น Shield ที่เสียบลงบน GPIO ของ Raspberry Pi เพื่อทำให้ Raspberry Pi กลายเป็น Z-Wave controller ส่วนอีกตัวคือ Z-Uno2 ซึ่งเป็น Development Board สามารถโปรแกรมด้วยภาษา Simplified C ผ่าน Ardunio IDE เหมาะสำหรับการทำ Prototype หรือ แนว DIY ที่อยากทำอุปกรณ์ IOT ที่ใช้เทคโลโยี Z-Wave ขึ้นมาใช้เอง
Unbox RaZberry 7 Pro
RaZberry 7 Pro ได้ถูกปล่อยสู่ตลาดเมื่อปี 2022 ลักษณะเป็น Hat / Shield สามารถติดตั้งบน GPIO บนเครื่อง Raspberry Pi ตั้งแต่รุ่น Pi1/2/3A/3B/3A+/3B+/4B ซึ่งจริงๆมันก็เป็นไอเดียที่ดี ตรงที่ไม่เปลืองพอร์ต USB และเนื่องจากมันมาพร้อมกับเสาอากาศภายนอกทำให้การส่งสัญญาณดีขึ้นกว่าเสียบไว้ที่ USB พอร์ตแน่นอน เมื่อเราเทียบกับพวก Zigbee USB Dongle ที่สุดท้ายแล้วต้องหาสาย USB Extensipon มาต่อเพิ่มอยู่ดีเพราะการส่งสัญญาณถูกรบกวนได้ง่าย ทาง Z-Wave.Me บอกว่าเป็นไปได้ที่ RaZberry 7 Pro จะทำงานร่วมกับ Orange Pi และ Raspberry Pi gen 5 ที่เพิ่งออกสู่ตลาดด้วย
RaZberry 7 Pro มีเสาอากาศภายนอกมาให้ด้วย (ออกแบบโดย Linx Technologies) เพื่อให้การส่งสัญญาณดียิ่งขึ้น และมาพร้อมกับชิป ZGM130S เป็น 7th Generation Z-Wave chip (700 series) สนับสนุนทั้ง Z-Wave, Z-Wave Plus (500 series) และ Z-Wave LR แต่ ณ เวลาที่เขียนรีวิวนี้ LR (Long Range) ยังไม่สามารถทำงานได้นอกเขตประเทศสหรัฐอเมริกา สิ่งที่เราคาดหวังคือถ้า LR ถูกใช้งาน (ทั้งตัวส่งและอุปกรณ์ปลายทาง) จะทำให้การส่งข้อมูลได้ไกลขึ้น (Star Topology @ 1.6km range) อย่างไรก็ตาม RaZberry 7 Pro ก็ยังสามารถทำงานร่วมกับอุปกรณ์ Z-Wave ที่ใช้ chip gen เก่าๆได้เช่นกัน
สิ่งที่เราคิดว่า Raberry 7 Pro มันพิเศษคือซอฟแวร์ Z-Way ที่มาด้วยกัน สามารถทำการปรับแต่งค่าต่างๆได้หลากหลาย เช่น พลังในการส่ง การเปลี่ยนความถี่ของ Z-Wave ที่ใช้ให้เหมาะสมกับประเทศต่างๆ ตั้งแต่ 865.2MHz – 926.3MHz อย่างไรก็ตามด้วยเหตุผลเรื่องการรบกวนทำให้ Z-Wave.Me มีการกำหนดให้เปลี่ยนความถี่ได้เฉพาะที่อยู่ภายใต้ antenna filter เดียวกัน หลักๆก็แบ่งเป็น 3 กลุ่ม ดูรายละเอียดเพิ่มเติมที่นี่
Z-Way
RaZberry 7 Pro มาพร้อมกับซอฟแวร์ Z-Way ซึ่งเป็นซอฟแวร์ Smart Home Controller ที่จัดการกับอุปกรณ์ Z-Wave (และ Zigbee ด้วย) ซึ่งถ้าซื้อฮาร์แวร์กับทาง Z-Wave.Me จะไม่มีค่าใช้จ่ายใดๆที่เกี่ยวกับ Z-Way ทั้งสิ้น และถ้าหากผู้ใช้ต้องการใช้ Smart Home Platform อื่นๆ ที่เป็น OpenSource เช่น Home Assistant, Open HAB, Open Z-Wave และ อื่นๆ ก็สามารถทำได้เพราะทาง Z-Wave.Me ได้สร้าง Add-on เพื่อ integrate เข้ากับ platform ที่กล่าวมา เราจะมาลงรายละเอียดของการ integration ต่อไปด้านล่าง
Z-Way มีคุณสมบัติอะไรบ้าง
- Cross platform สามารถทำงานบน Raspberry Pi, PC under control of Ubuntu or Debian Linux, FreeBSD or Windows
- สนับสนุน Voice Assistance โดยทำงานร่วมกับ Apple HomeKit, Hey Google, Amazon Alexa
- สนับสนุนการทำงานหลายโปรโตคอล ปัจจุบันคือ Z-Wave, Zigbee และ Enocean
- การปรับแต่งเชิงลึกกับอุปกรณ์ของ Z-Wave.me เช่น
- การอัพเดต firmware ของ RaZberry 7 Pro ทำได้ง่าย
- ปรับแต่งพารามิเตอร์ เช่น พลังการส่ง เปลี่ยนความถี่ เพิ่มความสามารถในอนาคต เช่น LR
- ทำ Backup / Restore
- ทำ Zniffer เพื่อดูรายละเอียดของการส่งข้อมูลในเครือข่าย Z-Wave
- มี Network diagnostics tools เพื่อดูสถานะของเครือข่าย
- มีระบบตรวจจับการแทรกแซงในเครือข่ายเพื่อป้องกัน DoS attacks
ภาพที่เห็นด้านล่างเป็นตัวอย่าง GUI ของ Z-Way แต่เราจะไม่ได้ลงลึกในตัวนี้เนื่องจากเราเลือกทำการทดสอบกับ Home Assistant เป็นหลัก
ทดสอบ RaZberry 7 Pro กับ Home Assistant
เราได้ทำการทดสอบแบบด่วนๆในการ integrate ตัว RaZberry 7 Pro เข้าไปใน Home Assistant และอุปกรณ์ที่เรานำมาทดสอบก็เป็นเซ็นเซอร์จากต่างยี่ห้อ (ตามรูป) ไม่ว่าจะเป็นจาก Fibaro (Motion), NeoCoolCam(Door Sensor, Smart Plug, Siren), AeoTec (Siren, Multi Sensor) โดยทั้ง Home Assistant และ RaZberry 7 Pro ทำงานอยู่บนเครื่องเดียวกัน โดยรายละเอียดตามขั้นตอนด้านล่าง
- สเปคเครื่องที่เอามาทดสอบคือ Raspberry Pi4B 4GB RAM ที่ไม่มี case
- Home Assistant 2023.10.3 บน Operating System 11.0
- Z-Wave stack เราใช้ Zwave-js 12.2.1
- Firmware บน RaZberry 7 Pro เป็น v.7.28
- อุปกรณ์ลูกข่าย มีตั้งแต่ Door Sensor และ Smart Plug จาก Neo CoolCam , Door Sensor และ Siren 5 จาก Aeotec, Motion Sensor จาก Fibaro
- การติดตั้งจะสวมเข้าไปที่ GPIO ด้านบนของ Pi โดย RaZberry 7 Pro จะใช้อยู่ 4 pin (Gnd, VCC 3.3V,Serial TX และ Serial RX) แต่เอาจริงๆจะกินพื้นที่ 10 Pin
- ก่อน Boot ใช้งานต้องมีการปิด Bluetooth ใน Raspberry Pi เสียก่อนเพราะใช้ Serial Port ช่องเดียวกัน (/dev/ttyAMA0) ทำตามขั้นตอนดังนี้
- ต้องติดตั้ง Home Assistant บน SD Card ให้เสร็จเสียก่อน
- เอา SD Card มาใส่ในเครื่อง PC
- หาไฟล์ที่ root ที่มีชื่อว่า config.txt
- พิมพ์คำสั่งเพิ่มใน config.txt ขึ้นอยู่กับรุ่นของ Pi
- Raspberry Pi 3
12dtoverlay=pi3-disable-btenable_uart=1 - Raspberry Pi 4
12dtoverlay=disable-btenable_uart=1
- เสร็จแล้ว Save config.txt ตามด้วย Exit config.txt
- ย้าย Micro SD กลับไปที่ Pi แล้วเปิดเครื่องตามปกติ
- ใน Home Assistant เราจะเห็น RaZberry 7 Pro ขั้นตอนถัดไปคือการติดตั้งซอฟแวร์ มี 2 ทางเลือก
- ใช้ Z-Way มาเป็นตัวจัดการซึ่งการติดตั้งจะมีทั้ง Z-Wave.Me Integration และ Z-Wave.Me Add-on เราสามารถได้เลือกจาก Z-Way ได้ว่าอุปกรณ์ตัวไหนจะไปแสดงใน Home Assistant
- ใช้ Zwave.js ของทาง Home Assistant เองมาเป็นตัวจัดการ โดยจะมีการลง Addon และ Integration ตามลำดับเช่นกัน
- การทดสอบนี้เราเลือกวิธีที่ 2 ซึ่งน่าจะเหมาะกับสาวกของ Home Assistant เป็นที่สุดเพราะทุกอย่างจัดการภายใน Home Assistant GUI ทั้งหมด
- ไปที่ Home Assistant / Setting / Add-on แล้วหา Z-Wave JS UI ทำการ Install และ Start
- เมื่อที่ Web UI ของ Z-Wave JS UI เลือก Control Panel เลือก Setting เลือก Z-wave เลือก Serial Port /dev/tty/AMA0 ซึ่งเป็นตำแหน่งของ RaZberry 7 Pro ที่ติดตั้งอยู่ จาก list
- มาถึงขั้นตอนนี้เราก็พร้อมที่จะเพิ่มอุปกรณ์ Z-Wave เข้าไปในเครือข่าย Z-Wave ได้แล้ว พร้อมทั้งเห็นการเชื่อมต่อระหว่างเซ็นเซอร์และ RaZberry 7 Pro (ดู Control Panal และ Map) แต่อย่างไรก็ตาม entity ของอุปกรณ์ยังคงไม่ไปโผล่ที่ Home Assistant จนกระทั่งเราลง Z-Wave Integration ในขั้นตอนถัดไป
- ไปที่ Home Assistant GUI / Settings / Devices and Services / Add Integration
- เลือก Z-Wave และ Uncheck “Use the Z-Wave JS Supervisor add-on”
- ใส่ ws://a0d7b954-zwavejs2mqtt:3000 (refer to Home Assistant Z-Wave setup)
- ถ้าทุกอย่างเป็นไปด้วยดี เราจะเห็น entity ของอุปกรณ์ Z-Wave ไปโผ่ลที่ Home Assistant ตามรูป
โดยรวมมันก็ตรงไปตรงมา อุปกรณ์ทุกตัวถูกลงทะเบียนมาอยู่ใน Home Assistant โดยไม่มีปัญหาใดๆ ยากที่สุดน่าจะเป็นการ Disable Bluetooth โดยเฉพาะถ้าคุณมีแต่เครื่อง Mac ใน Lab 🙂 เราได้ทำการสร้าง Automation จาก entity เหล่านี้ก็พบว่าการตอบสนองเป็นไปด้วยดี อย่างไรก็ตามเราไม่ได้ทำการทดสอบเปรียบเทียบเรื่องความแรงของสัญญาณ อีกทั้ง Z-Wave LR ยังไม่ได้ถูก enable ณ ตอนที่เขียนรีวิวนี้
Unbox Z-Uno2
ตัวถัดไปที่เราได้ทดสอบคือ Z-Uno 2 ซึ่งใช้ชิป 700 series รุ่นเดียวกับ RaZberry 7 Pro เป็น Development board ตัวแรกที่เราเคยเห็นบนพื้นฐานของ Z-Wave เทคโนโลยี ซึ่งทำให้คุณสามารถที่จะสร้างอุปกรณ์ Z-Wave ขึ้นมาเอง (DIY) โดยการต่อเซ็นเซอร์ที่คุณชอบและไม่ต้องมีความรู้พื้นฐานของ Z-Wave ใดๆมาก่อน Z-Uno เป็น gen2 ของ Development board ที่ทาง Z-Wave.Me สร้างขึ้นมา ที่น่าสนใจคือการพัฒนา coding นั้นก็ใช้ภาษา Simplified C ที่ใช้ Arduino IDE เพื่อเขียนและอัพโหลดโค้ดไปที่ Z-Uno2 ซึ่งการใช้ Arduino IDE มันทำให้เราต่อยอดเอา code ที่สร้างมาก่อนหน้านี้กับอุปกรณ์ต่างๆ (Arduino compatible) มาใช้ใหม่ ทาง Z-Wave เองก็มีตัวอย่างโค้ดมากมายให้เราศึกษาด้วย ดูที่นี่ ทางเราเองก็ไม่ได้มีประสบการณ์ Arduino มากนัก แต่สามารถเรียนรู้แล้วมาทำการทดสอบสร้าง Z-Wave เซ็นเซอร์อย่างง่ายในเวลาไม่ถึงวัน
เราคิดว่าแนวคิดนี้มันทำให้ผู้ใช้และนักพัฒนาใหม่ๆเข้าถึง Z-Wave เทคโนโลยีมากขึ้น แนวคิดเหมือนกับ Opensource ในบอร์ดจำพวก ESP ซึ่งมีการใช้งานอย่างแพร่หลายและใช้ low code ในการเขียน เช่นพวก ESPhome บน ESP8266/32
Uno-2 Hardware specification:
- 174 kB Flash memory for your sketches
- 16 kB RAM available
- Z-Wave RF transmitter at 9.6/40/100 kbps
- Long Range
- 26 GPIO (overlaps with special hardware controllers)
- 4 ADC
- 4 PWM
- 2 UART
- 1 USB (serial port)
- 3 kB pseudo EEPROM
- 1 SPI (master or slave)
- 4 IR controllers, 1 IR learn capability
- 1 TRIAC/ZEROX to control dimmer
- 6 Interrupts
- 3 Timers
- I2C (software)
- 1-Wire (software)
- 8×6 Keypad Scanner (software)
- 2 service LED, 1 service button
- 1 user test LED
ข้อมูลเพิ่มเติมทางเทคนิคของ Z-Uno2 สามารถอ้างอิงจากที่นี่
Integrate Z-Uno 2 to Home Assistant
หลังจากที่เราได้สร้างเครือข่าย Z-Wave ขึ้นมาก่อนหน้านี้โดยที่มี RaZberry 7 Pro เป็น Z-Wave controller และได้ทำการเพิ่ม Off-The-Shelf sensor ต่างๆจากหลายยี่ห้อไปแล้ว คราวนี้เราจะสร้างเซ็นเซอร์ขึ้นมาเองและผนวกเข้าไปใน Home Assistant
เราได้ทดลองต่อ Z-Uno 2 กับเซ็นเซอร์วัดอุณหภูมิและความชื้น DHT21 (AM2301) โดยการ Diagram การต่อ และ code ก็มีดังนี้
สำหรับขั้นตอนการติดตั้งโปรแกรม Arduino และ core library สำหรับ Z-Uno2 สามารถดูได้ที่นี่
เราได้ใช้ Arduino คอมไฟล์โค้ดด้านบนและอัพโหลดเข้าไปใน Uno2 ผ่าน USB พอร์ต หลังจากนั้นก็ทำการเพิ่มอุปกรณ์ใหม่นี้เข้าไปใน Z-Wave JS โดยทำการกดปุ่ม BTN ค้างสามวินาทีจนกระทั่งไฟสีแดงกระพริบ แสดงว่า Uno-2 เข้าสู่ Inclusion mode แล้ว หลังจากนั้นไปที่ ZWave JS / Node Manager เลือก Inclusion แล้วเลือกค่า default ที่ให้มาเราก็จะได้เซ็นเซอร์ตัวใหม่แสดงใน Home Assistant
ค่อนข้างง่ายนะ ถ้าคุ้นเคยกับ Arduino IDE และ Simplified C ก็ยิ่งเร็วขึ้นไปอีก เราไม่ได้ทดสอบกับเซ็นเซอร์ตัวอื่นๆเนื่องจาก DHT21 เป็นตัวเดียวที่เราพอหาได้ ณ ขณะนั้น อย่างไรก็ตาม Z-Wave ได้บอกว่าตราบใดที่เซ็นเซอร์นั้นใช้งานกับ Arduino ได้ ( Arduino Compatible) มันก็น่าจะทำงานได้กับ Z-Uno2
บทสรุป
นอกเหนือจาก form factor ที่ประหยัดพอร์ต USB และมี External Atenna ทำให้การส่งสัญญาณดีของ RaZberry 7 Pro เราก็ชอบความยืดหยุ่น ของ RaZberry ที่เราสามารถปรับแต่งค่าต่างๆได้ พลังในการส่ง ความถี่ที่ใช้ และเพิ่มฟีเจอร์ที่จะเพิ่มขึ้นมาในอนาคต น่าเสียดายที่เราไม่มีโอกาสทดสอบ LR (Long Range) ถึงแม้ว่า hardware จะพร้อมแล้ว ในบางพื้นที่ของโลก เช่นในเอเชียความนิยมของ Z-Wave อาจสู้พวกโปรโตคอลใหม่ๆ (Wifi, Zigbee) ไม่ได้ อาจจะเป็นเพราะราคาที่สูงและความหลากหลายของอุปกรณ์ แต่โปรโตคอลพวกนี้ก็มีข้อจำกัดถ้าเทียบกับ Z-Wave อยู่ เช่น ความเข้ากันของอุปกรณ์ (Compatibility), สัญญาณรบกวน (Signal Interference) , ความปลอดภัย (Security) และ ระยะทาง (Distance)
ส่วน Z-Uno2 มันเป็นแนวคิดที่ดีทีเดียว หยืดหยุ่นและร่นระยะเวลาในการเรียนรู้และพัฒนาใครที่อยากจะ DIY อุปกรณ์ Z-Wave ขึ้นมาเอง Z-Uno2 ก็เป็นทางเลือกที่ดีทางเลือกนึง แค่พอรู้การใช้งาน Arduino IDE และเขียน Simplified C เป็นก็สามารถพัฒนา coding อย่างง่ายๆได้
ขอขอบคุณทางบริษัท Z-Wave.Me ที่ส่งอุปกรณ์ Smart Home ที่ใช้ Z-Wave มาให้รีวิว อุปกรณ์ทั้ง 2 ตัวมีจำหน่ายบน Amazon โดย RaZberry 7 Pro ราคา $85 (~3,000฿) และ Z-Uno2 ราคา $64 (~2,300฿) และร้านอื่นๆ
วิศวกรคอมพิวเตอร์สาย Infrastructure ที่ชื่นชอบเทคโนโลยีทางด้าน IOT เป็นพิเศษ ไม่ว่าจะเป็นด้าน Smart Home, Smart Farm และยังสนใจในนวตกรรมเกี่ยวกับ Sustainability เช่น Renewable Energy และ Organic Food