新唐NuMaker-IoT-M487 HTTP POST連網實作
幾年前用過新唐的NuMaker Tomato做過一些專案的雛型,時間與能力有限的情況下用官方編好的Python,自己寫一些Python script做簡單的資料庫與I/O控制,還自己編了一個UVC (USB Video Class)執行檔,操作USB上連接的視訊鏡頭。 NuMaker Tomato是用新唐NCU970 ARM9的微處理器,效能很夠直接跑個Linux。今天要介紹的NuMaker-IoT-M487是ARM Cortex-M4微控制器,上面頂多跑個RTOS、MicroPython。新唐應該也是為了推廣,直接把port好的MicroPython放在官方的GitHub上: https://github.com/OpenNuvoton/NuMicroPy 開發板上還包含Wi-Fi模組、乙太網路介面、音訊編解碼器、加速度計等,很適合拿來做物聯網相關的應用。 看起來這個專案大概是從2019年2月開始的,可能因為知名度不高用的人不多,目前使用還有很多問題。好比說中斷服務程式裡面放個print很容易會當機,已經發issue上去等他修。歡迎大家一起來用,發現問題發上去讓程式更穩定。 話說甚麼是MicroPython? 顧名思義就是微型Python,他是拿來給微控制器使用的Python。與標準的Python一樣,我們將編好的Python直譯器放入微控制器裡面執行,寫好Python script以後可以讓已經在微控制器裡面執行的Python直譯器直接執行我們要的功能。比較不同的地方是,由於MicroPython是給微控制器用的,因此刪減了很多標準Python有的功能與模組(函式庫),當然語法與邏輯還是與標準Python一致。另外在編MicroPython的時候,可以選擇要把哪些模組(函式庫)一起加入執行檔,由於微控制器的記憶體、效能相對有限,沒辦法把所有的模組都一起編進去,只能選擇一些必要的模組。這個動作有點像我們在Linux上使用Python,可以apt install一些我們需要的函式庫,只不過在這邊都要事先編好存入微控制器的程式記憶體當中。 最近剛好做了個小教案,要求是要用MicroPython配合資策會IDEAS Chain雲端平台。剛才說過以前用過Python寫過簡單的資料庫,當時只用了HTTP GET,但這次要用的IDEAS Chai...