Upgrade to Pro — share decks privately, control downloads, hide ads and more …

用 Reactjs 和 WoT 標準來降低大眾進入硬體門檻

blue chen
October 31, 2015

用 Reactjs 和 WoT 標準來降低大眾進入硬體門檻

blue chen

October 31, 2015
Tweet

More Decks by blue chen

Other Decks in Design

Transcript

  1. Embedded board 晶⽚片上的規格區分 MPU  (  Microproccess  Unit) MCU  (MIcrocontroller  Unit)

    1.  ⼯工作時脈幾百Hz   2.  MB  等級的  RAM   3.  可以跑完整的  Linux   1.  ⼯工作時脈  100Hz  以下   2.  KB  等級的  RAM     3.  輕量級的  OS  :  freeRTOS  …etc  
  2. MPU

  3. MCU

  4. 先從⼀一般基本跑得動 javascript 情境來談 Nodejs OS   Linux,  openWRT,  freeRTOS…etc 硬碟⾄至少要

     1X  mb,  RAM  建議⾄至少要  128  mb 想像⼀一下各位現有的  server  如何跑  javascript  ?  
  5. 先從⼀一般基本跑得動 javascript 情境來談 Nodejs OS   Applicaton Linux,  openWRT,  freeRTOS…etc

    硬碟⾄至少要  1X  mb,  RAM  建議⾄至少要  128  mb 想像⼀一下各位現有的  server  如何跑  javascript  ?  
  6. 先從⼀一般基本跑得動 javascript 情境來談 Nodejs OS   Applicaton 硬碟⾄至少要  1X  mb,

     RAM  建議⾄至少要  128  mb 想像⼀一下各位現有的  server  如何跑  javascript  ?   規格 架構 Linux,  openWRT,  freeRTOS…etc
  7. 先從⼀一般基本跑得動 javascript 情境來談 Nodejs OS   Applicaton 硬碟⾄至少要  1X  mb,

     RAM  建議⾄至少要  128  mb 想像⼀一下各位現有的  server  如何跑  javascript  ?   規格 架構 MPU Linux,  openWRT,  freeRTOS…etc
  8. MPU MCU Serial  port  接收對話 Digital  0 Digital  13 i2C

    uart 相同的  burnrate下 Firmata  把每個通道都打通
  9. MPU MCU Serial  port  接收對話 Digital  0 Digital  13 i2C

    uart firmata  把每個通道都打通 MPU 101010000000
  10. MPU MCU Serial  port  接收對話 Digital  0 Digital  13 i2C

    uart firmata  把每個通道都打通 MPU 101010000000 node-­‐serialport
  11. MPU MCU Serial  port  接收對話 Digital  0 Digital  13 i2C

    uart firmata  把每個通道都打通 MPU 101010000000 node-­‐serialport framework
  12. MPU MCU Serial  port  接收對話 Digital  0 Digital  13 i2C

    uart firmata  把每個通道都打通 MPU Application 101010000000 node-­‐serialport framework
  13. WoT  按照  wiki  講的有4個層⾯面:          1.  Programing

     web  (  programing  spec  )      2.  Seman]c  web  (  JSON-­‐LD  )    3.  Real-­‐]me  web  (  web  socket    or  other  protocol  )    4.  Social  web  (  安全機制  ) https://github.com/w3c/web-­‐of-­‐things-­‐framework W3C    今年對於  Web  of  things    這個議題做了很積極的改變
  14. https://github.com/w3c/web-­‐of-­‐things-­‐framework 定義  (schema)   ⼿手機的屬性   可能的⾏行為
 誰可以授權⽤用它   ⾨門

    ⼿手機 定義  (schema)   ⾨門的屬性   可能的⾏行為   誰可以授權⽤用它    1.  Programing  web  (  programing  spec  )      2.  Seman]c  web  (  JSON-­‐LD  )      3.  Real-­‐]me  web  (  web  socket    or  other  protocol  )      4.  Social  web  (  安全機制  )   2 2
  15. https://github.com/w3c/web-­‐of-­‐things-­‐framework 定義  (schema)   ⼿手機的屬性   可能的⾏行為
 誰可以授權⽤用它   ⾨門

    ⼿手機 定義  (schema)   ⾨門的屬性   可能的⾏行為   誰可以授權⽤用它   websocket  1.  Programing  web  (  programing  spec  )      2.  Seman]c  web  (  JSON-­‐LD  )      3.  Real-­‐]me  web  (  web  socket    or  other  protocol  )      4.  Social  web  (  安全機制  )   2 3 2
  16. https://github.com/w3c/web-­‐of-­‐things-­‐framework 定義  (schema)   ⼿手機的屬性   可能的⾏行為
 誰可以授權⽤用它   (security)

    ⾨門 ⼿手機 定義  (schema)   ⾨門的屬性   可能的⾏行為   誰可以授權⽤用它   (security) websocket security  1.  Programing  web  (  programing  spec  )      2.  Seman]c  web  (  JSON-­‐LD  )      3.  Real-­‐]me  web  (  web  socket    or  other  protocol  )      4.  Social  web  (  安全機制  )   2 3 4 4 2 4
  17. Cylon.js NodeJS OpenWRT  framework Firmata Sensor Arduino   MCU Web

     端 Arduino  Yun  端 (寫好  React  component)
  18. Cylon.js Code NodeJS OpenWRT  framework Firmata Sensor Web  透過  WoT

     framework  跟  device  端對話(丟code) 1 1 MPU Arduino   MCU Web  端 WoT(JSON-­‐LD) Arduino  Yun  端 (寫好  React  component)
  19. Cylon.js Code NodeJS OpenWRT  framework Firmata Sensor Web  透過  WoT

     framework  跟  device  端對話 1 Framework  透過垂直整合接收  /  控制sensor 2 2 1 MPU Arduino   MCU Web  端 WoT(JSON-­‐LD) Arduino  Yun  端 (寫好  React  component)
  20. ⽤用 ReactJS + WoT 初步達成什麼願景? 讓⼤大眾進⼊入硬體的⾨門檻降低 ! JS  是全世界最容易上⼿手的語⾔言,搭配  

    ReactJS  套件化組裝,可以輕易把套件跟封 裝成跑在各平台上 降低開發⾨門檻 ◎ 把每個 firmware 想像是⼀一個app, maker 可以分享⾃自⼰己設計的 firmware 創造出獨特 app store ⽣生 態系,讓⼤大眾直接⽤用安裝 app 的⽅方 式快速部署到 device 上 易上⼿手 firmware 更新機制 # 只要在任何⾏行動機器上開啟  web, 隨時都可以對任何  device  控制  or  看 其現在狀態 Control / Display $ 所有的開發跟debug模式都可以在 web上執⾏行,不需考量windows/mac 作業環境 開發/ debug ⼿手機/  電腦/  平板端 z
  21. 挑戰⼀一如何選擇⼀一個版⼦子? mpu, mcu怎辦? Nodejs OS   Applicaton Linux(  Ubuntu,  openwrt…)

    硬碟⾄至少要  1X  mb,  RAM  建議⾄至少要  128  mb 規格 架構
  22. ! Compile  engie   (v8)   node-­‐gyp   Async,  Event

     driven,  OS  operator libuv   Nodejs 很重要的三個部分
  23. 挑戰⼆二如何讓兩個晶⽚片溝通 ? firmata ? Firmata  is  not  a  good  pattern

    MPU MCU Serial  port  接收對話 firmata  把每個通道都打通 Digital  0 Digital  13 i2C uart
  24. 挑戰⼆二.三如何讓兩個晶⽚片溝通 ? firmata ? Firmata  is  not  a  good  pattern

    MPU MCU Serial  port  接收對話 firmata  把每個通道都打通 Digital  0 Digital  13 i2C uart 且所有運算都在  MPU  端 1 很多  sensor  只有  C  不提供  JS  parser 2
  25. 挑戰⼆二如何讓兩個晶⽚片溝通 ? 其實原來的  Arduino  就可以了! MPU MCU Serial  port  接收對話

    Gesture  sensor 運算好結果再丟回MPU Serial.print(‘靠北’) Serial.print(‘靠北’)
  26. 挑戰四如何做到裝置讓外界溝通 ? WoT? 實際上  OIC  ,  Alljoyn  聯盟本來就有針對不同  protocol  整合計畫

      使⽤用層級並⾮非在應⽤用層,⽽而在更低⼀一層的網路層 整合 ⽅方式 安全 Bluetooth   wifi   zigbee   NFC p2p   wifi  infrastructor credential  management
  27. 挑戰四如何做到裝置讓外界溝通 ? WoT? 實際上  OIC  ,  Alljoyn  聯盟本來就有針對不同  protocol  整合計畫

      使⽤用層級並⾮非在應⽤用層,⽽而在更低⼀一層的網路層 整合 ⽅方式 安全 Bluetooth   wifi   zigbee   NFC p2p   wifi  infrastructor credential  management 時間可能是:  3~5年後