参考: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 数据绑定(6)自定义绑定方法、双向数据绑定

    1.官方文档 https://developer.android.com/topic/libraries/data-binding/binding-adapters https://developer ...

  2. 集成react-native-image-picker时,报错Couldn't get file path for photo

    1. 版本环境: "react": "16.13.1", "react-native": "0.63.2", " ...

  3. jumpserver如何在远程时使用复制粘贴-windwos系统下

    jumpserver堡垒机搭建好了,但是在使用的时候,有时候会出现远程下不能复制粘贴,这让体验十分不爽. 于是着手解决这个问题,附上参考链接,感谢大佬:http://itren.xiaolee.net ...

  4. Go语言 | goroutine不只有基础的用法,还有这些你不知道的操作

    今天是golang专题第15篇文章,我们来继续聊聊channel的使用. 在我们的上篇文章当中我们简单介绍了golang当中channel的使用方法,channel是golang当中一个非常重要的设计 ...

  5. vue 0点定时网络请求

    export default { data() { return { timer: null, currentTime: '', zeroTime: '00:00:05', // zeroTime: ...

  6. 官网安装Python包太慢?教你三种下载安装方式-PiP、conda、轮子,教你三种Pytorch的下载安装方式,保证你再也不用出现Error

    上一期我们介绍了CUDA下载安装以及其总结,这一期教大家如何在Anaconda中使用CUDA来进行加速.神经网络依赖cuDNN的下载安装,以及下载和安装Pytorch-GPU安装包的三种方式(cond ...

  7. redis基础数据结构及编码方式

    redis基础数据结构和编码方式 一.基础数据结构 1)简单动态字符串 2)双端链表 3)字典 4)跳跃表 5)整数集合 6)压缩列表 二.对象类型与编码 在redis的数据库中创建一个新的键值对时, ...

  8. i春秋公益赛之BFnote

    题目链接:https://buuoj.cn/challenges#gyctf_2020_bfnote 首先检查程序开的保护: 发现程序只开了canary和NX保护,接下来查看IDA反汇编出来的为代码, ...

  9. PHP的九个超全局变量

    1. 什么是超全局变量 PHP官网:超全局变量 超全局变量就是在全部作用域中始终可用的内置变量. 全局作用域.函数作用域都可以使用的PHP内置变量. 在函数或方法中无需执行 global $varia ...

  10. 15个随机图片API

    15个随机图片API 妈妈再也不用担心我网站没图用了呜 请不要重复刷新此页面 ! 找了很久的说,你难道不想收藏一下吗 其中有些 API 速度并不太好,可能会拖慢贵站的速度 我也不能保证这些 API 能 ...