
前言
HaaS IDE 迎來大升級,新的HaaS Studio 集 C / JS / Python 三種語言開發于一體,實作了一個插件完成三種應用開發的功能,這里我們重點介紹一下 Python 輕應用操作,燒錄方法可參考https://g.alicdn.com/HaaSAI/PythonDoc/quickstart/index.html
提前注意事項
如果開發者已經安裝了 alios-studio 插件, 使用 HaaS-Studio 之前需要先卸載 alios-studio,
在推送Python之前,必須確保HaaS 開發板上已經燒錄好了Python韌體,
下面我們詳細介紹一下插件的原理,操作方式及新增特色功能,
1、操作介紹
1.1 安裝VS Code
開發者首先需要到微軟的官方網站上下載 VS Code 安裝包并進行安裝,VS Code安裝包要求不低于版本 1.57,
VS Code安裝包下載網站為: https://code.visualstudio.com/
系統推薦
推薦 Windows 系統版本為 win10, MacOS 版本不低于 10.15,
1.2 安裝插件
安裝完 VS Code 之后,開發者按照下圖的指示完成 haas-studio 插件的安裝,
1.3 按鈕介紹
插件安裝完成后,如果你當前的 VS Code 未打開任何作業臺,則 VS Code 左下角的狀態欄只會顯示 新建工程 的圖示:
如果你已經打開了某個作業臺,則會在 VS Code 底部的狀態欄顯示如下一排按鈕:
將滑鼠懸浮在相關按鈕即可顯示該按鈕的具體功能,各個按鈕的功能如下:
從左到右依次為:
- 切換工程
- 語法檢測 (僅用于語法檢測,編譯產物不是最終運行檔案)
- 推送運行(打包檔案并上傳到設備并運行Python檔案)
- 串口監控
- 清除
- 創建工程
1.4 詳細操作
1.4.1 創建工程
- 點擊
創建工程按鍵會彈出 HaaS Studio 的歡迎頁面,開發者選擇Python 輕應用開發創建工程,
- 根據創建工程向導,開發者輸入/選擇相關的資訊即可,下面以創建 跑馬燈 示例程式為例(python_gpio)演示工程創建:
注意事項
檔案夾不要有中文,空格及其他例外字符,
- 工程創建完成后,插件會自動打開作業臺檔案夾,包含 python API介面檔案,amp推送工具,solutions 示例工程等,
D)同時我們也可以看到右側的示例代碼 ( 示例代碼是針對 HaaS100 硬體設計的,如果想在 HaaS EDU K1 使用該示例代碼,需要修改第7行的內容如下 ):
leds=("led_r", "led_g", "led_b")
1.4.2 語法檢測
點擊 語法檢測 按鈕即可實作對工程的語法編譯, 這里的編譯僅實作對Python檔案的語法檢測,其生成的pyc檔案也不是最終設備運行時候使用的檔案,
開發者可以直接跳過這一步操作,
1.4.3 推送執行
Python支持檔案決議執行,點擊 推送并執行 按鈕實行 Python 檔案上傳到設備端,目前支持兩種推送方式:
- 串口本地更新
- 云端在線更新
開發者點擊 推送執行 按鈕后,會彈出如下的視窗讓開發者選擇,接下來我們分別介紹兩種更新方式,
串口本地更新
之后會彈出如下所示的提示框及輸出資訊, 開發者 需要重啟設備 完成更新及自動運行操作,
更新完成后,會在 .vscode 檔案下生成 update.json 檔案,檔案記錄了當前燒錄模式及串口配置資訊,后續更新操作會使用該檔案里面的內容作為配置,
如果開發者的串口名稱或波特率發生變化,可以直接修改內容;或者洗掉 update.json 檔案,下次更新的時候會根據用戶的輸入重新生成該檔案,
云端在線更新
開發者首先需要獲取設備的 devicename, 并參考 3、申請token并系結設備 申請token并系結設備,
在獲取kv值之前開發者需要連接網路,在命令列 CLI 模式下通過下面的命令連接 WiFi:
python /data/python-apps/wifi/main.py wifi_ssid wifi_password
聯網成功后,輸入下面的命令得到 devicename
kv get _amp_internal_devicename
命令執行后可以得到下面的輸出:
value is haas_xxxxxxxxxxxxxxx
之后會彈出如下所示的提示框及輸出資訊,開發者 不需要需要重啟設備,檔案更新完成后會自動重啟設備運行,
更新完成后,同樣會在 .vscode 檔案下生成 update.json 檔案,開發者可以直接修改 mode 數值實作兩種更新模式的切換:
- 1 表示串口本地更新
- 0 表示云端在線更新
2、檔案推送
haas-studio可以推送任意格式的檔案,檔案會被推送到設備的 /data/pyamp 路徑,開發者僅需要把需要推送的檔案放置到當前工程下,重新點擊 推送運行 即可,
下圖是以 board.json 檔案為例,目前使用的工程為 python_gpio ,開發者只需要把組態檔放到工程目錄下即可實作推送, board.json 檔案將被推送到 data/pyamp 檔案夾下,
提前注意事項
檔案會被推送到設備的 /data/pyamp 路徑下,
3、申請token并系結設備
開發者按照下圖所示的資訊,發送郵件到 aliosthings@service.aliyun.com ,申請token并系結設備, 具體操作流程請參考 在線熱更新
4、其他
- 目前串口終端和本地檔案上傳使用相同的terminal頁面,所以如果插件功能有任何例外,請先關閉當前terminal,關閉后請重新觸發相關操作,
- 如果在update的程序中遇到下面的提示,請重新插拔 USB 資料線并重新起送更新,
3、如果用戶遇到下面的提示資訊,則表明當前已經有一個 Python 引擎在運行中,
Python is running, cannot start another engine
可以通過兩種方式解決這個問題
- 在 CLI 模式下重命名 /data/pyamp/main.py 檔案,譬如:
mv /data/pyamp/main.py /data/pyamp/main.py-bak
或者重新推送一個空的 main.py 檔案到系統上,空的 main.py 檔案中內容如下:
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
print('Hello Python')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289785.html
標籤:其他
