嘉楠-K510套件版本网络使用及目前碰到的困难
<p>长假一周,除了重装编译环境,把代码看了几千行,尝试了一下hdmi,似乎没有太大进展,对使用过程中的网络问题做一个小小总结吧。</p><p>一、编译环境</p>
<p> 1、加速下载</p>
<p>如之前所述,编译环境很慢,需下载较长时间,使用代理会快一点,这个操作步骤在之前已经发过了,不再累述</p>
<p>2、github的解析</p>
<p>国内一些dns,会将github解析为127.0.0.1,导致搭建环境时文件下载失败,如下:</p>
<p>https://github.com/andestech/Andes-Development-Kit/releases/download/ast-v3_2_1-release-linux/nds64le-linux-glibc-v5d.txz</p>
<p>Connecting to github.com (github.com)|127.0.0.1|:443... failed: Connection refused.</p>
<p>Connecting to github.com (github.com)|::1|:443... failed: Cannot assign requested address.</p>
<p>这时可以手工指定dns为8.8.8.8或8.8.4.4,可以正常解析。</p>
<p>二、运行环境</p>
<p> 1、wlan0</p>
<p> 开发套件启动,可以看到</p>
<p> </p>
<p> 说明至少可以使用wpa_supplicant工具来配置无线网。</p>
<p> 尝试使用wpa的命令行,发现无法连接p2p-dev-wlan0接口,如下:</p>
<p> </p>
<p>不过好在可以直接使用wpa_supplicant调用conf文件。</p>
<p>首先修改/etc/wpa_supplicant.conf文件,</p>
<p> </p>
<p>在network字段里面增加ssid和psk,同时将key_mgmt修改一下:</p>
<p>key_mgmt=WPA-PSK</p>
<p>执行wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf,似乎有点效果,有收发,但没有ipv4的地址。</p>
<p> </p>
<p>手工指定ip地址,可以ping通网关。</p>
<p> </p>
<p>使用udhcpc命令,可以自动获得ip地址。</p>
<p> </p>
<p>将上述功能做成脚本</p>
<p> </p>
<p>放在/etc/init.d目录下</p>
<p> </p>
<p>再增加可执行属性</p>
<p> </p>
<p>重启,看启动打印,似乎是执行了,但实际查看,并没有能正常获取ip地址,应该是init.d执行的顺序在初始化wifi芯片之前造成。</p>
<p>启动完成后,进入命令行环境执行这个脚本,是可用正常获取地址的:</p>
<p> </p>
<p>三、远程管理和文件传输</p>
<p> K510内置了telnetd和ftpd功能,其中telnetd在启动后就已执行,只要开发板接入网络,可以使用终端工具连接其23端口进行操作,缺省用户名是root,没有密码。</p>
<p> 如需要传输文件,可以使用ftpd功能。在板卡启动后的命令行里面执行:</p>
<p>udpsvd -vE 0.0.0.0 69 tftpd /app/test -c</p>
<p>其中/app/test是我用于测试的路径。</p>
<p>在于其相连的主机(电脑)中,可以使用</p>
<p>tftp -i 192.168.1.179 put cam_test</p>
<p>上传文件。</p>
<p>如果需要使用get方式从k510上获取文件,主机需要有管理权限,可以在开始菜单中使用右键,选择“命令提示符(管理员)(A)”获得。</p>
<p> </p>
<p>PS:依然没搞定的几个问题:</p>
<p>1、编译环境下的su权限怎么获得?</p>
<p>提示:</p>
<p>Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.</p>
<p>ERROR: could not open HSTS store at '/root/.wget-hsts'. HSTS will be disabled.</p>
<p>提示该文件的权限过低,猜测是不让写?</p>
<p> </p>
<p>直接修改,又权限不足</p>
<p> </p>
<p>好在即使不用管这个,也能正常编译出所用的img文件。</p>
<p>2、python环境下的opencv怎么安装?</p>
<p>在k510的开发板中,内置了python3.8,但是基本没有装什么模块。</p>
<p> </p>
<p>看package目录,应该是能够支持opencv的,但尝试使用pip安装</p>
<p>pip install opencv-python</p>
<p>提示为numpy失败,</p>
<p> ERROR: Command errored out with exit status 2:</p>
<p> command: /usr/bin/python /usr/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpluane2ch</p>
<p> cwd: /root/data/tmp/numpy</p>
<p> Complete output (1 lines):</p>
<p> /usr/bin/python: can't open file '/usr/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py': No such file or directory</p>
<p> </p>
<p>升级pip和setuptools</p>
<p>pip install --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com</p>
<p>pip install --upgrade setuptools -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com</p>
<p> </p>
<p>再安装numpy</p>
<p>pip install numpy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com</p>
<p>依然出错</p>
<p> </p>
<p>原因是</p>
<p>RuntimeError: Broken toolchain: cannot link a simple C program.</p>
<p>怀疑是和python3.8不匹配,降低numpy的版本</p>
<p>pip install numpy==1.21.2</p>
<p>错误变成</p>
<p>RuntimeError: Running cythonize failed!</p>
<p>这个错误即使在使用了pip install cython安装cython后仍然不能消除。</p>
<p> </p>
<p>3、ai的demo怎么用?</p>
<p>尝试了演示视频里面的几个demo,有些没有编译在ai目录下,使用find / -name vtubor.sh也没查找到。</p>
<p>能查找到的脚本也都执行失败,如下。</p>
<p>media_setup_link: Unable to setup link (Device or resource busy)</p>
<p>error: unable to reset links.</p>
<p>mediactl_init error: unable to setup pipeline</p>
<p> </p>
<p>4、摄像头怎么使用</p>
<p>在/dev路径下有video0~video9共10个摄像头,但是在K510的开发套件上实际只看的了两个。尝试编写了一段代码分别读取这10个摄像头的信息,可以看到,</p>
<p>在struct v4l2_capability cap中,cap.card各不相同,其它基本相同,其中cap.capabilities的值为84200003,意味着可以截取图片或一段视频。</p>
<p>但尝试使用ioctl(fd,VIDIOC_ENUM_FMT,&dis_fmtdesc)读取struct v4l2_fmtdesc dis_fmtdesc的信息则失败,原因不明</p>
<p> </p>
<p> </p>
<p>另外,里面设置ip地址那个截图似乎是我弄错了,地址设置和网关一样了,这肯定不正确。实际操作的时候,只要设置与网关同网段的地址都能成功ping通网关。</p>
<p>慢慢来吧,看来这个开发板还是有点磨练人的心呀。加油!</p>
本帖最后由 shengqi123 于 2022-10-9 16:01 编辑
<p>第一个问题:再进入我们得dockers之前,先切换到sudo su root ,再进docker;</p>
<p><br />
第二个问题:你装得numpy版本和你得pip版本是不是匹配;</p>
<p><br />
第三个问题:关于K510C常规得外设demo使用请参考嘉楠官方GitHub文档:https://github.com/kendryte/k510_docs/blob/dev/zh/K510_SDK_Application_Guides.md<br />
视频提供得AI demo是基于SDK1.5的版本,请以最新的版本SDK位基准;<br />
关于AI demo的部署流程可以参考嘉楠官方GitHub文档:https://github.com/kendryte/k510_docs/blob/dev/zh/K510_AI_Application_Guides.md<br />
注意在板子上切换其他AI demo时候,先把默认启动的彩图回显的进程给kill掉,否则新起的AI demo会因访问资源冲突;</p>
<p><br />
第四个问题:关于camera多媒体的使用可以参考考嘉楠官方GitHub文档:<br />
https://github.com/kendryte/k510_docs/blob/dev/zh/K510_V4l2_Developer_Guides.md<br />
https://github.com/kendryte/k510_docs/blob/dev/zh/K510_Multimedia_Developer_Guides.md</p>
<p> </p>
<p> 对于K510使用可以参考考嘉楠官方GitHub文档入口:https://github.com/kendryte/k510_docs/blob/dev/zh/README.md<br />
若有疑问可以发邮件至嘉楠技术支持邮件:ai_product@canaan-creative.com</p>
<p>看看原厂跟进进展,遇到问题随时联系:)</p>
<p>3、ai的demo怎么用?</p>
<p>应该是AI的文件夹里面有个SHELL文件夹里面,跑脚本可以看看<img height="52" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/titter.gif" width="48" /></p>
<p> </p>
<p>然后。。。开机自启动的video进程要kill掉才行,有个自启动的DRM的摄像头</p>
<p> </p>
<p>注意在板子上切换其他AI demo时候,先把默认启动的彩图回显的进程给kill掉,否则新起的AI demo会因访问资源冲突;如下图所示 </p>
本帖最后由 tobot 于 2022-10-9 22:51 编辑
<p>感谢<a href="https://home.eeworld.com.cn/space-uid-1353276.html" target="_blank">alex逐幻</a>感谢<a href="https://home.eeworld.com.cn/space-uid-1353246.html" target="_blank">shengqi123</a>,的确是资源冲突,关掉启动之后就可以使用脚本了。</p>
<p>但我这边检测成功率不咋样啊,face_detect,人脸检测,喵星人检测出来了,氪星人和爱新觉罗都没检测出来。。。</p>
<p><br />
</p>
<p>上图是使用百度图片搜索关键字“脸”得到的,照片中的男性是超人的扮演者亨利卡维尔。</p>
<p>事实上,也检测得出来,但感觉检测的概率和猫猫是差不多的。</p>
tobot 发表于 2022-10-9 22:42
感谢alex逐幻感谢shengqi123,的确是资源冲突,关掉启动之后就可以使用脚本了。
但我这边检测成功率不咋 ...
<p>可以尝试把camera 稍微拉远一点,对着的画面里面人脸数减少一些 试试看 </p>
shengqi123 发表于 2022-10-9 10:48
第一个问题:再进入我们得dockers之前,先切换到sudo su root ,再进docker;
第二个问题:你装得nump ...
<p>关于第二个问题(无法安装opencv)我找到了原因,但暂时还没想到如何解决,不知道能否帮忙?</p>
<p>在使用pip install numpy命令的时候,提示为</p>
<p>ERROR: Command errored out with exit status 2: /usr/bin/python /usr/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpf8vth78i Check the logs for full command output.</p>
<p>查看日志是pep517引起的,所以,直接禁用,使用命令</p>
<p>pip install numpy --no-use-pep517</p>
<p>安装</p>
<p>结果还是出错</p>
<p>ERROR: Command errored out with exit status 1: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv = '"'"'/tmp/pip-install-05wqnet2/numpy/setup.py'"'"'; __file__='"'"'/tmp/pip-install-05wqnet2/numpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-qur5ji35/install-record.txt --single-version-externally-managed --compile Check the logs for full command output.</p>
<p>查看具体出错点,发现安装numpy需要gcc支持,而在板上没有。错误信息为:</p>
<p> No such file or directory: '/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/bin/riscv64-linux-gcc'</p>
<p>这个似乎是在docker环境下的路径内容,不知道有没有办法直接在板上使用?</p>
<p>或者类似pycrytodomex之类的,在编译镜像文件的时候就把numpy和opencv安装进来?</p>
<p> </p>
tobot 发表于 2022-10-10 22:26
关于第二个问题(无法安装opencv)我找到了原因,但暂时还没想到如何解决,不知道能否帮忙?
在使用pi ...
<p>可以按照下面步骤来一下:</p>
<p> sudo apt-get install python</p>
<p> 安装完毕之后,输入如下命令:sudo apt-get install python3-pip</p>
<p> 然后: python3 -m pip install --upgrade pip</p>
<p> 再执行如下命令: sudo apt-get install python sudo apt-get install python3-pip python3 -m pip install --upgrade pip python3 -m pip install onnx==1.9.0 onnx-simplifier==0.3.6 onnxoptimizer==0.2.6 onnxruntime==1.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple</p>
shengqi123 发表于 2022-10-11 16:15
可以按照下面步骤来一下:
sudo apt-get install python
安装完毕之后,输入如下命 ...
<p>生成的开发套件镜像中没有apt功能</p>
<p>直接下载用于开发的docker环境里面也没有sudo功能</p>
<p>另外,我查看了,在docker中的python模块版本和开发套件上的python模块版本并不一致。</p>
tobot 发表于 2022-10-11 22:43
生成的开发套件镜像中没有apt功能
直接下载用于开发的docker环境里面也没有sudo功能
另外,我查看 ...
<p>再进入我们得dockers之前,先切换到sudo su root ,再进docker;</p>
shengqi123 发表于 2022-10-12 16:12
再进入我们得dockers之前,先切换到sudo su root ,再进docker;
<p>是的,的确如此,但我希望的是在开发板里面安装opencv,而不是在docker环境中安装</p>
<p>谢谢分享,期待后续!</p>
页:
[1]