一直忙亂著,所以ESP32幾乎一個(gè)學(xué)期沒(méi)有碰它。網(wǎng)上一位專業(yè)人士介紹了MicroBlocks,能對(duì)Arduino和ESP32編程。 有好多天了,也一直沒(méi)有嘗試。今天去網(wǎng)上下載回來(lái)看看,發(fā)現(xiàn)MicroBlocks幾乎可以稱為天才之作!竟然對(duì)ESP32搞在線編程。一旦在MicroBlocks下更新了主板固件(這一步是自動(dòng)識(shí)別的),之后幾乎感覺(jué)不到Arduino和ESP32的區(qū)別,包括燒錄等等動(dòng)作,完全感覺(jué)不到。曾經(jīng)在東學(xué)西學(xué)瞎胡鬧的時(shí)候,接觸過(guò)一點(diǎn)時(shí)間的C8051和MSP430單片機(jī),這一類(lèi)東西都有個(gè)仿真器,debug的時(shí)候也是一個(gè)按鈕的事兒。MicroBlocks似乎也在追求這種感覺(jué),只是它好象搞了一個(gè)虛擬機(jī),在本地run的時(shí)候,有個(gè)黑cmd窗口在后面。 左側(cè)的Blocks塊,使用過(guò)Scratch、App Inventor或者Mixly等塊語(yǔ)言編程平臺(tái)的人,應(yīng)該很熟悉。MicroBlocks不象Mixly那樣直接給出Arduino的代碼行,在“復(fù)制到剪貼板”再粘貼,能得到偽代碼: GP Script script nil 10 10 { whenStarted forever { digitalWriteOp 2 true waitMillis 100 digitalWriteOp 2 false printIt 100 '' '' waitMillis 100 sayIt '中文' } } 也能查看編譯后的二進(jìn)制碼。 右側(cè)的數(shù)據(jù)圖表窗口類(lèi)似Arduino IDE高版本下的串口繪圖器,但是我一直也沒(méi)搞清楚它怎么畫(huà)出來(lái)橫坐標(biāo)。官網(wǎng)wiki也沒(méi)有介紹。不過(guò)這個(gè)窗口有個(gè)優(yōu)點(diǎn),右鍵,它的數(shù)據(jù)是能直接被保存或輸出到CSV的,這是Arduino IDE串口繪圖器所沒(méi)有的功能。 MicroBlock的不足之處,一個(gè)是太過(guò)于小眾,另一個(gè)是積淀顯得單薄。Arduino使用者,多數(shù)并不是專業(yè)或職業(yè)的,因此方便、迅速、簡(jiǎn)單、并要有足夠的開(kāi)放性、包容性,不管什么東西,你給接口,我能拿來(lái)就用,這是一個(gè)要求。另一個(gè)要求,Arduino IDE龐大的生態(tài),幾乎很少有找不到的驅(qū)動(dòng)庫(kù),生態(tài)的龐大就意味著隨便找找就是資料,就是現(xiàn)成可用的東西——畢竟專業(yè)的、投入巨大開(kāi)發(fā)周期對(duì)Arduino使用者并不普遍。MicroBlocks如果能做個(gè)橋接,把Arduino的庫(kù)都囊括其中,或許是另一番景象。 總之,若是只使用Arduino、ESP32本身的、或不太多的擴(kuò)展功能,MicroBlocks值得一用。但從當(dāng)前來(lái)看,不知道開(kāi)發(fā)者到底要把它定位到哪里去,硬傷是:1.它不支持ESP32的藍(lán)牙(這可以用自己的藍(lán)牙模塊解決);2.不知道如何直接轉(zhuǎn)換已有Arduino規(guī)范的各種模塊庫(kù),例如我們?cè)谖锢韺?shí)驗(yàn)中經(jīng)常要使用的ADS1115等;3.提供了IIC、SPI通訊塊,但是沒(méi)找到示例程序,況且即使知道用法,自己去寫(xiě)協(xié)議,還是不愿意回憶的痛苦(一年前請(qǐng)教過(guò)無(wú)數(shù)人ADS1115自己寫(xiě)驅(qū)動(dòng),無(wú)數(shù)人說(shuō)過(guò)簡(jiǎn)單,但最終也沒(méi)寫(xiě)明白);4.學(xué)習(xí)資料不多。實(shí)際不少人也都是接觸一段時(shí)間塊語(yǔ)言之后轉(zhuǎn)到寫(xiě)代碼去了。 去官網(wǎng)(http:///)查看MicroBlocks的What is it,寫(xiě)的是 MicroBlocks allows complete beginners to get started quickly, from childrenas young as nine years old up through adults of all ages. However, MicroBlocks isn't just for beginners. It can be used to learnelectronics, instrument science experiments, automate your home, and much more. 9歲到成人,絕對(duì)小白,瞬間上手;巴特然額,別高興太早,它應(yīng)該更宜用于學(xué)電子的、搞科學(xué)實(shí)驗(yàn)的、玩智能家居,安得馬吃毛。 另外,兩個(gè)經(jīng)驗(yàn):1.當(dāng)ESP32板子在Arduino IDE下正確燒錄程序后,再連接到MicroBlocks下,MicroBlocks顯得異常遲鈍,死機(jī)一般,直到再次重新更新主板固件后,才恢復(fù)正常順暢。2.ESP32板子正確連接到MicroBlocks下之后,它的串口標(biāo)記顯示為綠色,未連接時(shí)顯示灰色,但在MicroBlocks和Arduino IDE下來(lái)回切換幾次之后,MicroBlocks的綠色和灰色就會(huì)亂套,這時(shí)按一下板上的ReSet就好了。 |
|
來(lái)自: 新用戶5228KeDY > 《待分類(lèi)》