参考:https://baike.baidu.com/item/Espruino

Espruino

编辑 锁定 讨论

 
Espruino 是一个微处理器的 JavaScript 解释器,我们用它来创建首个 JavaScript 微处理器 —— Espruino Board. [1] 
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是一种运行在微控制器上的交互式Javascript解释器,借助这一利器,你可以轻松快速地对微控制器进行编程。
Espruino开发板是预装Espruino软件的特殊定制电脑。该开发板提供丰富的功能和很好的电池续航时间。
在Espruino上编程使用的命令和在Arduino上使用的命令很相似,因此如果你可以在Arduino上编程的话,那在Espruino上编程也一定没问题。 [2]

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灯以及为大额资助者准备的更多工具。(译:王灿均) [3] 

Espruino交互式的好处

编辑

和jsconsole网站类似,Espruino会在你敲入回车之后立即执行你输入的代码 。单凭这点就足以使之从众多的开发板中脱颖而出,大部分的开发板在更改代码之后都必须重启。
这种交互式的编程对于学习,玩耍,开发项目都非常重要。你可以很自然地从键入单个的命令开始到创建复杂的循环和函数。当你的程序正在运行的时候,你甚至可以检查其中的变量和改变代码。 [2] 

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:需要一个终端应用程序。像MacOSWindows XP都有内建的终端应用程序,但Windows VistaWindows 7以及之后的产品需要第三方的终端应用程序,可以免费下载的Putty是一个不错的选择。 [2] 

Espruino使用方法

编辑

只需要把Espruino开发板插到你的PCMac,或Raspberry Pi上,就可以马上在串口终端程序里编写JavaScript脚本了。(大部分的电脑都不需要另外安装程式)。
你写的函数既可以在一段时间之后执行,也可以在当一个输入信号状态发生改变的时候执行。当Espruino可以按照你的意图实现你要的功能的时候,键入save(),当下次再开机的时候,Espruino就会重新载入你上次保存的代码。
你甚至可以增加一个蓝牙模组,这样就可以透过无线对Espruino进行编程。
如果你只是为了给你的PCMacRaspberry Pi增加一个IO扩展板的话,Espruino一样可以胜任!只要插上它,就可以透过你自己的应用程式或者发送由JavaScript命令组成的脚本来直接控制Espruino开发板上的IO资源。 [2] 

Espruino特性

编辑

1. 适用于WindowsLinuxMacOS和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网站提供完整文档,很多教程和一个活跃的论坛 [4] 

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) [5] 

Espruino外观

编辑

Espruino的Logo很cool哦~ 咖啡杯代表JavaScript,杯底的引脚代表开源硬件。 [6] 
一个用户自定义键,一个复位键
红绿蓝三只LED灯
电池接口 可以直接由电池供电
SMD原型区域 可以焊接一些芯片在上面
微型USB接口 透过这个和电脑相连
微型SD卡插槽
可选的蓝牙模组可以焊接在这里 有了这个就可以透过无线进行编程和debug了
伺服器马达插头
焊接在SMD原型区域的L293D马达控制器
焊接上HC-05蓝牙模组的Espruino开发板
开发板上的接口资源非常丰富
插上开发板就马上可以进行开发,无需繁琐的设置,只要有个支持串口的终端程序就可以了
推荐使用Espruino的Chrome Web IDE,支持代码高亮,出错提示。
Espruino的Chrome Web IDE甚至提供了类似Scratch语言的完全图形化开发环境
词条图册 更多图册
词条图片(18)
 
参考资料
词条标签:

社会

