CLI交互概念设计#
术语及定义#
场景 - 用户故事或使用假设
$>
均为命令,需要用户敲入>
命令输出或等待用户的额外输入#
场景注释
刚安装工具包, 直接敲入命令#
用户通过安装/复制等方式获取LuatOS
通常会无脑双击可执行程序, 考虑弹窗或弹出cmd
在cmd内无参数执行luatos的话, 输出帮助信息, 并在默认提示用户最可能的场景 - 建项目,刷机闪灯
$> luatos
> LuatOS CLI 1.0.1 build 2022-04-30
> =================================
> 可用命令:
> prj 项目管理
> burn 刷机
> pkg 包管理
> check 检测
> update 程序版本更新
> wiki 文档查询
例如:
新建一个Air101项目并刷机, 请依次敲入下列命令并按提示操作
luatos prj init
luatos burn
按提示创建项目,并刷机#
# 前一场景的提示, 用户敲出创建项目的命令, 创建后提示进行刷机或模拟
$> luatos prj init
> 请输入设备类型[air101]:
>> air101
> 项目初始化中
> 项目初始化完成
> 项目已经准备好, 可执行 luatos burn 刷机或 luatos mock 进行模拟运行
# 必然存在未插入设备,未安装驱动的情况, 引导到页面
$> luatos burn
> 未检测到串口, 请检查供电并安装驱动 http://xxx
# 执行全自动的刷机流程, 并逐个过程进行提示
$> luatos burn
> 检测到串口 COM8
> 检查脚本并合成刷机文件
> 开始刷机: xxx
> 刷机成功, 请使用串口助手查看日志
尝试各种demo#
在测试闪灯之后, 客户最可能的想法是 换一个demo来测试
# 更新demo
$> luatos demo update
> led 点灯
> ssd1306 i2c屏幕
> st7735 spi屏幕
$> luatos burn demo led
> 请接线XX XX XX
> 请确保设备已经供电
> 请回车以确认刷机
> 刷机过程 XXX YYY ZZZ
尝试库函数#
尝试demo后, 用户手头也许有一些外设, 有些库的是需要下载的
# 模糊查询
$> luatos pkg search ath
> ath10 -- version 2.1.0 sha256 XXXX
> ath20 -- version 2.1.0 sha256 XXXX
# 按需安装
$> luatos pkg install ath10
> 本地无ath10, 开始下载
> 下载中
> 下载完成
> 简易用法 XXX XXX
> YYY YYY
> ZZZ ZZZ
# 查查当前安装了哪些
$> luatos pkg list
> ath10 -- version 2.1.0 sha256 XXXX
> ds18b20 -- version 2.2.0 sha256 XXXX
打包与量产#
TODO