介紹
Espruino是一種運行在微控制器上的互動式Javascript解釋器,藉助這一利器,你可以輕鬆快速地對微控制器進行編程。
Espruino開發板是預裝Espruino軟體的特殊定製電腦。該開發板提供豐富的功能和很好的電池續航時間。
在Espruino上編程使用的命令和在Arduino上使用的命令很相似,因此如果你可以在Arduino上編程的話,那在Espruino上編程也一定沒問題。
起源
Arduino很棒,但它同樣很難理解,尤其是對新手而言。Espruino是“全球第一款面向初學者或專家級玩家的JavaScript單片機”,其發明者是居住在英國劍橋的戈登·威廉士(Gordon Williams)。數年來,他將Espruino提供給愛好者和發燒友。不過,如今戈登將它帶到了眾籌網站Kickstarter,以便讓它更容易使用。
這個Kickstarter項目旨在幫助威廉士完善其開源硬體電路板,並整理原始碼,為開源發布做好準備。威廉士在Espruino項目頁面上表示,這個項目的另一個目的是實現在發售的電路板上預裝Espruino軟體,這樣用戶在訂購一個之後就能立即進行編程開發。
對家用硬體黑客來說,“JavaScript for Things”這種概念非常驚人,因為它大大簡化了控制硬體按人意願運作的流程。威廉士使用閃光信號燈作為實例,用以比較Espruino單片機和Arduino單片機在代碼數量和複雜度方面的差異。JavaScript編程方法不僅讓那些做過一些網頁開發的人感到熟悉,而且它也更容易進行修改和擴展。與此同時,Arduino常常需要進行大量返工來實現甚至只是類似的效果。
威廉士是一名軟體開發者,他曾任職於Altera、微軟、諾基亞、Collabora等公司。如今,他自己開公司,他的公司是3D音樂視覺特效軟體Morphyre的開發商。威廉士畢業於劍橋大學的計算機專業,是一名狂熱的家用硬體DIY發燒友。這個愛好讓他開發了Espruino,以此通過基於事件的編程方法來幫助那些享有類似愛好的人。
威廉士計畫從2014年1月開始向資助者發售Espruino單片機(他們預定的起價是19英鎊)。他本人已經擁有開發硬體產品的經驗,並制定了非常詳細的生產計畫來實現上述目標。Espruino的其他組件還包括低功耗的無線射頻模組、彩色LED燈以及為大額資助者準備的更多工具。(譯:王燦均)
互動式的好處
和jsconsole網站類似,Espruino會在你敲入回車之後立即執行你輸入的代碼 。單憑這點就足以使之從眾多的開發板中脫穎而出,大部分的開發板在更改代碼之後都必須重啟。
這種互動式的編程對於學習,玩耍,開發項目都非常重要。你可以很自然地從鍵入單個的命令開始到創建複雜的循環和函式。當你的程式正在運行的時候,你甚至可以檢查其中的變數和改變代碼。
特點
對微控制器來說並沒有太多的解釋器可以用,大家幾乎都在用BASIC語言。JavaScript是一種非常流行的現代高級程式語言,擁有很多先進的特性-而且成千上萬的網站開發者都在使用JavaScript,他們中的任何一個人都可以立即開始Espruino的開發!
Espruino開發板能夠依靠手機的電池來運行,如果再連線上一個藍牙模組的話,那么你就能以無線的方式來控制你的Espruino開發板。
你可以插入一張SD卡用來存儲數據,而且你還可以在板子上的預留區域增加你希望用到的設備,從而免去購買昂貴擴展板的費用。
Espruino是事件驅動的,和node.js類似。這意味著我們鼓勵你編寫的代碼是在某件事情發生的時候才執行(例如 在一段時間之後,或者當一個數字輸入端的狀態發生變化)。這不僅使得在同一時間運行多任務變得簡單,而且也使得Espruino解釋器可以自動地將微控制器置於低功耗模式。
用Espruino編寫的簡單代碼實際上所達到的能效要比用C寫的代碼大的多。
和Arduino不同,Espruino不需要安裝任何套用軟體(備註1)或驅動程式,也不需要對你的PC或Mac進行配置。只要插上Espruino支持的開發板,很快就能進行開發了。
如果使用預裝Espruino軟體的Espruino開發板,那將使得開始編程變得更加容易。因為使用其他Espruino支持的開發板,需要先將Espruino軟體燒入到開發板中。
備註1:需要一個終端應用程式。像MacOS和Windows XP都有內建的終端應用程式,但Windows Vista,Windows 7以及之後的產品需要第三方的終端應用程式,可以免費下載的Putty是一個不錯的選擇。
使用方法
只需要把Espruino開發板插到你的PC,Mac,或Raspberry Pi上,就可以馬上在串口終端程式里編寫JavaScript腳本了。(大部分的電腦都不需要另外安裝程式)。
你寫的函式既可以在一段時間之後執行,也可以在當一個輸入信號狀態發生改變的時候執行。當Espruino可以按照你的意圖實現你要的功能的時候,鍵入save(),當下次再開機的時候,Espruino就會重新載入你上次保存的代碼。
你甚至可以增加一個藍牙模組,這樣就可以透過無線對Espruino進行編程。
如果你只是為了給你的PC,Mac,Raspberry Pi增加一個IO擴展板的話,Espruino一樣可以勝任!只要插上它,就可以透過你自己的套用程式或者傳送由JavaScript命令組成的腳本來直接控制Espruino開發板上的IO資源。
特性
1. 適用於Windows,Linux,MacOS和Android(透過藍牙或USB OTG連線)
2. 比名片的一半還要小-只有54mm x 41mm
3. 使用流行的JavaScript語言,Espruino支持字串,圖,對象和動態數組
4. 72Mhz ARM微控制器,內置256KB快閃記憶體和48KB記憶體
5. 微型USB接口,微型SD卡接口,適應寬電壓範圍輸入(從 3.6v 到 15v)的JST電池接口
6. 紅色,綠色和藍色的LED燈,兩個按鍵(其中一個默認為復位鍵)
7. 焊接上一個HC-05藍牙模組(開發板上默認沒有該模組),就可以透過無線對Espruino編程和debug!
8. 44個GPIO針腳,針腳間隔0.1英寸(0.254厘米),26個PWM針腳,16個ADC針腳,5個USART接口,3個SPI接口,2個I2C接口和2個DAC接口
9. 功耗:運行 35mA,待機 12mA,深度待機0.1mA
10. 原型區域可以焊接伺服器頭,無線模組和小外型積體電路表面貼裝組件,例如馬達驅動器
11. 內建TI CC3000 WiFi模組(開發板上默認沒有該模組),還內建了一個支持向量字型的圖形庫
12. 開源軟體和硬體
13. Espruino網站提供完整文檔,很多教程和一個活躍的論壇
可兼容開發板
STM32VLDISCOVERY
STM32F3DISCOVERY
STM32F4DISCOVERY
OLIMEXINO-STM32 / LeafLabs Maple RBT6
HY-STM32 2.4 inch LCD Board (VET6)
HY-STM32 2.8 inch LCD Board (RBT6)
HY-MiniSTM32V 3.2 inch LCD Board (VCT6)
外觀
Espruino的Logo很cool喔~ 咖啡杯代表JavaScript,杯底的引腳代表開源硬體。
一個用戶自定義鍵,一個復位鍵
紅綠藍三隻LED燈
電池接口 可以直接由電池供電
SMD原型區域 可以焊接一些晶片在上面
微型USB接口 透過這個和電腦相連
微型SD卡插槽
可選的藍牙模組可以焊接在這裡 有了這個就可以透過無線進行編程和debug了
伺服器馬達插頭
焊接在SMD原型區域的L293D馬達控制器
焊接上HC-05藍牙模組的Espruino開發板
開發板上的接口資源非常豐富
插上開發板就馬上可以進行開發,無需繁瑣的設定,只要有個支持串口的終端程式就可以了
推薦使用Espruino的Chrome Web IDE,支持代碼高亮,出錯提示。
Espruino的Chrome Web IDE甚至提供了類似Scratch語言的完全圖形化開發環境