Espruino似乎和Arduino一样的更多相关文章

  1. 一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino

    大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说 ...

  2. nodejs操作arduino入门(javascript操作底层硬件)

    用Javascript来操作硬件早就不是一件稀奇的事情了. 所以作为一名电子专业出身的FE,我也打算尝试一下用js来驱动arduino: 要想操作这些底层硬件,肯定是需要一些工具的,我这里介绍的工具主 ...

  3. 了解 ARDUINO 101* 平台

    原文链接 简介 作为一名物联网 (IoT) 开发人员,您需要根据项目的不同需求,选择最适合的平台来构建应用. 了解不同平台的功能至关重要. 本文第一部分比较了 Arduino 101 平台和 Ardu ...

  4. 在web浏览器上显示室内温度(nodeJs+arduino+socket.io)

    上次的nodejs操作arduino入门篇中实现了如何连接arduino.这次我们来实现通过arduino测量室内温度并在浏览器上显示出来. [所需材料] 硬件:LM35温度传感器,arduino u ...

  5. 初探物联网 - 基于Arduino的气象站和View and Data API的结合实例

    如果你参加了上个月在北京的Autodesk 开发者日,你应该看到了我做的关于Arduino的物联网实例演示,如果你没看到,欢迎参加14号在上海的开发者日,到时候我会再演(xian)示(bai)一下. ...

  6. Arduino 1602液晶屏实验和程序

    在Arduino IDE中, 项目->加载库->管理库中搜索LiquidCrystal,然后安装即可 1.接线图 2.引脚图 3.最简单程序 #include <LiquidCrys ...

  7. Arduino uno 教程~持续更新~

    http://arduino.osall.com/index.html http://study.163.com/search.htm?t=2&p=Arduino http://www.ard ...

  8. Arduino下LCD1602综合探究(下)——如何减少1602的连线,LiquidCrystal库,LiquidCrystal库中bug的解决方法

    一.前言: 上文中,笔者系统的阐述了1602的两种驱动方式,并简单的提到了Arduino的LiquidCrystal库.本文紧接上文,对以下两个问题进行更加深入的探讨:如何能够使1602对Arduin ...

  9. Arduino下LCD1602综合探究(上)——1602的两种驱动方式,如何使LCD的控制编程变得更简单

    一.前言: LCD ( Liquid Crystal Display 的简称)液晶显示器,已经逐渐替代CRT成为主流的显示设备之一,因此也成为了单片机发烧友绕不过的话题之一:而LCD1602更是很多单 ...

随机推荐

  1. android MVVM(2)用数据绑定关联VM 与 V

    1.官方文档 https://developer.android.com/topic/libraries/data-binding/architecture 2.简介 数据绑定库 可与MVVM 架构组 ...

  2. react native 常用学习或查资料网址

    react-native facebook官网:http://facebook.github.io/react-native/中文网:http://reactnative.cn/ react 官网地址 ...

  3. 【Gin-API系列】实现路由分组(七)

    在之前的文章介绍中我们已经完成了一个API服务的全链路请求设计.调用方式可以看Test目录的代码 // src/test/request_test.go func TestAPI_Request(t ...

  4. es6使用箭头函数需要注意的问题

    this问题 箭头函数没有它自己的this值,箭头函数内的this值继承自外围作用域,谁定义的函数,this指向谁 箭头函数要实现类似纯函数的效果,必须剔除外部状态.所以箭头函数不具备普通函数里常见的 ...

  5. 微服务实战SpringCloud之Spring Cloud Feign替代HTTP Client

    简介 在项目中我们有时候需要调用第三方的API,微服务架构中这种情况则更是无法避免--各个微服务之间通信.比如一般的项目中,有时候我们会使用 HTTP Client 发送 HTTP 请求来进行调用,而 ...

  6. 【Java】一句话获得你的IP地址

    System.out.println(java.net.InetAddress.getLocalHost().getHostAddress());

  7. kali命令大全

    arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hd ...

  8. CentOS如何设置IP连接网络

    1.登录系统,进入:cd /etc/sysconfig/network-scripts 目录下,如下图: 找到 ifcfg-ens33(文件) 第二步:使用vi编辑器打开ifcfg-ens33文件,使 ...

  9. 面经手册 · 第10篇《扫盲java.util.Collections工具包,学习排序、二分、洗牌、旋转算法》

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 算法是数据结构的灵魂! 好的算法搭配上合适的数据结构,可以让代码功能大大的提升效率. ...

  10. 【NOIP2013模拟】黑魔法师之门

    题目描述 经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源.然而在与Violet星球的战争中,由于Z副官的愚蠢,地球的领袖applepi被邪恶的黑魔法师Vani囚禁在了Violet星球. ...