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

2017.01.16 Embedded system

Avatar for blue chen blue chen
January 16, 2017

2017.01.16 Embedded system

Avatar for blue chen

blue chen

January 16, 2017
Tweet

More Decks by blue chen

Other Decks in Technology

Transcript

  1. > npm install express …. ran out of memory …

    npm install 耗⽤用極⼤大 memory npm install ⼤大約基礎會耗掉接近 60 mb 的 memory
  2. > opkg install node …. no space … 硬碟只有 16

    MB, 只剩 4 mb 可⽤用空間 nodejs 在各平台⼤大約基礎會耗掉 6~8 mb 的 space
  3. • MT7688 • 128MB DDR2 • 32MB Flash • Chip

    Antenna (default) • IPEX Ext Antenna • microSD • USB Host • JTAG LinkIt Smart 7688
  4. • MT7688 + ATmega32U4 • 128MB DDR2 • 32MB Flash

    • Chip Antenna (default) • IPEX Ext Antenna • microSD • USB Host • JTAG LinkIt Smart 7688 Duo
  5. MPU ( Microproccess Unit) MCU (MIcrocontroller Unit) 1. ⼯工作時脈幾百MHz 2.

    MB 等級的 RAM 3. 含有 MMU 可以跑完整的 Linux 1. ⼯工作時脈 100MHz 以下 2. KB 等級的 RAM 3. Real-time OS : freeRTOS …etc
  6. MT7688& ATMega32U4+ Sensor USB device LinkIt Smart 7688 Duo MT7688&

    Sensor USB device LinkIt Smart 7688 MPU, 邏輯端運算 MCU, Real-time control
  7. 先從⼀一般基本跑得動 Node.js (javascript) 情境來來談 Nodejs OS Applicaton 想像⼀一下各位現有的 server 如何跑

    Node.js(javascript) ? 規格 架構 Linux, openWRT…etc 硬碟⾄至少要 1X mb, RAM 建議⾄至少要 64 mb
  8. MT7688& ATMega32U4+ Sensor USB device LinkIt Smart 7688 Duo MT7688&

    Sensor USB device LinkIt Smart 7688 MPU, 邏輯端運算 MCU, Real-time control Node.js 跑在這
  9. Node.js需要有其他的軟體架構擴充 對嵌入式開發板⽽而⾔言 1.PWM, GPIO, I2C …. etc ( libmraa )

    2.跟 MCU 端溝通 ( node-serialport, firmata ) 3.USB device ( node-hid )
  10. NodeJS ( v0.12.7 ) node-serialport node-hid Firmata, cylonJS Your application

    OpenWRT OS (Wifi, driver) (MCU 溝通) (MCU 溝通) mraa (USB)
  11. OpenWRT 重點玩法 1. full stack wifi: AP mode, Station mode

    2. wifi Router/gateway 玩法 3. 超級豐富的 package, driver community
  12. 1. full stack wifi: AP mode, Station mode 2. wifi

    Router/gateway 玩法 3. 超級豐富的 package, driver community OpenWRT 重點玩法
  13. 1. full stack wifi: AP mode, Station mode 2. wifi

    Router/gateway 玩法 3. 超級豐富的 package, driver community OpenWRT 重點玩法
  14. OpenWRT package management > opkg update > opkg install 套件名

    我們提供 opkg 清單: http://mirror2.openwrt.org/mt7688_v0.9/packages/
  15. ruby, python, nodejs, lua, perl, php, erlang, javm, opencv, ffmpeg,

    bluez … 
 找不到? 來來 contribute 吧!
  16. Demo (CD-player) opkg update opkg install kmod-scsi-cdrom opkg install kmod-scsi-core

    opkg install kmod-scsi-generic opkg install kmod-fs-isofs
  17. NodeJS ( v0.10.27 ) node-serialport node-hid Firmata, cylonJS Your application

    OpenWRT OS (Wifi, driver) (MCU 溝通) (MCU 溝通) mraa (USB)
  18. MT7688& ATMega32U4+ Sensor ( mcu, mpu溝通) USB device LinkIt Smart

    7688 Duo MT7688& Sensor ( libmraa ) USB device LinkIt Smart 7688
  19. node-serialport 接收對話 Firmata 把每個通道都打通 Digital 0~13 PWM i2C Arduino sensor

    MT7688& ATMega32U4+ Linkit Smart 7688 Duo 相同的 baudrate下
  20. MPU Atmega32U4 Application 101010000000 node-serialport framework Digital 0~13 PWM i2C

    Arduino sensor Firmata 把每個通道都打通 LinkIt Smart 7688 Duo 相同的 baudrate下
  21. firmata 的效能及市場性的問題 Firmata is not a good pattern MPU Atmega32U4

    Application 101010000000 node-serialport framework Digital 0~13 PWM i2C Arduino sensor Firmata 把每個通道都打通 LinkIt Smart 7688 Duo 相同的 baudrate下
  22. Firmata is not a good pattern MPU Atmega32U4 Application 101010000000

    node-serialport framework Digital 0~13 PWM i2C Arduino sensor Firmata 把每個通道都打通 LinkIt Smart 7688 Duo 相同的 baudrate下 1 且所有運算都在 MPU 端 很多 sensor 只有 C 不提供 JS parser 2 firmata 的效能及市場性的問題
  23. 挑戰⼆二如何讓兩兩個晶片溝通 ? firmata ? Firmata is not a good pattern

    MPU Atmega32U4 Application node-serialport framework Digital 0~13 PWM i2C Arduino sensor LinkIt Smart 7688 Duo 相同的 baudrate下 運算在 MCU 端處理理好
  24. 挑戰⼆二如何讓兩兩個晶片溝通 ? firmata ? Firmata is not a good pattern

    MPU Atmega32U4 Application 這是 blue 的指紋 node-serialport framework Digital 0~13 PWM i2C Arduino sensor LinkIt Smart 7688 Duo 相同的 baudrate下 運算在 MCU 端處理理好
  25. USB device Sensor Wifi, OS driver/pkg 全部交給 OpenWRT mraa, node-serialport,

    firmata node-hid (指紋辨識機) (web cam, CD-player) (keyboard)