# YodaOS: Resolving IoT fragmentation by Node.js, NPM or Web? - Yorkie ###### tags: `jsdc2019` {%hackmd @JSDC-tw/2019-announcement %} > Start here @yorkie ## Yoda-OS > a new operating system for ==voice-enabled== IoT based ==on the Web== [GitHub](https://github.com/yodaos-project) Google Assistant Integrated with YodaOS What's new parts? Next? Demo: 1. 喚醒音箱 2. 資料送到 Google 3. YodaOS 處理應用層 >> Yoda's service based on google assistant ## new part - application framework - Voice interface driver integrates voice service (ex.google assistant alexa and etc) - 碎片化嚴重 - 上傳格式不統一 - YodaOS 設備端應用開發統一,兼容不同雲端 - development toolkit(based on android adb) ## Brief History - Linux Kernal - HAL 硬體抽象化 - System Framework 藍芽等硬體 - Specific Voice Runtime - 兼容不同語音服務 - Specific Voice Service ## Driver - 轉換其他服務的 API - 提供一個統一 API - 實作 callback 執行你要的功能 - 雲端指令轉成 local URL - local events to cloud ## yoda's messaging - multiplex messaging - URL 用 router 概念去撰寫 - yoda-app://setup/init - yodaapp://cloud-player/play - yoda-app://bluetooth/open?discovery=1 - yoda-app://volume/set?value=90 - Event - ```javascript var target = new EventTarget('yoda.apps.cloud-player') target.on('tt.open', /*...*/) ``` - Function - ```javascript var player = new FunctionTarget('yodas.on') player.on('') ``` - Framework 與 Interface driver 用上述的 Yoda Message 來溝通 ## Fauna Framework > #### Client - self-discovering YodaOS API - 其他的可根據協議做出 #### Runtime - hive: 加快應用啟動 - 獨立的 process ## YodaOS App - Library - @yodaos/application - speech- ## YodaOS next - IoT 硬體不一樣,兼容超難 ## requirement - nodejs core partially - complete N-API ## awesome ## yoda.js -application framework in runtime enviromnment