溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么為AliOS Things應(yīng)用增加自定義cli命令

發(fā)布時間:2021-12-22 13:49:11 來源:億速云 閱讀:130 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“怎么為AliOS Things應(yīng)用增加自定義cli命令”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么為AliOS Things應(yīng)用增加自定義cli命令”吧!

參數(shù)名稱

參數(shù)描述


char *pwbuf

當函數(shù)執(zhí)行完成返回時,通過控制臺打印出來的字符串指針??梢圆粋魅?。

int blen

上述字符串長度

int argc

命令調(diào)用時傳入的參數(shù)長度,沒有參數(shù)傳入時為1

char **argv

傳入?yún)?shù)緩存,字符串。第一個有效參數(shù)的角標從1開始。

接下來填寫注冊用結(jié)構(gòu)體,以便將命令信息傳遞給cli服務(wù)。按照前所講的設(shè)計,注冊結(jié)構(gòu)體信息如下,將結(jié)構(gòu)體拷貝到blink.c文件中。

struct cli_command led_switch_command[] = {
    {
        .name = "led_switch",            // 命令名稱
        .help = "[on] turn on led2;[off] trun off led2",// 幫助文本
        .function = led_switch           // 命令具體執(zhí)行的函數(shù)指針
    }};

將cli命令注冊到系統(tǒng)中。cli命令注冊只需要一個函數(shù)如下:

aos_cli_register_commands(&led_switch_command[0],1);

函數(shù)需要傳入兩個參數(shù),參數(shù)1為剛剛創(chuàng)建的命令信息體的結(jié)構(gòu)體指針;參數(shù)2,為本次需要注冊的命令數(shù),也就是說可以一次性注冊多個命令,只需要在命令信息結(jié)構(gòu)體中,用數(shù)組的方式同時填入幾個命令的信息即可。

將上述函數(shù)調(diào)用加入到blink.c文件application_start函數(shù)的如下位置:

    aos_cli_register_commands(&led_switch_command[0],1); // 注冊cli命令函數(shù)
    aos_loop_run();

至此,一個cli命令的實現(xiàn)和注冊的代碼編寫部分就完成了。編譯并下載至開發(fā)板中運行。在cli控制臺輸入help,看到led_switch命令已注冊成功。

# help====Build-in Commands========Support 4 cmds once, seperate by ; ====help      : print this
p         : print memorym         : modify memoryecho      : echo for commandexit      : close CLI
devname   : print device name
sysver    : system versionreboot    : reboot systemtime      : system timeota       : system ota====User Commands====loglevel  : set log level
tasklist  : list all thread info
dumpsys   : dump system info
udp       : [ip] [port] [string data] send udp data
wifi_debug: wifi debug mode
mac       : get/set mac
kv        : kv [set key value | get key | del key | list]version   : show version
led_switch: [on] turn on led2;[off] trun off led2

測試命令是否執(zhí)行,在命令提示符下輸入如下命令,并回車:

#led_switch on

led2點亮

測試參數(shù)有效性判斷,輸入如下指令,不帶參數(shù)。命令按設(shè)計返回錯誤報警。

## led_switch[1291080]<V> 參數(shù)錯誤

感謝各位的閱讀,以上就是“怎么為AliOS Things應(yīng)用增加自定義cli命令”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么為AliOS Things應(yīng)用增加自定義cli命令這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI