当前位置:首页 > 开发板 > 开发板
[导读]Espruino Pico的核心就是一个STM32F401,ST爱好者看到这个LOGO,不由长舒了一口气,找到队友的感觉真好!潜意识了想到了一个问题,既然JS是跑在ST的MCU上,是不是我的NUCLEO板子也可以?!想想都很激动,是真的鸡动!

Python借助人工智能火了一把!也是因为如此,许多人认识了MicroPython,原来在MCU上也可以玩的Python!而且随着社区力量的加入,MicroPython也变得越来越强大了!

首先是MCU的支持类型越来越多,其次各种三方库的驱动程序也越来越多,如SSD1306,MPU6050等设备,都可以在MicroPython上顺利驱动了!

作为网络前端的Java脚本似乎也不甘寂寞,在继的NodeJS大获用户好评之后,似乎也开始在MCU领域崭露头角,准备大干一场!今天要给大伙介绍的就是这样一款开发板,在MCU上跑使用Javascript!
主角登场,光芒四射!

然而光芒是没有的,ESPRUINO PICO这个板子太小了!小到什么程度,如下

作为对比,拿个Micro SD卡套与之比较下,ESPRUINO PICO开发板尺寸大小约33mmX15mm,可谓将Pico演绎到了极致! 
ESPRUINO PICO开发板一侧直接就是USB接口,数据线也省了。开发板上的GPIO采用邮票孔+过孔结合方式,这下老铁们想抱怨也找不到借口了,想怎么用就怎么用!

Espruino Pico的核心就是一个STM32F401,ST爱好者看到这个LOGO,不由长舒了一口气,找到队友的感觉真好!潜意识了想到了一个问题,既然JS是跑在ST的MCU上,是不是我的核蛋白板子也可以?!想想都很激动,是真的鸡动!
Espruino Pico的规格,实际上也就是STM32F401的规格如下:
•22个GPIO引脚:9个模拟输入,21个PWM,2个串行,3个SPI,3个I2C
•所有GPIO均可承受5伏电压(Arduino兼容)
•2排9个0.1“针脚,末端带有第3个0.05”排8针
•板载USB A型连接器
•两个板载LED和一个按钮。
•STM32F401CDU6 32位84MHz ARM Cortex M4 CPU
•384kb闪存,96kb RAM
•板载3.3v 250mA稳压器,可接受3.5v至16v的电压
•睡眠时的电流消耗:<0.05mA - 使用2500mAh电池超过2。5年
•板载FET可用于驱动高电流输出


GPIO及外设的布局如下

各位老铁对硬件的评价大致就是如此:也就这样!

所以接下来的时间,我们开始体验JS的神奇。Espruino是微控制器的JavaScript解释器。

它专为具有128kB闪存和8kB RAM的设备而设计。这是Espruino在GitHub上对自己的介绍,不过随着Espruino的发展,其硬件支持平台已涵盖了包括ESP32,ESP8266,ST NUCLEO等诸多厂商品牌。

JavaScript是解释型语言,需要一个解释器,网页浏览器都内置了JS解释器,而在Linux / Windows的等操作系统平台,节点也是一个解释器。

同样,要在MCU上运行JS,自然也需要一个解释器。

而在MCU上的这个解释器则是固件程序.Espruino Pico出厂时已预置JS解释器,可以通过串口与PC进行交互。


Espruino Pico与PC连接后,通过串口可以直接与硬件交互

直接使用digitalWrite命令可以控制板载的LED灯,执行上面两条命令,会看到LED1灯的变化。正如MicroPython一样,这种REPL适合做简单的代码评估及测试。不过要写一个完整的程序,还是使用IDE来得更方便。

Espruino提供了Web版和本地版的IDE编程环境,如果网络速度不错,Web IDE是个不错的选择,毕竟不要考虑组件更新等问题。


IDE提供了设备连接,REPL环境及脚本窗口环境,另外也可以通过IDE来对设备进行固件升级等功能。点击窗口左上角的连接图标,选择Espruino Pico所在的串口,如下

连接过程中会给出提示信息,显示连接是否成功

这是连接过程中给出的信息,除了显示连接是否成功外,IDE也检测到当前设备的固件版本号,提示用户是否需要更新固件,提示信息最下面显示的是当前设备的版本号等信息。

为了获得更好的稳定性及性能,官方建议及时更新固件版本,固件更新操作使用IDE提供的更新程序来完成,如下

点击Flash Firmware按钮,程序会自动从网络下载最新的固件,开始更新操作

