Espruino

Espruino

Espruino 是一個微處理器的 JavaScript 解釋器,我們用它來創建首個 JavaScript 微處理器 —— Espruino Board. Espruino在國外知名的眾籌平台KickStarter上發布之後才被人知曉,其發明人是來自英國的Gordon Williams。 Espruino是一種運行在微控制器上的軟體,實現了Javascript解釋器的功能,因此你只要會用Javascript,就可以對微控制器進行編程,釋放自己的創意,DIY出自己的電子作品。 Espruino開發板是一個小電腦,任何人都可以利用它去控制身邊的東西。它的JavaScript解釋器給你實時的反饋,因此不管你是否擁有類似的編程經驗,你都可以進行試驗和開發。即使你之前從來沒有編寫過代碼,你也能利用圖形化的代碼編輯器去構建自己的程式而不用鍵入一個字元。 只要把你的Espruino開發板插到你的電腦上,使用Chrome Web IDE或你自己喜歡的終端應用程式,你就可以馬上編寫程式了。 你可以使用Web IDE自動下載JavaScript模組,這些模組將幫助你去操作其對應的硬體,比如顯示器和無線模組。 Espruino的事件驅動特性使得它可以儘可能的省電,低至0.1mA的功耗允許你的案子使用普通的5號電池就能運行好幾年,如果用上一個小的太陽能電池,那就可以永久使用了。 Espruino的軟體和硬體都是開源的。

介紹

Espruino是一種運行在微控制器上的互動式Javascript解釋器,藉助這一利器,你可以輕鬆快速地對微控制器進行編程。

Espruino開發板是預裝Espruino軟體的特殊定製電腦。該開發板提供豐富的功能和很好的電池續航時間。

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,杯底的引腳代表開源硬體。

Espruino Espruino

一個用戶自定義鍵,一個復位鍵

Espruino Espruino

紅綠藍三隻LED燈

Espruino Espruino

電池接口 可以直接由電池供電

Espruino Espruino

SMD原型區域 可以焊接一些晶片在上面

Espruino Espruino

微型USB接口 透過這個和電腦相連

Espruino Espruino

微型SD卡插槽

Espruino Espruino

可選的藍牙模組可以焊接在這裡 有了這個就可以透過無線進行編程和debug了

Espruino Espruino

伺服器馬達插頭

Espruino Espruino

焊接在SMD原型區域的L293D馬達控制器

Espruino Espruino

焊接上HC-05藍牙模組的Espruino開發板

Espruino Espruino

開發板上的接口資源非常豐富

Espruino Espruino
Espruino Espruino

插上開發板就馬上可以進行開發,無需繁瑣的設定,只要有個支持串口的終端程式就可以了

Espruino Espruino

推薦使用Espruino的Chrome Web IDE,支持代碼高亮,出錯提示。

Espruino Espruino

Espruino的Chrome Web IDE甚至提供了類似Scratch語言的完全圖形化開發環境

Espruino Espruino

相關詞條

熱門詞條

聯絡我們