RK3568笔记八十一: Linux 小智AI聊天机器人移植
若该文为原创文章,转载请注明原文出处。
上一篇编译了所需要的库,这边记录下移植编译测试过程 。
一、源码下载
100askTeam/xiaozhi-linux: Embedded Linux AI Xiaozhi Intelligent voice dialogue.
是在源码上直接修改的,整体框架不变
lib文件是存放自己编译后的动态库文件,需要拷贝到开发板上。
拷贝时有的名称需要修改。
二、移植过程
1、编译control_center
文件里的代码主要功能是通过websocket和服务端通信
修改两个地方
1)、http.cpp文件
测试时证书验证失败,所以添加代码跳过验证
// 取消证书验证
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
2)、修改Makefile
在最顶部添加工具链
CROSS_COMPILE = /opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu-
3)、编译
编译后会生产control_center可执行文件
2、编译sound_app
sound_app的作用是采集数据编码成opus格式,通过UDP发送给control_center,并接收返回数据,解码播放
此文件只需要修改makefile,在最顶部添加工具链
CROSS_COMPILE = /opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu-
编译,生成sound_app
3、 编译GUI
GUI修改的比较多
1)、lv_100ask_xz_ai_main.h
存放字休和图片的路径
2)、lv_linux_fbdev.c
修改屏幕分辨率,用的屏是5.5寸720*1280
lv_display_t * disp = lv_display_create(720, 1280);
3)、lv_conf.h
修改LV_FS_POSIX_PATH路径
#define LV_FS_POSIX_PATH "./xiaozhi/"
4)、main.c
修改触摸屏节点
5)、makefile
修改工具链
CC ?= /opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu-gcc
6)、toolchain.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(tools "/opt/atk-dlrk356x-toolchain/usr")
set(CMAKE_C_COMPILER ${tools}/bin/aarch64-buildroot-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER ${tools}/bin/aarch64-buildroot-linux-gnu-g++)
到此修改完成,修改的比较少,主要是韦老师架构好
在编译前也可以使用下面命令修改工具链
export CC=/opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu-gcc
7)、编译
编译后会在bin目录下生成lvgl_xiaozhi文件
把lvgl_xiaozhi,sound_app,control_center三个文件上传到开发板
三、测试
测试前还需要字体和图片,字体网上下在,图片下载iconfont-阿里巴巴矢量图标库
放到lv_100ask_xz_ai_main.h指定的目录下。
测试
先在后台运行sound_app,control_center
在执行lvgl_xiaozhi,就会看到界面显示一个6位数
打开网址,输入显示的验证码,激活设备即可
小智 AI 聊天机器人
附演示地址
全网首发、基于RK3568的小智AI聊天机器人….感谢韦老师开源…._哔哩哔哩_bilibili
源码
Yinyifeng18/xiaozhi-linux-rk3568: 基于RK3568的小智AI聊天机器人
如有侵权,或需要完整代码,请及时联系博主。