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是一种运行在微控制器上的互动式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语言的完全图形化开发环境