当边缘智能芯片 K230 与 "小智" 大模型结合,集成人脸识别技术后,"小智" 实现从语音交互到视觉感知的跨越,让 AI 大模型具备 "识人辨景" 的能力,推动 AI 从符号推理迈向场景化智能理解。

K230小智大模型的 视觉觉醒适配庐山派开发板

一、硬件准备

1、一块庐山派K230开发板

2、摄像头(本次demo使用GC2093),考虑到实际的可操作性,有条件可以增加一个前置摄像头

3、一块触摸屏(UI操作人脸注册使用,https://item.szlcsc.com/44319751.html

4、板子上已经有板载Mic,外接一个喇叭(带电池或电源接入的喇叭)

5、usb转ttl转接板和杜邦线(请注意一定要接上串口,Linux操作系统为命令行操作)

6、SD卡

7、电源线

二、软件准备

我们有编译好的SDK包和bin文件,下载之后直接跳转到第6步。

注意:

庐山派开发板SDK,需要外接立创·3.1寸屏幕,外接GC2093摄像头,接到CSI1摄像头

庐山派 SDK和bin下载链接:

https://kendryte-download.canaan-creative.com/developer/k230/LCKFB_XIAOZHI_IMG_0610.zip

三、自己编译SDK和小智

1、下载并编译K230 Linux SDK

参考链接:

https://www.kendryte.com/k230_linux/dev/zh/01_software/K230_linux_SDK%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97.html

下载Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V3.0.2.tar.gz 文件

cd ~
mkdir canmv_k230_linux
cd canmv_k230_linux
git clone git@github.com:kendryte/k230_linux_sdk.git
mkdir -p /opt/toolchain
tar -zxvf Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V3.0.2.tar.gz -C /opt/toolchain
wget -c ruyisdk/riscv-gnu-toolchain-rv64ilp32
mkdir -p /opt/toolchain/riscv64ilp32-elf-ubuntu-22.04-gcc-nightly-2024.06.25/s
tar -xvf riscv64ilp32-elf-ubuntu-22.04-gcc-nightly-2024.06.25-nightly.tar.gz -C /opt/toolchain/riscv64ilp32-elf-ubuntu-22.04-gcc-nightly-2024.06.25/
sudo apt-get install -y wget git sed make binutils build-essential diffutils gcc  g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc findutils wget libncurses-dev python3 libssl-dev  gawk cmake bison flex bash-completion  parted curl xz-utils
cd ~/canmv_k230_linux
make CONF=k230_canmv_lckfb_defconfig BR2_PRIMARY_SITE=https://kendryte-download.canaan-creative.com/k230/downloads/dl/

2、修改板子的config文件,使能以下配置

配置文件:k230_linux_sdk/buildroot-overlay/configs/k230_canmv_lckfb_defconfig


BR2_PACKAGE_WEBSOCKETPP=y
BR2_PACKAGE_BOOST=y
BR2_PACKAGE_BOOST_JSON=y
BR2_PACKAGE_BOOST_LOG=y
BR2_PACKAGE_BOOST_SERIALIZATION=y
BR2_PACKAGE_BOOST_URL=y

3、根据你的摄像头连接,修改配置文件,参考链接:

https://mp.weixin.qq.com/s/P0QOnwfZ87-BmSvppE5I4A

4、获取小智代码

请到

下载小智源码,放置到如下路径:


cd ~/canmv_k230_linux/k230_linux_sdk/buildroot-overlay/package
git clone https://github.com/kendryte/xiaozhi_assistant.git

5、编译小智应用

5.1 整包编译

整包编译,重新烧写整个IMG


cd ~/canmv_k230_linux
//庐山派
make CONF=k230_canmv_lckfb_defconfig
5.2 编译小智app

k230_linux_sdk/buildroot-overlay/package/xiaozhi_assistant 目录下,执行 build.sh 脚本以编译源码:


cd ~/canmv_k230_linux/k230_linux_sdk/buildroot-overlay/package/xiaozhi_assistant
./build.sh
5.3 生成的文件

编译完成之后,会在k230_linux_sdk/buildroot-overlay/package/xiaozhi_assistant/k230_bin 目录下生成目标文件。

  • ui_and_ai:负责用户界面和人工智能相关功能。

  • xiaozhi_client:小智语音助手的客户端程序。

  • 此外还包括模型和图片,数据库等资源,需要整个k230_bin文件夹copy到板子上

├── SourceHanSansSC-Normal-Min.ttf
├── face_database
│   ├── 1.db
│   └── 1.name
├── face_detection_320.kmodel
├── face_detection_640.kmodel
├── face_recognition.kmodel
├── kws.kmodel
├── run.sh
├── stop.sh
├── ui_and_ai
├── wakeup_audio.pcm
├── xiaozhi
│   ├── HarmonyOS_Sans_SC_Regular.ttf
│   ├── img_joke.png
│   ├── img_naughty.png
│   └── img_think.png
└── xiaozhi_client

2 directories, 16 files

6、如何运行

6.1 升级IMG

USB烧录参考文档:

https://www.kendryte.com/answer/questions/10010000000008370/10020000000008372

6.2 开启WiFi,连接网络

ifconfig -a
ifconfig  wlan0 up
wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
# 扫描热点# wpa_cli -i wlan0 scan# 打印扫描结果# wpa_cli -i wlan0 scan_result
wpa_cli -i wlan0 add_network
# 设置网络名称
wpa_cli -i wlan0 set_network 1 ssid '"wifi_test"'# 设置网络密码
wpa_cli -i wlan0 set_network 1 psk '"12345678"'# 连接网络
wpa_cli -i wlan0 select_network 1# 获取ip
udhcpc -i wlan0 -q
6.3 copy可执行程序到板子上
//板子上获取板子的IP地址
[root@canaan ~ ]#ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:232 errors:0 dropped:0 overruns:0 frame:0
          TX packets:232 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:17152 (16.7 KiB)  TX bytes:17152 (16.7 KiB)

wlan0     Link encap:Ethernet  HWaddr 28:F5:2B:95:D7:06
          inet addr:192.168.1.102  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2af5:2bff:fe95:d706/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2066 (2.0 KiB)  TX bytes:2034 (1.9 KiB)
          
//在电脑端cmd命令行界面执行scp命令
scp -r k230_bin root@192.168.1.102:/root
6.4 运行应用
//测试屏幕是否正常运行,运行下面demo,查看屏幕是否有一个旋转的正方形
vglite_cube
//测试视频流到显示是否正常,查看摄像头是否正常显示在屏幕上
v4l2-drm -d 1 -w 480 -h 240

ifconfig  wlan0 up
wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
# 扫描热点# wpa_cli -i wlan0 scan# 打印扫描结果# wpa_cli -i wlan0 scan_result
wpa_cli -i wlan0 add_network
# 设置网络名称
wpa_cli -i wlan0 set_network 1 ssid '"wifi_test"'# 设置网络密码
wpa_cli -i wlan0 set_network 1 psk '"12345678"'# 连接网络
wpa_cli -i wlan0 select_network 1# 获取ip
udhcpc -i wlan0 -q

cd /root/k230_bin/
chmod 777 *
./run.sh&
6.5 激活设备

让电脑和板子在同一个网段,使用网址https://xiaozhi.me/登录并激活板子设备,接下来就可以注册人脸,或者通过语音唤醒小智,进行对话聊天了!

6.6 退出应用


./stop.sh

注意事项

1、屏幕显示设置,lvgl_ui.cc 文件在如下路径

cd ~/canmv_k230_linux_0604/k230_linux_sdk/buildroot-overlay/package/xiaozhi_assistant/src/ui_and_ai/src

需要根据你的屏幕修改这三个设置。

庐山派的屏幕旋转90度

2、网络在每次重启板子都需要重新设置,如果觉得很麻烦,可以在初始化脚本里面增加 wifi 设置,保存之后,重启就会自动开启并设置 wifi 网络。


//在板子上修改/etc/init.d/rcS 文件,在最后增加wifi的设置
ifconfig  wlan0 up
wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
# 扫描热点# wpa_cli -i wlan0 scan# 打印扫描结果# wpa_cli -i wlan0 scan_result
wpa_cli -i wlan0 add_network
# 设置网络名称
wpa_cli -i wlan0 set_network 1 ssid '"wifi_test"'# 设置网络密码
wpa_cli -i wlan0 set_network 1 psk '"12345678"'# 连接网络
wpa_cli -i wlan0 select_network 1# 获取ip
udhcpc -i wlan0 -q

当 K230 的 "视觉之眼" 与小智大模型的 "智慧之脑" 深度融合,既打破了传统大模型依赖云端算力的局限,又赋予了设备本地化处理复杂视觉任务的能力。这一次,大模型真正拥有了 "眼睛",而属于边缘智能的黄金时代,才刚刚开始。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