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

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

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

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

rId21_copy.jpg

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

rId22_copy.jpg

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

rId23.jpg

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及外设的布局如下

rId24.png

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

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

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

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

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

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

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

rId26.png

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

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

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

rId28.png

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

rId29.png

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

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

rId30.png

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

rId31.png

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

rId30.png

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

rId33.png[!--empirenews.page--]

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

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

codeing.jpg

程序输出结果将会是

Main Program continues!

File read completed!

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

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

coder.jpg

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

rId34.png

图标,

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

rId35.png

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

rId36.jpg

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

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

rId37_copy.jpg

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

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

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

 

换一批

延伸阅读

[Holtek] HOLTEK新推出BH66F2663阻抗相角量测MCU

HOLTEK新推出BH66F2663阻抗相角量测MCU

Holtek新推出Flash MCU BH66F2663,支持多频段高精准度阻抗相角量测功能,通过阻抗相角量测电路,可知待测物的组成成分,当量测人体阻抗及相角时,可通过四电极或八电极计算体脂并分析身体组成成分。...

关键字: HOLTEK MCU bh66f2663

[Holtek] HOLTEK新推出BP66FW1240无线充电Rx MCU

HOLTEK新推出BP66FW1240无线充电Rx MCU

Holtek针对5W以下无线充电领域,推出小功率接收端的Flash MCU BP66FW1240。集成了全桥整流、AM调变与LDO等符合WPC Qi规范所需电路,并集成600mA(Max.)线性充电电路对锂电池进行完...

关键字: bp66fw1240 HOLTEK MCU

[功率器件] 关于微控制器在设计中的一些作用,你了解吗?

关于微控制器在设计中的一些作用,你了解吗?

你知道微控制器在设计中的一些作用吗?微控制器应用程序列表很长,诸如低成本可穿戴设备,医疗设备,高端消费电子产品,坚固耐用的工业设备,最先进的军事和航空航天系统,这些适应性强,价格合理,用户友好的组件是几乎被应用在所有电子产品上。...

关键字: 集成电路 微控制器 MCU

[功率器件] 关于ARM开发板的详细知识,你知道吗?

关于ARM开发板的详细知识,你知道吗?

什么是ARM开发板?你会使用吗?提及ARM开发板,我们还是从它的起源开始聊起,英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类...

关键字: arm开发板 linux操作系统 MCU

[意法半导体] 意法半导体STM32WB双核无线MCU系列推出新产品线,支持Bluetooth® LE 5.0、Zigbee® 3.0和Thread连接

意法半导体STM32WB双核无线MCU系列推出新产品线,支持Bluetooth® LE 5.0、Zigbee® 3.0和Thread连接

中国,2020年10月22日——意法半导体推出STM32WB35和STM32WB30超值产品线,扩大STM32WB双核多协议微控制器(MCU)产品组合,让设计人员在成本敏感市场上更灵活地瞄准机会。 这两款功耗极低的MCU集...

关键字: 意法半导体 stm32wb MCU

技术子站

关闭