每年 1 月,我跟同事都會一起關注美國 CES 展,不同地方在於,他主要看有什麼創新產品可買,我則是對物聯網(Internet of Things,下簡稱IoT)感興趣,美國 CES 展堪稱「科技風向球」,不少科技龍頭都在此展示與 IoT 趨勢相關之未來方向,其實程式語言 Ruby 的多功能靈活性也已成為開發 IoT 的重要技術之一,今天來分享幾個以 Ruby 寫成的 IoT 技術案例,或許大家走在路上都曾看過。
IoT 的運用範圍很廣泛,小至家中智慧家電、照明系統等,大至醫療照護、穿戴式健康監測設備、物流監測追蹤、智慧停車、交通監控等,這幾年 AI 人工智慧的飛速成長也加強了 IoT 的功能及效率,不過即便如此,想要把程式寫進一些產品還是有挑戰的。
想像一下,如要開發一款智慧電鍋,必須保留電鍋原基本功能,還要結合智慧技術,內部感測器及電子元件還必須避免互相干擾,同時要確保電鍋整體安全性、兼容性,如電鍋要連至網路或藍芽,還得保障傳輸的安全及隱私性,最後,電鍋在使用上是否直觀好用,電鍋體積及外型是否美觀,都是影響產品成敗的關鍵,而對工程師來說,這也表示需把程式語言整合到一塊微型主機板上,執行環境提供的資源越少,編寫難度越大。
目前有許多 IoT 產品都是用 C 語言開發,雖然 C 語言也蠻強大,但複雜度也是公認的。相較之下,我更偏好用 Ruby 進行開發,Ruby 寫起來比較開心,直覺又流暢,背後又有強大 Ruby 社群共同優化 IoT 的應用,降低產品開發失敗風險。早在 8 年前,就有一名日本知名 Ruby 開發者 HASUMI Hitoshi 開發 IoT 設備用於清酒釀造,實現釀造控制、生產自動化及遠程控管,現在在日本,Ruby 於 IoT 領域的應用則更廣,許多 IoT 機器人、工廠系統或電競周邊例如鍵盤等,都是採用 Ruby 做開發的。
除了日本,國際上也有不少人採 Ruby 開發 IoT,在澳洲就有兩位 Ruby 開發者 Selena Small、Michael Milewski 以 IoT 結合拳擊運動,簡單來說,就是拳擊手透過穿戴裝置監測打擊速度、力量,再輸出這些數據幫助選手做性能分析,量身打造改善計畫,讓他們再下一次上場時更能取得勝利,有趣的是,觀眾也可透過這些數據的公開,即時看到拳擊手狀態,讓整場運動變得更加有趣!其實還有很多案例,大家有興趣的話可以留言,我再回覆分享。
在台灣,我也經手過幾個 IoT 案例,像之前承接過某個科技年會,就是以 RFID 系統控管活動門禁,追蹤參加者狀態、控管人流等,讓工作人員即時管理,如現場有線上金流交易也能輕鬆安排,RFID 雖然不是最新技術,應用範圍卻很廣泛也很好玩,記得之前有位法國 Ruby 開發者就用了 RFID 監測家中貓咪出入幾次貓門,每當他家的貓進出貓門時,Twitter 就會自動發布貼文,並配上監視器畫面當下的截圖(直到現在),身為貓奴的我可以懂,每天重複看一隻貓進出真的一點也不單調!