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

2017.01.16 Embedded system

blue chen
January 16, 2017

2017.01.16 Embedded system

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)