tobot 发表于 2022-10-8 10:17

嘉楠-K510套件版本网络使用及目前碰到的困难

<p>长假一周,除了重装编译环境,把代码看了几千行,尝试了一下hdmi,似乎没有太大进展,对使用过程中的网络问题做一个小小总结吧。</p>

<p>一、编译环境</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、wlan0</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 开发套件启动,可以看到</p>

<p> &nbsp;</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说明至少可以使用wpa_supplicant工具来配置无线网。</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 尝试使用wpa的命令行,发现无法连接p2p-dev-wlan0接口,如下:</p>

<p> &nbsp;</p>

<p>不过好在可以直接使用wpa_supplicant调用conf文件。</p>

<p>首先修改/etc/wpa_supplicant.conf文件,</p>

<p> &nbsp;</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> &nbsp;</p>

<p>手工指定ip地址,可以ping通网关。</p>

<p> &nbsp;</p>

<p>使用udhcpc命令,可以自动获得ip地址。</p>

<p> &nbsp;</p>

<p>将上述功能做成脚本</p>

<p> &nbsp;</p>

<p>放在/etc/init.d目录下</p>

<p> &nbsp;</p>

<p>再增加可执行属性</p>

<p> &nbsp;</p>

<p>重启,看启动打印,似乎是执行了,但实际查看,并没有能正常获取ip地址,应该是init.d执行的顺序在初始化wifi芯片之前造成。</p>

<p>启动完成后,进入命令行环境执行这个脚本,是可用正常获取地址的:</p>

<p> &nbsp;</p>

<p>三、远程管理和文件传输</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; K510内置了telnetd和ftpd功能,其中telnetd在启动后就已执行,只要开发板接入网络,可以使用终端工具连接其23端口进行操作,缺省用户名是root,没有密码。</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如需要传输文件,可以使用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上获取文件,主机需要有管理权限,可以在开始菜单中使用右键,选择&ldquo;命令提示符(管理员)(A)&rdquo;获得。</p>

<p>&nbsp;</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 &#39;/root/.wget-hsts&#39;. HSTS will be disabled.</p>

<p>提示该文件的权限过低,猜测是不让写?</p>

<p> &nbsp;</p>

<p>直接修改,又权限不足</p>

<p> &nbsp;</p>

<p>好在即使不用管这个,也能正常编译出所用的img文件。</p>

<p>2、python环境下的opencv怎么安装?</p>

<p>在k510的开发板中,内置了python3.8,但是基本没有装什么模块。</p>

<p> &nbsp;</p>

<p>看package目录,应该是能够支持opencv的,但尝试使用pip安装</p>

<p>pip install opencv-python</p>

<p>提示为numpy失败,</p>

<p>&nbsp; ERROR: Command errored out with exit status 2:</p>

<p>&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cwd: /root/data/tmp/numpy</p>

<p>&nbsp; Complete output (1 lines):</p>

<p>&nbsp; /usr/bin/python: can&#39;t open file &#39;/usr/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py&#39;: No such file or directory</p>

<p>&nbsp;</p>

<p>升级pip和setuptools</p>

<p>pip install --upgrade pip -i&nbsp; http://pypi.douban.com/simple/ --trusted-host pypi.douban.com</p>

<p>pip install --upgrade setuptools -i&nbsp; http://pypi.douban.com/simple/ --trusted-host pypi.douban.com</p>

<p>&nbsp;</p>

<p>再安装numpy</p>

<p>pip install numpy -i&nbsp; http://pypi.douban.com/simple/ --trusted-host pypi.douban.com</p>

<p>依然出错</p>

<p> &nbsp;</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>&nbsp;</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>&nbsp;</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,&amp;dis_fmtdesc)读取struct v4l2_fmtdesc dis_fmtdesc的信息则失败,原因不明</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>另外,里面设置ip地址那个截图似乎是我弄错了,地址设置和网关一样了,这肯定不正确。实际操作的时候,只要设置与网关同网段的地址都能成功ping通网关。</p>

lugl4313820 发表于 2022-10-9 09:35

<p>慢慢来吧,看来这个开发板还是有点磨练人的心呀。加油!</p>

shengqi123 发表于 2022-10-9 10:48

本帖最后由 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>&nbsp;</p>

<p>&nbsp; &nbsp; 对于K510使用可以参考考嘉楠官方GitHub文档入口:https://github.com/kendryte/k510_docs/blob/dev/zh/README.md<br />
&nbsp; &nbsp; 若有疑问可以发邮件至嘉楠技术支持邮件:ai_product@canaan-creative.com</p>