更新过程中会提示用户选择相关的硬件版本,从这里也可以看出,Espruino家族已包括了不少产品,从WiFi到BLE,再到LORA,都有覆盖,吾道不孤啊。

等固件更新进度条走完,固件更新操作也完成了,当前最新的版本号为1V99。

[!--empirenews.page--]

更新后发现版本号已变成了1v99,另外端口号从15变成了16了。
JS开创性的使用了异步非阻塞编程模型,非阻塞I/O是程序执行过程中,I/O操作不会阻塞程序的执行,也就是在I/O操作的同时,继续执行其他代码(这得益于Node的事件循环机制)。

在I/O设备效率还远远低于CPU效率的时代,这种I/O模型(非阻塞I/O)为程序带来的性能上的提高是非常可观的。 
下面以一段代码来解释下

程序输出结果将会是

Main Program continues!

File read completed!

代码直接就是并行执行的,没有线程、进程这些概念。

 接下来,以一个简单的程序为例,体会如何编写代码并上传到开发板,程序代码如下

在IDE的编辑窗口中输入代码,然后点击

图标,

将当前代码发送到Espruino Pico,然后就可以看到代码开始运行的效果了。不过此时掉电的话,代码将不会保存,如果要保存当前挖地道从,则需要在IDE左侧交互窗口中输入save() 命令,然后代码就保存到内部存储器中了,下次上电,代码将会从头开始运行。如下

要更好的让Espruino Pico工作,接下来的工作需要好好的了解Javascript的基本语法,然后是Espruino的库,这个工作量其实也不小,好在官方提供了大量的参考代码和完整的API参考,用户可以通过从这些代码入手,慢慢掌握Espruino的用法。

这是使用Espruino Pico连接Nokia 5110屏并显示一个时钟的画面,具体代码可以参考官方例程。

查看官方代码时,笔者发现一个很有意思的应用,就是使用Espruino Pico连接键盘和VGA显示器的应用,如下

看到这里,不得不感叹其强大!

以前笔者一直推崇使用Python语言,不过在接触并使用Espruino Pico(Javascript)的过程中,忍不住感慨:除了Python,其实Javascript也照样强大!

总而言之,Espruino将Javascript引进了MCU的世界,目前除了支持STM32的许多MCU型号之外,还支持诸如ESP32/ESP8266等许多流行的MCU硬件平台,为用户提供另外一种使用单片机的全新空间,具体的硬件平台请参考官方的github代码,你将会有更多的收获!

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024年4月18日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 很荣幸地宣布与Edge Impulse建立新的全球合作关系。Edge Im...

关键字: 机器学习 MCU CPU

【2024年4月16日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)在2023年持续扩大其在汽车半导体市场的领先地位。TechInsights的最新研究显示,2023年全球汽车半...

关键字: MCU 半导体 电池管理系统

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

· Ceva-Waves™ Links™ IP系列提供完全集成的多协议连接解决方案,包括Wi-Fi、蓝牙、UWB、Thread、Zigbee和Matter,为下一代连接协议丰富的MCU和SoC简化开发工作并加快上市时间

关键字: 人工智能 MCU SoC

我们先实现 dmaion buffer 管理器,这里贴的代码省略了异常错误处理的逻辑,有个坑是 linux-4.9 和 linux-5.4 用法不一样,米尔电子的这个T113-i系统是linux-5.4,所以不兼容4.9...

关键字: 核心板 开发板

支持高达48V@5A的PD受电模式,达到目前USB PD最高标准。

关键字: 嵌入式 开发板

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

嵌入式开发板是嵌入式系统开发的重要硬件平台,它集成了微处理器(或微控制器)、存储器、输入输出接口以及其他必要的外围电路,主要用于开发、测试、验证嵌入式软件和硬件设计方案。本文将详细介绍嵌入式开发板的基本构造原理、核心组件...

关键字: 嵌入式开发板 MCU

嵌入式开发平台是支撑嵌入式系统设计、开发和测试的重要基础环境,它集成了硬件设施、软件工具链、操作系统以及开发框架等一系列关键组件。本文将深入探讨嵌入式开发平台所具备的独特特点与优势,从硬件配置、软件环境、灵活性、可移植性...

关键字: 嵌入式开发平台 开发板

波特率9600的传输速率为每秒9600个比特,而波特率115200的传输速率为每秒115200个比特,因此,115200的传输速度比9600快得多。

关键字: 波特率 传输速度 MCU
关闭
关闭