ESP8266在Alios-Things上的入门开发指南 (二)ESP8266开启CLI功能及添加CLI函数

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
Lindorm AIGC体验服务,AIGC 体验服务
简介: Alios-Things支持几种调试方式,具体作用及使用可参考链接地址 https://github.com/alibaba/AliOS-Things/wiki/Debugging-Overview.zh     今天我们主要关注CLI调试的开启,及增加CLI函数。

Alios-Things支持几种调试方式,具体作用及使用可参考链接地址

https://github.com/alibaba/AliOS-Things/wiki/Debugging-Overview.zh

    今天我们主要关注CLI调试的开启,及增加CLI函数。

     1、修改entry.c代码中 kinit 变量的cli_ebable的值为1

[cpp]  view plain  copy
  1. static kinit_t kinit = {  
  2.     .argc = 0,  
  3.     .argv = NULL,  
  4.     .cli_enable = 1  
  5. };  

       “entry.c”文件位于 "xxx\AliOS-Things\platform\mcu\esp8266\bsp"。

    2、在项目中添加CLI函数

        在此,我使用Example的 netmgrapp 的这个项目代码为例子.

        打开"netmgrapp.c"文件的修ncmds结构数组及添加代码如下所示

[cpp]  view plain  copy
  1. static void handle_jack_cmd(char *pwbuf, int blen, int argc, char **argv)  
  2. {  
  3.     aos_cli_printf("Call me Jack,please\r\n");  
  4. }  
  5.   
  6. static struct cli_command ncmds[] = {  
  7.     {  
  8.         .name = "test",  
  9.         .help = "test",  
  10.         .function = handle_test_cmd  
  11.     },  
  12.     {  
  13.         .name = "jack",  
  14.         .help = "jack",  
  15.         .function = handle_jack_cmd  
  16.     },  
  17. #ifdef TEST_WIFI_HAL_ONLY  
  18.     {  
  19.         .name = "test_wifi_hal",  
  20.         .help = "test_wifi_hal [start|scan|scan_adv|monitor [mngt]|80211send|get_mac|ip_info|all]",  
  21.         .function = handle_test_wifi_cmd  
  22.     }  
  23. #endif  
  24. };  

    保存后,在docker的编译环境中执行如下指令

[plain]  view plain  copy
  1. aos make netmgrapp@esp8266  

    将生成的 netmgrapp@esp8266-0x1000.bin 文件烧录到开发板运行。

    3、使用串口工具运行CLI命令

     在串口工具中发送 help 指令到MCU进入CLI。从CLI返回的参数中我们可以看到我们刚刚添加的一条指令 "jack".
     接着我们通过串口工具发送 jack 指令到MCU,可以看到我们添加的打印信息 :“Call me Jack,please”

运行结果如下图所示

5950bbe1b3617fb81c188430c56ffe0dddf5ff82

    自此,你可以自己添加CLI函数,用以调试开发产品功能.

相关文章
|
IDE 开发工具 iOS开发
基于MacOS搭建ESP8266 NodeMCU CP2102开发环境
基于MacOS搭建ESP8266-NodeMCU开发环境 1. 下载、安装驱动 2. Arduino开发环境配置 2.1. 下载、安装Arduino 2.2. 配置Arduino
基于MacOS搭建ESP8266 NodeMCU CP2102开发环境
|
物联网 Linux 开发工具
[基础篇]ESP8266-SDK教程(一)之开发环境搭建
上篇文章我们了解了ESP8266到底是个什么“东西”,了解了ESP8266在这个万物互联时代有哪些优势,那我们不能光是了解,我们还需要去深入的学习一下,争做物联网时代的弄潮儿~继往开来第二篇,本篇文章主要介绍一下几种常见的ESP8266开发方式,感觉现在不管是学习硬件开发还是软件开发,第一节课都是先学习一下开发环境搭建,毕竟这个开发环境不单单是有台电脑就足够了,交叉编译工具链才是最重要的,我们需要将写的代码编译成可以在ESP8266上运行的代码,这一步就需要交叉编译工具。
5756 0
|
IDE 开发工具 开发者
ESP8266固件SDK开发初体验-打印helloworld
ESP8266固件SDK开发初体验-打印helloworld
213 0
|
人工智能 物联网 Linux
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
1012 0
|
IDE 安全 物联网
快速入门 .NET nanoFramework 开发 ESP32-Pico 应用
本文是一篇适合初学者的 .NET nanoFramework 保姆级入门教程,并提供了基本的入门程序并介绍了微雪的 ESP32-S2-Pico 使用 .NET nanoFramework 开发过程的基础知识。
575 0
快速入门 .NET nanoFramework 开发 ESP32-Pico 应用
|
开发框架 API C++
ESP32 + HaaS Python UI Lite 组件 打造倒计时面板
ESP32 + HaaS Python UI Lite 组件 打造倒计时面板
153 0
|
物联网
|
物联网 API 开发者
3_2_AliOS Things 命令行介绍|学习笔记
快速学习3_2_AliOS Things 命令行介绍。
3_2_AliOS Things 命令行介绍|学习笔记
|
物联网 Linux
【AliOS Things学习笔记】为你的AliOS Things应用增加自定义cli命令
怎么才能在RTOS系统中,通过 串口shell控制LED的开关。
3650 0
|
物联网 开发工具 C++
AliOS Things 的 ESP32 应用开发流程
本文介绍 Windows 下基于 AliOS Things 的 ESP32 应用开发流程,包括环境搭建、程序编译、固件烧写。
9938 0