温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么为AliOS Things应用增加自定义cli命令

发布时间:2021-12-22 13:49:11 来源:亿速云 阅读:118 作者:iii 栏目:开发技术

这篇文章主要讲解了“怎么为AliOS Things应用增加自定义cli命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么为AliOS Things应用增加自定义cli命令”吧!

参数名称

参数描述


char *pwbuf

当函数执行完成返回时,通过控制台打印出来的字符串指针。可以不传入。

int blen

上述字符串长度

int argc

命令调用时传入的参数长度,没有参数传入时为1

char **argv

传入参数缓存,字符串。第一个有效参数的角标从1开始。

接下来填写注册用结构体,以便将命令信息传递给cli服务。按照前所讲的设计,注册结构体信息如下,将结构体拷贝到blink.c文件中。

struct cli_command led_switch_command[] = {
    {
        .name = "led_switch",            // 命令名称
        .help = "[on] turn on led2;[off] trun off led2",// 帮助文本
        .function = led_switch           // 命令具体执行的函数指针
    }};

将cli命令注册到系统中。cli命令注册只需要一个函数如下:

aos_cli_register_commands(&led_switch_command[0],1);

函数需要传入两个参数,参数1为刚刚创建的命令信息体的结构体指针;参数2,为本次需要注册的命令数,也就是说可以一次性注册多个命令,只需要在命令信息结构体中,用数组的方式同时填入几个命令的信息即可。

将上述函数调用加入到blink.c文件application_start函数的如下位置:

    aos_cli_register_commands(&led_switch_command[0],1); // 注册cli命令函数
    aos_loop_run();

至此,一个cli命令的实现和注册的代码编写部分就完成了。编译并下载至开发板中运行。在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

测试命令是否执行,在命令提示符下输入如下命令,并回车:

#led_switch on

led2点亮

测试参数有效性判断,输入如下指令,不带参数。命令按设计返回错误报警。

## led_switch[1291080]<V> 参数错误

感谢各位的阅读,以上就是“怎么为AliOS Things应用增加自定义cli命令”的内容了,经过本文的学习后,相信大家对怎么为AliOS Things应用增加自定义cli命令这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI