我們如何連結網路的虛擬世界與生活周遭的真實世界呢?原本JavaScript與Node.js屬於網站瀏覽器領域的技術,但是,若可以把存取嵌入式電子零件(感測器與微控制器)的功能、帶到JavaScript與Node.js的開發平台,說不定會對體感運算的世界造成翻天覆地的影響。本書屬於實務型指引手冊,針對硬體軟體工程師、創客、網頁開發人員所撰寫,探討如何在各種硬體平台上頭使用JavaScript程式語言,同時也會深入介紹微控制器、單板電腦,以及其他硬體元件。
.使用JavaScript語言為Arduino和Espruino的微控制器開發程式
.以Tessel 2開發平台製作物聯網裝置原型
.學習輸入與輸出的電子零件,包括感測器
.運用Particle Photon工具鏈讓微控制器連上網路
.在單板電腦上執行Node.js,如Raspberry Pi與Intel Edison
.使用Johnny-Five之類的Node.js程式庫與嵌入式裝置溝通,透過藍牙操控遠端裝置
.使用MQTT作為中介器,讓網路上的各個裝置互傳訊息
.把機器人視為建構區塊,探索打造共享經驗的方式
作者簡介:
Patrick Mulder
專精嵌入式系統、網站介面與測量系統的軟硬體工程師,除了本書之外,也是《Full Stack Web Development with Backbone.js》(O’Reilly出版)的作者。
Kelsey Breseman
Tessel專案主導委員會的成員,Tessel是個開源組織,其目標是讓網頁開發人員能夠具備相關知識、進入聯網裝置的領域。Kelsey也曾投注心力在供一般大眾使用的無人飛行機,以及研發肺癌診斷裝置。
各界推薦
名人推薦:
如果「媒體就是訊息」而「萬物聯網」是新媒體。那麼,Patrick與Kelsey寫出了一本絕佳著作,闡述JavaScript(Node.js)如何能成為我們所有人的通用語言,這本書的內容相當全面,任何人,只要你正想要把「智慧」嵌入生活環境、我們每天都會與之互動的物件,連接彼此,那麼絕對不可錯過本書。
Vivian Balakrishnan
新加坡外交部長;新加坡智慧國家計畫事務部長
名人推薦:如果「媒體就是訊息」而「萬物聯網」是新媒體。那麼,Patrick與Kelsey寫出了一本絕佳著作,闡述JavaScript(Node.js)如何能成為我們所有人的通用語言,這本書的內容相當全面,任何人,只要你正想要把「智慧」嵌入生活環境、我們每天都會與之互動的物件,連接彼此,那麼絕對不可錯過本書。
Vivian Balakrishnan
新加坡外交部長;新加坡智慧國家計畫事務部長
作者序
本書介紹JavaScript程式語言在嵌入式裝置領域裡扮演的腳色。因應Arduino與Raspberry Pi帶來的改變,硬體領域的開發程序,不再由少數大廠掌控,新的開發板和軟體工具鏈,如雨後春筍不斷冒出,使得硬體開發的難度越來越低、更加靠近一般大眾,同樣的道理,因為JavaScript具備完整的開發軟體疊層,使得程式設計的部分,更加輕鬆容易了。
在萬事萬物都連接上網路的社會,JavaScript將會扮演關鍵腳色,因為JavaScript就是網站與網路的「王道」語言,一旦你熟悉了JavaScript的非同步形式的程式設計模型,就會發現JavaScript提供了相當不錯的解決方案,供我們在網路與嵌入式系統裡處理資料與各種功能。除了JavaScript程式語言與網站開發技術,本書還會觸及關於電子電路的一些概念,包括物聯網的應用,但本書算是提供入門介紹,其他有些書籍著作,更加著重於如何建構此類產品,有興趣的讀者請在讀完本書後,自行延伸學習。在不久的將來,我們就會使用網頁瀏覽器來監視城市內道路的交通狀況、倉庫的儲存狀態、甚至是某人的運動健身進度,從衣服上的感測器擷取資料。當然啦,只有在我們與朋友、同事或同學分享結果,打造這些系統才會有意義,身為嵌入式系統開發人員的你,正處於領先的浪頭之上,創建新的世界。
若你擁有開源硬體的開發經歷,大概已經聽過GitHub的口號「建立更好的軟體,你我一起來」,希望這本書能夠幫助讀者宣揚新理念「建立聯網系統,你我一起來」。
本書介紹JavaScript程式語言在嵌入式裝置領域裡扮演的腳色。因應Arduino與Raspberry Pi帶來的改變,硬體領域的開發程序,不再由少數大廠掌控,新的開發板和軟體工具鏈,如雨後春筍不斷冒出,使得硬體開發的難度越來越低、更加靠近一般大眾,同樣的道理,因為JavaScript具備完整的開發軟體疊層,使得程式設計的部分,更加輕鬆容易了。
在萬事萬物都連接上網路的社會,JavaScript將會扮演關鍵腳色,因為JavaScript就是網站與網路的「王道」語言,一旦你熟悉了JavaScript的非同步形式的程式設計模型,就會發現JavaScript提供了相當不錯的解...
目錄
第1章「連接世界」
探討聯網裝置中,JavaScript語言扮演的腳色。本章會提供關於npm、Node.js、模組、緩衝區、串流等主題的基本資訊。
第2章「Arduino閃爍燈光」
本章以Arduino作為範例,說明如何以JavaScript操控開發版。
第3章「Espruino」
Espruino提供一套極為精簡的JavaScript程式碼解析器,讓你可以直接為微控制器撰寫JavaScript程式。
第4章「Tessel 2」
解說如何運用Tessel 2這套物聯網裝置原型製作的開發平台來進行開發。
第5章「Particle Photon」
介紹讓微控制器連上網路的JavaScript工具鏈,內容聚焦在Particle Photon身上。
第6章「單板電腦」
本章會介紹各種在單板電腦上運行Node.js的方式,包括Raspberry Pi、Intel Edison。
第7章「製作原型需要的零件」
介紹簡單的電子電路以及關於感測器的基本知識。
第8章「與硬體相關的Node.js程式庫」
介紹嵌入式裝置所需要的各種Node.js程式庫。
第9章「網路協定」
Node.js內建支援數種網路協定,其中的WebSocket協定,可用來發送訊息、送往網路上的其他節點,特別令我們感興趣。
第10章「網頁前端介面」
說明如何運用JavaScript與SVG,為您的硬體專案建構一套GUI。
第11章「飛向雲端」
說明使用MQTT接收感測器狀態的方法,以及其他雲端服務如何管理裝置之間的訊息傳遞。
第12章「使用Node.js建構機器人」
說明如何以JavaScript來建構機器人,也會討論移動機器人的各種做法。
第13章「藍牙無線傳輸」
介紹存取低功耗藍牙的JavaScript程式庫。
第14章「體感網路之道」
說明JavaScript在physical computing中扮演的腳色。
第15章「從產品到工具箱」
以宏觀的角度來探討Node.js與嵌入式裝置,以及開發模組化硬體與軟體等議題。
第1章「連接世界」
探討聯網裝置中,JavaScript語言扮演的腳色。本章會提供關於npm、Node.js、模組、緩衝區、串流等主題的基本資訊。
第2章「Arduino閃爍燈光」
本章以Arduino作為範例,說明如何以JavaScript操控開發版。
第3章「Espruino」
Espruino提供一套極為精簡的JavaScript程式碼解析器,讓你可以直接為微控制器撰寫JavaScript程式。
第4章「Tessel 2」
解說如何運用Tessel 2這套物聯網裝置原型製作的開發平台來進行開發。
第5章「Particle Photon」
介紹讓微控制器連上網路的JavaScript工具鏈,內容聚焦...