chatbot音箱使用教程
开发环境搭建与音箱烧录
这里假设开发环境是 ubuntu22.04 开发环境。
编译环境yoctool安装
按顺序输入以下指令。
$ sudo apt install python3 # 如果没有 python3 环境就安装一下 python3 环境
$ sudo apt install python-pip # 安装 pip(不行的话试试sudo apt install python3-pip)
$ cd /usr/bin
$ sudo ln -s python3 python # 在编译脚本中有时候可能会用python执行,这里是把python3软连接到python
$ sudo mv pip pip_backup
$ sudo ln -s pip3 pip
$ sudo pip install yoctools -U
安装 python 依赖的模块
按顺序输入以下指令。
$ pip install intelhex prettytable
$ pip install DecryptLogin selenium disutils scons yoctools
$ pip install intelhex prettytable DecryptLogin selenium disutils
注意:
(1) 某些情况下,报错ModuleNotFoundError: No module named '***',请直接安装按照这样的格式pip install ***安装缺失的模块)
(2) 如果虚拟机空间不足,可以参考扩容步骤:链接
SDK烧录
解压SDK压缩包。
到smartspeakersdk_ext/solutions/smart_speaker_v2
目录下,输入./go trv03
。(需要提前安装git)
(如果编译末尾遇到product: not found类似的报错,请把boards/bl606p_evb_c906/configs/product
复制一份到环境变量,例如执行如下命令
sudo cp boards/bl606p_evb_c906/configs/product /usr/local/bin/product
sudo cp /usr/local/bin/product /usr/local/bin/
)
等待上一步完成后,到smartspeakersdk_ext/tools/flashtool
目录下,输入sudo ./BLDevCube-ubuntu
打开烧录工具。(针对不同的操作系统提供了不同的烧录工具版本)
Chip选择BL606P,点击确定。
按照图示接线,粗的是数据线,细的是电源线。打开两根线汇合处的开关。
选择Port/SN端口号,输入Uart Rate波特率为2000000,点击Create $ DownLoad(如果Port/SN没有显示出下拉列表,可能是因为音箱没有接入虚拟机。需要重新插拔两根线,当电脑弹出检测到新的设备时,选择将设备接入虚拟机,而不是接入主机。)
当命令行提示"Please Press Reset Ket!"时,将转接板的开关关闭再打开(即先断电再上电),等待进度条到100即可。
购买云服务器
我们可以使用腾讯云来进行运行云端脚本。点击链接,注册或者登录腾讯云账号,进入购买界面。
选择自定义配置,按照需要时间选择计费模式。
在地域中选择欧洲和美洲-硅谷;
选择 1 核 1GB 或者 2 核 2GB 的实例;
选择 Ubuntu 系统,并选择 64 位-版本 20.04 或者 22.04 的镜像;然后点击下一步。
网络选择VPC,其他设置选择默认;
选择新建安全组,常用IP/端口全部勾选;
输入实例的名称,选择登录方式,设置密码;其他选项默认,然后点击下一步。
浏览取人所有的配置后,点击同意协议,选择立即购买。
登录云服务器
购买之后,点击链接,进入总控台。
在左边的菜单栏中选择实例,就可以看到刚刚创造好的实例,点击实例名称处的链接进入实例界面;(记住公网IP !!!)
进入实例界面后,点击登录;
按照刚刚设置的登录方式进行登录;
登录后即可进入终端界面,点击左上角的文件夹标志,可以上传文件到云服务器。
云端脚本部署
登录服务器后,点击左上角的文件夹标志,上传“chatbot_new_20230805.zip”云端脚本压缩包。
进入云端脚本压缩包的存放目录,输入unzip chatbot_new_20230805.zip
解压云端脚本压缩包。
云端脚本依赖于python3.9环境,建议安装 Anaconda 环境,便于配置python环境。
安装Anaconda步骤:
参考自:链接
打开Anaconda下载网址,拉到最底下,下载64-Bit (x86) Installer
将下载下来的安装包上传到云服务器。
输入bash /path/filename
运行安装包(将path和filename改为安装包的路径和名称)
关闭当前终端后重新打开一个终端,会发现用户名最前面显示 (base),这表示终端已经自动激活名为base的python运行环境,可以用以下方法检查Anaconda是否安装成功。
(1)输入命令conda -V可以查看Anaconda的版本信息。
(2)输入命令python可以查看python的版本信息,按Ctrl+d可以退出当前状态
配置python环境:
由于(base)环境下的python版本不是我们要的python3.9,因此我们需要禁用base并且配置自己的python环境。
输入conda config --set auto_activate_base False
取消自动激活base环境。
输入conda create -n python39 python=3.9 anaconda
新建一个Python3.9的环境并命名为python39。
输入conda activate python39
激活新建的Python3.9环境。
输入conda deactivate
可以退出当前环境。
运行云端脚本
进入chatbot_new_20230805.zip
解压后的目录。
输入pip install -r requirements.txt
,如果一切顺利的话就可以运行脚本了。
如果出问题的话,请参考链接。解决办法总结为,安装pipreqs后,输入pipreqs ./ --encoding=utf-8
生成一个新的requirements.txt替换原来的requirements.txt后再试试,如果还有问题的话再结合上方链接和报错信息进行微调即可。
输入conda activate python39
激活Python3.9环境。
输入python3 main.py
运行脚本,启动服务器。
从图中看出,左下角有公网IP,并且端口号为8000。
配置音箱
按照图示接线,粗的是数据线,细的是电源线。打开两根线汇合处的开关。
打开串口调试助手(以MobaXterm为例),设置串口的端口号,波特率设置为2000000,建立连接。
配网:
首次配网/重新配网需要长按小圆点5秒直到中间的灯闪一下,音箱则恢复原厂设置。
在串口调试助手中输入,
kv set wifi_ssid0 "wifiName"
kv set wifi_psk0 12345678
wifiName和12345678分别为wifi名称和密码。
输入reboot
重启,重启后会自动连接wifi。
(如果连接wifi失败,可以用电脑/手机开热点,且热点必须是2.4G的)
联网成功后,输入kv set mainapi ws://<your server ip:port>/wsapi
配置云端服务器地址,其中<your server ip:port>
为你的云服务器的公网IP:端口号,如170.111.111.180:8000
输入kv get mainapi
查看云端服务器地址是否配置正确。
对话测试:
确保闭麦按钮没有亮灯后,按一下小圆点即可开始录音。录音完毕后可以在云服务器的终端里看到日志消息,并且音箱播放语音回复。
发送语音后,在云服务器的终端可以看到如下日志。
若没有收到语音回复,可以尝试将音箱重启/恢复原厂设置,或更换wifi,或重新运行云端服务器脚本。