1 月 15 日,中科院計算所發佈國產編程語言“木蘭”,號稱面向物聯網,還能用於幼兒編程,令筆者在內的物聯網開發人員都爲之一振,紛紛試用。
但紙裏包不住火,很快就有開發者下載體驗過後,發現所謂的自主編程語言其實就是Python的馬甲,甚至連加密都懶得搞的解奪冠之後直接就現原形了。
開發者隨即道歉,說明了針對STM32的芯片來講,木蘭的確只是Python的馬甲而已。
隨後中科院計算所也在下午發表聲明,嚴肅處理當事人
不過令筆者不解的是,如何低級別的換皮事件,是怎麼通過審覈就得以對外發布的呢。
Python在物聯網的應用
做爲一個物聯網行業的資深愛好者,以及各類開發板的骨灰級玩家,筆者在十年前就擔任了CSDN嵌入式大版的版主,之前聽說過在嵌入式開發板上跑JAVA的,也聽說過跑.NET的,不過Python還能在開發板上運行,之前還真是沒聽說。
但是上網一查發現的確可以,MicroPython就是一個比較完整的針對STM32系列芯片的Python運行時環境。
其官方網址爲:http://www.micropython.org/
Github地址爲:https://github.com/micropython/micropython
固件下載地址爲:http://www.micropython.org/download
MicroPython的體驗方式:
由於近幾日一直沒回家,筆者寫下這篇“木蘭”的官網已經無法訪問了,所以不能完全確定木蘭是否就是基於MicroPython的,但是筆者粗略看了一下,MicroPython做的還是非常良心的。
想體驗的話可非常簡單,首先如果想傻瓜式感受的話,可以自行在淘寶上搜索“pyborad"即可,買回即可。如果沒有pyboard,但是有STM32的板子也行。
一、先安裝STM32的DFU,其安裝過程一路NEXT,即可下載地址爲https://comm.eefocus.com/media/download/index/id-1015890
二、再將STM32F4系列的固件下載下來,http://www.micropython.org/resources/firmware/STM32F4DISC-20200119-v1.12-68-g3032ae115.dfu
三、再把STM32開發板切換爲系統存儲器啓動模式:即下載模式。上電之前要先設置BOOT0=1,BOOT1(PB2)=0,啓動DFR軟件然後燒錄MicroPython固件即可
四、通過Putty連接STM32開發板,即可進入交互式Python命令行模式
下載Putty軟件:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
安裝過程沒有注意事項,打開後在選擇串口速率115200
五、接下來進入Python的交互環境,其中點亮LED的代碼如下:
import pyb
# turn on an LED
pyb.LED(1).on()
MicroPython已經將常用的Python運行庫全部做好,外設中GPIO,ADC,DAC,I2C,SPI,CAN,UART,TIMER,RTC,PWM常規也都直接有所支持,真的是很不錯。