soso 发表于 2022-10-9 11:06

<p>看看原厂跟进进展,遇到问题随时联系:)</p>

alex逐幻 发表于 2022-10-9 11:47

<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>&nbsp;</p>

<p>然后。。。开机自启动的video进程要kill掉才行,有个自启动的DRM的摄像头</p>

shengqi123 发表于 2022-10-9 16:42

<p>&nbsp;</p>

<p>注意在板子上切换其他AI demo时候,先把默认启动的彩图回显的进程给kill掉,否则新起的AI demo会因访问资源冲突;如下图所示 &nbsp;</p>

tobot 发表于 2022-10-9 22:42

本帖最后由 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>

tobot 发表于 2022-10-9 22:56

<p>上图是使用百度图片搜索关键字&ldquo;脸&rdquo;得到的,照片中的男性是超人的扮演者亨利卡维尔。</p>

<p>事实上,也检测得出来,但感觉检测的概率和猫猫是差不多的。</p>

shengqi123 发表于 2022-10-10 16:21

tobot 发表于 2022-10-9 22:42
感谢alex逐幻感谢shengqi123,的确是资源冲突,关掉启动之后就可以使用脚本了。

但我这边检测成功率不咋 ...

<p>可以尝试把camera 稍微拉远一点,对着的画面里面人脸数减少一些 试试看&nbsp;</p>

tobot 发表于 2022-10-10 22:26

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 &#39;import sys, setuptools, tokenize; sys.argv = &#39;&quot;&#39;&quot;&#39;/tmp/pip-install-05wqnet2/numpy/setup.py&#39;&quot;&#39;&quot;&#39;; __file__=&#39;&quot;&#39;&quot;&#39;/tmp/pip-install-05wqnet2/numpy/setup.py&#39;&quot;&#39;&quot;&#39;;f=getattr(tokenize, &#39;&quot;&#39;&quot;&#39;open&#39;&quot;&#39;&quot;&#39;, open)(__file__);code=f.read().replace(&#39;&quot;&#39;&quot;&#39;\r\n&#39;&quot;&#39;&quot;&#39;, &#39;&quot;&#39;&quot;&#39;\n&#39;&quot;&#39;&quot;&#39;);f.close();exec(compile(code, __file__, &#39;&quot;&#39;&quot;&#39;exec&#39;&quot;&#39;&quot;&#39;))&#39; 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: &#39;/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/bin/riscv64-linux-gcc&#39;</p>

<p>这个似乎是在docker环境下的路径内容,不知道有没有办法直接在板上使用?</p>

<p>或者类似pycrytodomex之类的,在编译镜像文件的时候就把numpy和opencv安装进来?</p>

<p>&nbsp;</p>

shengqi123 发表于 2022-10-11 16:15

tobot 发表于 2022-10-10 22:26
关于第二个问题(无法安装opencv)我找到了原因,但暂时还没想到如何解决,不知道能否帮忙?

在使用pi ...

<p>可以按照下面步骤来一下:</p>

<p>&nbsp; sudo apt-get install python</p>

<p>&nbsp; 安装完毕之后,输入如下命令:sudo apt-get install python3-pip</p>

<p>&nbsp;然后: python3 -m pip install --upgrade pip</p>

<p>&nbsp;再执行如下命令: 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>

tobot 发表于 2022-10-11 22:43

shengqi123 发表于 2022-10-11 16:15
可以按照下面步骤来一下:

&nbsp; sudo apt-get install python

&nbsp; 安装完毕之后,输入如下命 ...

<p>生成的开发套件镜像中没有apt功能</p>

<p>直接下载用于开发的docker环境里面也没有sudo功能</p>

<p>另外,我查看了,在docker中的python模块版本和开发套件上的python模块版本并不一致。</p>

shengqi123 发表于 2022-10-12 16:12

tobot 发表于 2022-10-11 22:43
生成的开发套件镜像中没有apt功能

直接下载用于开发的docker环境里面也没有sudo功能

另外,我查看 ...

<p>再进入我们得dockers之前,先切换到sudo su root ,再进docker;</p>

tobot 发表于 2022-10-12 21:39

shengqi123 发表于 2022-10-12 16:12
再进入我们得dockers之前,先切换到sudo su root ,再进docker;

<p>是的,的确如此,但我希望的是在开发板里面安装opencv,而不是在docker环境中安装</p>

piazini 发表于 2023-1-28 14:27

<p>谢谢分享,期待后续!</p>
页: [1]
查看完整版本: 嘉楠-K510套件版本网络使用及目前碰到的困难