【機器學習】智慧感測掛鐘

Description

Description
作者:CH.Tseng

創作發想

人工智慧正夯!而機器學習是實現人工智慧的一條好途徑。

我希望能做一個結合機器學習的感測裝置,當有人進入會議室時,讓裝置不但能告知會議室是否在使用中,還能主動告知今日會議室的預約狀況,甚至是最近的預約時間。

材料準備

  • 1. 掛鐘 x 1(選擇內部有多餘的空間,可擺放一片樹莓派及感測模組和揚聲器的掛鐘)
  • 2. Raspberry Pi x 1
  • 3. 聲音模組 x 1
  • 4. 光敏電阻 x 3
  • 5. PIR模組 x 1:紅外線偵測器
  • 6. 麵包板含 MCP3008 ADC IC及電阻 x 1
  • 7. DHT22 x1:溫溼感應器
  • 8. 8歐姆喇叭 x 1
  • 9. LM386 module x 1:音頻放大模組
  • 10. LED x 1:(指示燈,不一定要安裝,但debug時比較方便)

實作步驟

1. 資料蒐集與處理

我計畫利用前、左、右側的光敏電阻來蒐集光源資訊,由此判斷會議室狀態,例如經由排列組合,亞歷山大會議室就有13種燈光明暗組合的可能性。

雖然我們不一定要偵測到如此詳細,也可以花時間蒐集各狀態的資料,再透過人工方式一一找出不同狀態的合理上下限值去調整驗證。但這個過程實在太過單調費工了,所以我決定用最近很紅的機器學習方式,把這些資料全部丟進去,讓Scikit-learn來替我們判斷這些狀態。

2. 改裝時鐘,配置零組件

由於要偵測固定的光源,所以該裝置最好不能隨意被移動,否則每次量測出來的數值都會不同,於是我們的腦筋又動到牆壁上的掛鐘,因為這東西永遠固定不動,且很容易融入周遭環境不引人注意。

選擇一個背後的空間足夠放置樹莓派主板的掛鐘。

決定改裝掛鐘之後,接著,再將零組件如圖所示組合起來即可。

零組件配置(背面)

零組件配置(正面)

3. 程式碼撰寫

由於程式撰寫部分過於冗長,在此不多贅述,有興趣的朋友們歡迎前往本專案的部落格了解,而所有的程式碼皆置於Github。

大家可透過data.sunplusit.com 平台來取得指定會議室當日的所有預約資訊,至於寫入資料的部分,後續會再說明。

4. 使用機器學習來判斷室內狀態

實際安裝好機器,即可進入機器學習的階段,詳細步驟請參考本專案的部落格。

簡言之,我們準備好機器和程式之後,將程式產生的log資料規劃成csv格式,再依據資料,讓機器產生data,最後我們以excel檔開啟data,接著存成light.csv檔,就可以開始機器學習了!

使用Excel檔開啟data檔,整理成如圖的格式並存成light.csv。

成果展現

完成專案囉!

本掛鐘的主要功能,是依據三個方向的光敏電阻所搜集的資料,來判斷目前會議室的使用狀況。這三個光敏電阻持續搜集的資料,會透過scikit-learn來學習,用以判斷會議室是否在使用中哦!

成果示意圖,文字部分將以語音呈現。

後記

在本專案中,我們試著透過機器學習的方式,使用三個方向的光照度來判斷會議室的多種狀態,實測準確率達八成。

其實整個過程中,大部份是套用公式化的步驟以及預設的變數設定來直接得到我們想預測的結果,並未觸及更深入的機器學習細節及原理。然而本專案中所使用的驗證模型,對於我們日後在進行機器學習時,是相當有用的一環,希望大家都能藉由實際操作,來了解其應用方式。

Resource

詳細製作過程1
詳細製作過程2


◎加入我們的Line,獲得更多及時文章更新&活動資訊→

加入好友

Contact

Contact
  • Category
    Raspberry Pi
  • Tags
    AI, 機器學習

Project簡述

Project簡述
  • 簡述
    人工智慧正夯!本篇將實作結合 AI 機器學習的感測掛鐘,不僅能主動回報會議室使用狀況,還能提醒會議室的預約情形哦!
  • 作者
    CH.Tseng
  • FB Comments
    272531986562301

您的姓名 〈需填寫〉

您的電子郵件信箱 〈需填寫〉

主旨

您的信件內容