完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一. 摘要 已经拿到了平头哥Sipeed LicheeRV 86开发板, 今天简单的为大家做个开箱, 并且完成waft的环境搭建和开发一个简单的应用 二. 开发板介绍file:///C:Users37543AppDataLocalTempksohtmlwps3607.tmp.png 开发板基本参数介绍 · 适配 Lichee RV 核心板,全志 D1 主芯片,512MB DDR3 内存. 系统需要存放在TF卡中 · 支持运行 Linux 系统,支持 WAFT 开发环境. 本次开发最终的成品需要使用到Linux系统. · 搭载一块分辨率为 480*480 的 4 英寸电容触摸屏,支持人机交互应用. 但是目前在Debian系统下面是默认是无法使用触摸屏的, 需要使用到键盘鼠标 · 板载百兆以太网与 Wi-Fi+BT 模组,支持以太网与无线网络连接. 优先网络连接需要使用到RJ45转接线配件 · 板载扬声器功放与两路数字麦克风,支持音频播放与双麦克风降噪 · 板载 GPIO+供电扩展排针,可通过 GPIO 扩展应用场景 · 板载 USB 转 UART 与 USB-HOST 电路,便于串口调试与外接 USB 设备 三. 开箱 file:///C:Users37543AppDataLocalTempksohtmlwps3617.tmp.png file:///C:Users37543AppDataLocalTempksohtmlwps3628.tmp.png file:///C:Users37543AppDataLocalTempksohtmlwps3629.tmp.png 配件全家福, 可以说是非常豪华了, 基本开发所有要的配件已经囊括了. 包含: · 开发板主体, 包含核心板, IOT拓展板, 电容触控屏 · RJ45+电源延长线 · Type C数据线 · 3.0 TF卡读卡器 · USB Host OTG转接头 · 32G TF卡 为了更好的开发, 我另外自己准备了两个配件 · USB Hub分线器 · USB鼠标 · USB键盘 · 12V供电先 · RJ45网线 file:///C:Users37543AppDataLocalTempksohtmlwps3639.tmp.png 开发板背面 file:///C:Users37543AppDataLocalTempksohtmlwps363A.tmp.png 四. waft开发体验 1. waft介绍 Waft(WebAssembly Framework for Things) 是一个面向 AIoT 的高性能应用研发框架,基于 WebAssembly 和自研的渲染引擎技术打造,适用于智能终端的软件应用研发场景. 应该是阿里自研的开发框架. 具有高性能, 原子化, 跨平台, 多语言的特点. 1. 高性能: 支持动态化AOT运行模式,能接近原生应用体验,可在非常低配的IoT设备上运行 2. 原子化: 面向原子化的服务。化整为零,超级应用的核心内容短平快直达;化零为整,多源化的服务重组成场景化应用 3. 跨平台: 支持Android, Linux, RTOS, MacOS、Windows等多平台,并能实现UI自适应与样式的跨端一致性 4. 多语言: 面向广大开发者群体:前端、终端、传统IoT端、后端,各领域的开发者,可使用他们熟悉的编程语言 2. 硬件设置 1. 开发板主体 2. Type数据线:用于供电以及adb数据连接 3. 32G TF卡 4. TF卡读卡器: 用于烧写镜像 5. Windows操作系统的PC一台: 使用全志的烧写工具, 烧写镜像 6. Linux操作系统的PC/虚拟机一台: 用于搭建waft开发环境 如下图: 数据线连接请连接到核心板上的Type接口, 方可以使用adb的数据传输. 使用uart接口也可以进行命令行操作, 但是无法进行文件传输, 因而选择adb作为调试接口 file:///C:Users37543AppDataLocalTempksohtmlwps364B.tmp.png 3. 软件设置 1. LicheeRV_tina_86panel_480p_waft.7z: 镜像文件 2. [Windows]PhoenixCard: 全志镜像烧写工具 3. [Linux] Node.js: waft开发环境依赖. Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台. 4. [Linux] waft-cli: waft应用编译调试工具 5. [Linux] adb: adb调试工具 在Windows PC中烧写文件镜像 1. 下载安装软件并烧录 file:///C:Users37543AppDataLocalTempksohtmlwps364C.tmp.jpg 2. 下载安装软件 3. 选择对应的镜像文件 4. 选择启动卡 5. 插上TF卡读卡器 6. 选择对应的盘符 7. 点击烧卡即可: 烧写过程中不要拔出盘, 烧写过程大约需要15分钟, 完成后弹出读卡器, 将TF卡连接到开发板上. 8. 连接Type C数据线 file:///C:Users37543AppDataLocalTempksohtmlwps365D.tmp.png 2. waft视频播放体验 1. 将视频上传到开发板上 file:///C:Users37543AppDataLocalTempksohtmlwps365E.tmp.jpg 2. 使用以下命令播放视频 ffmpeg -i /root/video.mp4 -pix_fmt bgra -f fbdev /dev/fb0 -f alsa hw:0,0 file:///C:Users37543AppDataLocalTempksohtmlwps365F.tmp.jpg 3. 播放效果 file:///C:Users37543AppDataLocalTempksohtmlwps366F.tmp.jpg 在Linux PC中安装waft环境搭建 1. 通过一下命令安装node.js以及waft开发调试工具 参考 sudo npm i waft-cli -gsudo npm i waft-cli -g 因为我实现已经通过二进制安装包的形式安装过node.js, 因为没有额外安装node.js. 然而装了几次都发现会报错. npm WARN deprecated @types/table@6.3.2: This is a stub types definition. table provides its own type definitions, so you do not need this installed. npm WARN deprecated @types/stylelint@14.0.0: This is a stub types definition. stylelint provides its own type definitions, so you do not need this installed. npm WARN deprecated @types/ora@3.2.0: This is a stub types definition. ora provides its own type definitions, so you do not need this installed. npm WARN deprecated @types/colors@1.2.1: This is a stub types definition. colors provides its own type definitions, so you don't need this installed. npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated loadsh@0.0.4: This is a typosquat on the popular Lodash package. This is not maintained nor is the original Lodash package. changed 644 packages, and audited 887 packages in 3m 63 packages are looking for funding run `npm fund` for details 5 moderate severity vulnerabilities To address all issues, run: npm audit fix 解决方案, 不能使用官网二进制包的安装方式, 依然有报错 sudo apt-get install node.js npm 报错 sudo npm install -g n npm does not support Node.js v10.19.0 You should probably upgrade to a newer version of node as we can't make any promises that npm will work with this version. You can find the latest version at https://nodejs.org/ /usr/local/lib/node_modules/npm/lib/npm.js:32 #unloaded = false ^ SyntaxError: Invalid or unexpected token at Module._compile (internal/modules/cjs/loader.js:723:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Module.require (internal/modules/cjs/loader.js:692:17) at require (internal/modules/cjs/helpers.js:25:18) at module.exports (/usr/local/lib/node_modules/npm/lib/cli.js:22:15) at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:2:25) at Module._compile (internal/modules/cjs/loader.js:778:30) 解决方案 参考 curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install -y nodejs 2. 再次安装waft开发调试工具 sudo npm i waft-cli -g 3. 初始化 通过命令初始化waft开发项目, 完成后会生成项目工程目录 waft init 4. 启动交互界面 file:///C:Users37543AppDataLocalTempksohtmlwps3670.tmp.jpg 4. 编译 在交互界面通过.build命令进行项目编译, 编译完成的文件会存放在build目录中 3. 通过adb命令上传并启动程序 $ adb push ./* /mytest $ adb shell # killall -9 waft_app # waft_app /mytest/app_wifi.wasm file:///C:Users37543AppDataLocalTempksohtmlwps3671.tmp.jpg waft开发入门 参考 waft的开发有点类似与Vue的开发, 这次我就在官方样例的基础上简单的进行修改, 体验一下waft的开发 1. 样例修改: 在工程目录中找到mock.json, 修改其中的参数 file:///C:Users37543AppDataLocalTempksohtmlwps3682.tmp.jpg 2. 打包 进入waft交互见面, 输入命令.build进行打包 file:///C:Users37543AppDataLocalTempksohtmlwps3683.tmp.jpg 3. 上传文件并运行 apt install adb -y adb shell rm -rf /mytest/* adb push ./build/* /mytest adb shell waft_app /mytest/app.wasm 4. 效果展示 file:///C:Users37543AppDataLocalTempksohtmlwps3684.tmp.png 总结 1. 硬件方面, 这次提供的开发板非常豪华, 拓展板做工尽量, 加上一个外壳基本上就可以作为一个产品出售了. 好像官方也有加外壳的版本. 配件包含了所有开发过程中需要到的配件. 板载也包含了UART芯片, 无需额外购买UART转接器, 降低了开发的难度. 2. 上手即用, 拿到手的时候已经刷好了waft天气样例, 接上电源之后即可进行使用 3. 资料完整, 官方提供了充分的说明文档和开发例程, 简单阅读即可上手. 同时也开源了完整的SDK, 为深度定制提供了可能性 4. waft框架的体验也非常好, 大大降低了IOT的开发门槛, 使得开发人员可以专注于应用层面的开发而无需关注与底层的实现. 特别是图形化的应用, 前端人员基本上可以直接上手 不足 1. waft开发调试工具的模拟器工具似乎只有mac系统才可安装, 对于使用Windows和Linux的开发不是特别友好 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【平头哥Sipeed LicheeRV 86开发板试用体验】Waft初体验
15675 浏览 1 评论
13730 浏览 4 评论
【平头哥Sipeed LicheeRV 86开发板试用体验】四、烧写waft系统&搭建waft测试环境
19649 浏览 2 评论
59079 浏览 19 评论
【限时福利】加入芯片开发社区,领100G电子工程师资料大礼包
88012 浏览 121 评论
邀请函 | 3月2日 来上海参加平头哥“玄铁RISC-V生态大会”
762浏览 0评论
读书分享会 | 玄铁RISC-V处理器入门与实战电子书免费下载!
660浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:09 , Processed in 0.579241 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号