首頁(yè) > 評(píng)測(cè) > 漲姿勢(shì),MCU也可以玩Javascript? --ESPRUINO PICO開(kāi)發(fā)板評(píng)測(cè)

漲姿勢(shì),MCU也可以玩Javascript? --ESPRUINO PICO開(kāi)發(fā)板評(píng)測(cè)

  • 作者:SATURN
  • 來(lái)源:21ic
  • [導(dǎo)讀]
  • Espruino Pico的核心就是一個(gè)STM32F401,ST愛(ài)好者看到這個(gè)LOGO,不由長(zhǎng)舒了一口氣,找到隊(duì)友的感覺(jué)真好!潛意識(shí)了想到了一個(gè)問(wèn)題,既然JS是跑在ST的MCU上,是不是我的NUCLEO板子也可以?!想想都很激動(dòng),是真的雞動(dòng)!

Python借助人工智能火了一把!也是因?yàn)槿绱耍S多人認(rèn)識(shí)了MicroPython,原來(lái)在MCU上也可以玩的Python!而且隨著社區(qū)力量的加入,MicroPython也變得越來(lái)越強(qiáng)大了!

首先是MCU的支持類(lèi)型越來(lái)越多,其次各種三方庫(kù)的驅(qū)動(dòng)程序也越來(lái)越多,如SSD1306,MPU6050等設(shè)備,都可以在MicroPython上順利驅(qū)動(dòng)了!

作為網(wǎng)絡(luò)前端的Java腳本似乎也不甘寂寞,在繼的NodeJS大獲用戶(hù)好評(píng)之后,似乎也開(kāi)始在MCU領(lǐng)域嶄露頭角,準(zhǔn)備大干一場(chǎng)!今天要給大伙介紹的就是這樣一款開(kāi)發(fā)板,在MCU上跑使用Javascript!
主角登場(chǎng),光芒四射!

rId21_copy.jpg

然而光芒是沒(méi)有的,ESPRUINO PICO這個(gè)板子太小了!小到什么程度,如下

rId22_copy.jpg

作為對(duì)比,拿個(gè)Micro SD卡套與之比較下,ESPRUINO PICO開(kāi)發(fā)板尺寸大小約33mmX15mm,可謂將Pico演繹到了極致! 
ESPRUINO PICO開(kāi)發(fā)板一側(cè)直接就是USB接口,數(shù)據(jù)線也省了。開(kāi)發(fā)板上的GPIO采用郵票孔+過(guò)孔結(jié)合方式,這下老鐵們想抱怨也找不到借口了,想怎么用就怎么用!

rId23.jpg

Espruino Pico的核心就是一個(gè)STM32F401,ST愛(ài)好者看到這個(gè)LOGO,不由長(zhǎng)舒了一口氣,找到隊(duì)友的感覺(jué)真好!潛意識(shí)了想到了一個(gè)問(wèn)題,既然JS是跑在ST的MCU上,是不是我的核蛋白板子也可以?!想想都很激動(dòng),是真的雞動(dòng)!
Espruino Pico的規(guī)格,實(shí)際上也就是STM32F401的規(guī)格如下:
•22個(gè)GPIO引腳:9個(gè)模擬輸入,21個(gè)PWM,2個(gè)串行,3個(gè)SPI,3個(gè)I2C
•所有GPIO均可承受5伏電壓(Arduino兼容)
•2排9個(gè)0.1“針腳,末端帶有第3個(gè)0.05”排8針
•板載USB A型連接器
•兩個(gè)板載LED和一個(gè)按鈕。
•STM32F401CDU6 32位84MHz ARM Cortex M4 CPU
•384kb閃存,96kb RAM
•板載3.3v 250mA穩(wěn)壓器,可接受3.5v至16v的電壓
•睡眠時(shí)的電流消耗:<0.05mA - 使用2500mAh電池超過(guò)2。5年
•板載FET可用于驅(qū)動(dòng)高電流輸出


GPIO及外設(shè)的布局如下

rId24.png

各位老鐵對(duì)硬件的評(píng)價(jià)大致就是如此:也就這樣!

所以接下來(lái)的時(shí)間,我們開(kāi)始體驗(yàn)JS的神奇。Espruino是微控制器的JavaScript解釋器。

它專(zhuān)為具有128kB閃存和8kB RAM的設(shè)備而設(shè)計(jì)。這是Espruino在GitHub上對(duì)自己的介紹,不過(guò)隨著Espruino的發(fā)展,其硬件支持平臺(tái)已涵蓋了包括ESP32,ESP8266,ST NUCLEO等諸多廠商品牌。

JavaScript是解釋型語(yǔ)言,需要一個(gè)解釋器,網(wǎng)頁(yè)瀏覽器都內(nèi)置了JS解釋器,而在Linux / Windows的等操作系統(tǒng)平臺(tái),節(jié)點(diǎn)也是一個(gè)解釋器。

同樣,要在MCU上運(yùn)行JS,自然也需要一個(gè)解釋器。

而在MCU上的這個(gè)解釋器則是固件程序.Espruino Pico出廠時(shí)已預(yù)置JS解釋器,可以通過(guò)串口與PC進(jìn)行交互。

rId25.png
Espruino Pico與PC連接后,通過(guò)串口可以直接與硬件交互

rId26.png

直接使用digitalWrite命令可以控制板載的LED燈,執(zhí)行上面兩條命令,會(huì)看到LED1燈的變化。正如MicroPython一樣,這種REPL適合做簡(jiǎn)單的代碼評(píng)估及測(cè)試。不過(guò)要寫(xiě)一個(gè)完整的程序,還是使用IDE來(lái)得更方便。

Espruino提供了Web版和本地版的IDE編程環(huán)境,如果網(wǎng)絡(luò)速度不錯(cuò),Web IDE是個(gè)不錯(cuò)的選擇,畢竟不要考慮組件更新等問(wèn)題。

rId27.png
IDE提供了設(shè)備連接,REPL環(huán)境及腳本窗口環(huán)境,另外也可以通過(guò)IDE來(lái)對(duì)設(shè)備進(jìn)行固件升級(jí)等功能。點(diǎn)擊窗口左上角的連接圖標(biāo),選擇Espruino Pico所在的串口,如下

rId28.png

連接過(guò)程中會(huì)給出提示信息,顯示連接是否成功

rId29.png

這是連接過(guò)程中給出的信息,除了顯示連接是否成功外,IDE也檢測(cè)到當(dāng)前設(shè)備的固件版本號(hào),提示用戶(hù)是否需要更新固件,提示信息最下面顯示的是當(dāng)前設(shè)備的版本號(hào)等信息。

為了獲得更好的穩(wěn)定性及性能,官方建議及時(shí)更新固件版本,固件更新操作使用IDE提供的更新程序來(lái)完成,如下

rId30.png

點(diǎn)擊Flash Firmware按鈕,程序會(huì)自動(dòng)從網(wǎng)絡(luò)下載最新的固件,開(kāi)始更新操作

rId31.png

更新過(guò)程中會(huì)提示用戶(hù)選擇相關(guān)的硬件版本,從這里也可以看出,Espruino家族已包括了不少產(chǎn)品,從WiFi到BLE,再到LORA,都有覆蓋,吾道不孤啊。

rId30.png

等固件更新進(jìn)度條走完,固件更新操作也完成了,當(dāng)前最新的版本號(hào)為1V99。

rId33.png

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開(kāi)放投稿

熱門(mén)標(biāo)簽
項(xiàng)目外包 more+