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

Javascript -Full stack 物聯網開發

blue chen
April 09, 2017

Javascript -Full stack 物聯網開發

blue chen

April 09, 2017
Tweet

More Decks by blue chen

Other Decks in Business

Transcript

  1. Javascript - Full stack 全端物聯聯網開發
    Po-ju.chen (Blue)
    NTU, April 10th, 2017

    View Slide

  2. IT# Hardware#
    device##
    #
    #
    #
    #

    View Slide

  3. IT# Hardware#
    device##
    #
    #
    #
    #
    Javascript#
    近年年來來應⽤用. 服務 . 價值在
    這裡發光發熱

    View Slide

  4. 全端物聯聯網開發
    Javascript (Node.js) 不在僅是跑在 Browser 上
    他可以跑在你我周遭的任何事物上

    javascript 現在可以來來做 native phone app, native desktop app, browser app,
    server … etc (投資報酬率較⼤大的選擇)

    View Slide

  5. View Slide

  6. https://github.com/jollen/nodejs-fullstack-book
    ### 第 1 章:JavaScript 設計模式
    ### 第 2 章:HTML5 軟體開發的概念念
    ### 第 3 章:Node.js 入⾨門 - URL Routing 篇
    ### 第 4 章:Node.js 入⾨門 - WebSocket 與 JSON 篇
    ### 第 5 章:軟體思惟 - Lambda 篇
    ### 第 6 章:軟體思惟 - Web Service 篇
    ### 第 7 章:軟體思惟 - Non-blocking IO 篇
    ### 第 8 章:Node.js 應⽤用 - Express.js 入⾨門
    ### 第 9 章:Express.js 應⽤用 - Middleware
    ### 第 10 章:REST API 架構 - 使⽤用 Express.js
    ### 第 11 章:REST API 應⽤用 - 使⽤用 jQuery
    ### 第 12 章:MVC 架構實作 - Backbone.js 入⾨門
    ### 第 13 章:NoSQL 資料庫應⽤用 - 使⽤用 MongoDB
    ### 第 14 章:Node.js 物聯聯網概論 - 使⽤用 Web of Things
    ### 第 15 章:Node.js 物聯聯網入⾨門 - 使⽤用 ARM mbed
    ### 第 16 章:Node.js 與前端 - 串串接 WebSocket
    ### 第 17 章:Node.js 與私有雲 - 使⽤用 MCS Lite
    ### 第 18 章:Node.js 與 CoAP 通訊協定
    ### [第 19 章:物聯聯網架構規劃初體驗](chapter19/README.md)
    ### 第 20 章:P2P 與 Blockchain 概論
    ### 第 21 章:Node.js 與 P2P 入⾨門 - 使⽤用 WebTorrent
    ### 第 22 章:Node.js 與 Blockchain 入⾨門
    ### 第 23 章:Node.js 與 Blockchain 應⽤用
    ### 第 24 章:Blockchain 與 Fullstack 整合初體驗

    View Slide

  7. Device
    Cloud
    App
    MPU
    7620 7628 7688
    MCU
    7687 7697 2523
    Online / Enterprise cloud
    mcs.mediatek.com
    Private cloud
    mcs-lite
    React-native App
    IOS/ Android
    教材
    Microlattice.js (7687, 7697)
    Node.js for 7688
    Microlattice.js (7687, 7697)
    Node.js for 7688
    React-Native ebooks
    total JS solution
    Desktop
    App
    與第三⽅方提供完整的教育訓練:https://wotcity.com/node-iot
    我們提供完整的全套 Javascript ecosystem

    View Slide

  8. 關於 Javscript 在嵌入式的開發

    View Slide

  9. IoT$device$ $
    Lightweight$,$
    $
    (MCU)$
    gateway,$powerful$$
    (MPU)$
    Lightweight$,$
    $
    (MCU)$

    View Slide

  10. MCU 世界需要⼀一個 lightweight Javascript Engine
    • Node.js 無法在 RTOS 下執⾏行行
    • RAM 的使⽤用非常珍貴
    • Node.js 有太多對 IoT 不必要的開機過程
    詳情請 google -> 『MCU 與 Lightweight Javascript engine 的邂逅』
    https://speakerdeck.com/iamblue/mcu-yu-lightweight-javascript-engine-de-xie-hou

    View Slide

  11. Microlattice.js on MT7697
    Github: https://github.com/iamblue/microlattice
    Gitbook: https://iamblue.gitbooks.io/microlattice-js-for-linkit-rtos/content/zh-TW/intro/create/mt7697.html

    View Slide

  12. Microlattice.js 設計精神
    設計理理念念
    •完整 Porting MTK MCU chip
    •真正為 IoT device 所設計的 IoT 版的 Node.js.
    •追求 Javascript community 所熟悉的 coding style ,並追求接近 C 的效能
    •每⼀一個細節包含 tool, module, engine core 都是可以拆分重組
    • 中⽂文意思:微晶格
    • 英⽂文意思:世界上最⼩小最輕且非常堅固的⾦金金屬材料

    View Slide

  13. Support Javascript API List
    • I/O
    Pinmux
    GPIO
    ADC
    PWM
    Uart
    •WIFI
    AP/STATION/REAPTER mode
    • Encryptor
    MD5
    SHA
    AES (TBD)
    DES (TBD)
    •Internet protocol
    MQTT
    TCP
    UDP
    HTTP
    HTTPS (TBD)
    MQTTs (TBD)
    HTTP2 (TBD)
    •Event
    Event emitter
    •Tools
    Timer (setTimeout/ setInterval / … )
    Utils
    Fota
    Wdt
    RebootScript
    https://iamblue.gitbooks.io/microlattice-js-for-linkit-rtos/content/zh-TW//api/pinmux.html

    View Slide

  14. ⼀一步步來來就可以在本機產⽣生好 Microlattice.js 環境

    View Slide

  15. Demo

    View Slide

  16. One more thing …

    View Slide

  17. Cloud IDE for Microlattice.js (BETA 中)
    Quickly create a microlattice.js binary : http://ml.mt7697.com/
    Install a chrome extension. https://github.com/iamblue/allspark
    If you download the binary completely, it will help you to download to the MT7697 automatically.
    對於學員來來講不⽤用再辛苦 Setup 所有環境了了!!!

    View Slide

  18. •E-Book:
    https://www.gitbook.com/book/iamblue/microlattice-js-for-linkit-rtos
    •Github:
    https://github.com/iamblue/microlattice
    About Microlattice.js

    View Slide