<output id="pyxnf"></output>

    <address id="pyxnf"><track id="pyxnf"></track></address>

          <blockquote id="pyxnf"><span id="pyxnf"></span></blockquote>
              <video id="pyxnf"><input id="pyxnf"></input></video>
              <source id="pyxnf"></source>
              <pre id="pyxnf"></pre>

                  1. 首页 > 评测 > 评测列表 > MCU

                    涨姿势,MCU也可以玩Javascript? --ESPRUINO PICO开发板评测

                    MCU   Javascript   ESPRUINO   PICO   开发板   
                    • 作者:SATURN
                    • 来源:21ic
                    • [导读]
                    • 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

                    • 本文系21ic原创,未经许可禁止转载!

                    网友评论

                    <output id="pyxnf"></output>

                      <address id="pyxnf"><track id="pyxnf"></track></address>

                            <blockquote id="pyxnf"><span id="pyxnf"></span></blockquote>
                                <video id="pyxnf"><input id="pyxnf"></input></video>
                                <source id="pyxnf"></source>
                                <pre id="pyxnf"></pre>