嘉楠-K510套件版本网络使用及目前碰到的困难
[复制链接]
长假一周,除了重装编译环境,把代码看了几千行,尝试了一下hdmi,似乎没有太大进展,对使用过程中的网络问题做一个小小总结吧。
一、编译环境
1、加速下载
如之前所述,编译环境很慢,需下载较长时间,使用代理会快一点,这个操作步骤在之前已经发过了,不再累述
2、github的解析
国内一些dns,会将github解析为127.0.0.1,导致搭建环境时文件下载失败,如下:
https://github.com/andestech/Andes-Development-Kit/releases/download/ast-v3_2_1-release-linux/nds64le-linux-glibc-v5d.txz
Connecting to github.com (github.com)|127.0.0.1|:443... failed: Connection refused.
Connecting to github.com (github.com)|::1|:443... failed: Cannot assign requested address.
这时可以手工指定dns为8.8.8.8或8.8.4.4,可以正常解析。
二、运行环境
1、wlan0
开发套件启动,可以看到
说明至少可以使用wpa_supplicant工具来配置无线网。
尝试使用wpa的命令行,发现无法连接p2p-dev-wlan0接口,如下:
不过好在可以直接使用wpa_supplicant调用conf文件。
首先修改/etc/wpa_supplicant.conf文件,
在network字段里面增加ssid和psk,同时将key_mgmt修改一下:
key_mgmt=WPA-PSK
执行wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf,似乎有点效果,有收发,但没有ipv4的地址。
手工指定ip地址,可以ping通网关。
使用udhcpc命令,可以自动获得ip地址。
将上述功能做成脚本
放在/etc/init.d目录下
再增加可执行属性
重启,看启动打印,似乎是执行了,但实际查看,并没有能正常获取ip地址,应该是init.d执行的顺序在初始化wifi芯片之前造成。
启动完成后,进入命令行环境执行这个脚本,是可用正常获取地址的:
三、远程管理和文件传输
K510内置了telnetd和ftpd功能,其中telnetd在启动后就已执行,只要开发板接入网络,可以使用终端工具连接其23端口进行操作,缺省用户名是root,没有密码。
如需要传输文件,可以使用ftpd功能。在板卡启动后的命令行里面执行:
udpsvd -vE 0.0.0.0 69 tftpd /app/test -c
其中/app/test是我用于测试的路径。
在于其相连的主机(电脑)中,可以使用
tftp -i 192.168.1.179 put cam_test
上传文件。
如果需要使用get方式从k510上获取文件,主机需要有管理权限,可以在开始菜单中使用右键,选择“命令提示符(管理员)(A)”获得。
PS:依然没搞定的几个问题:
1、编译环境下的su权限怎么获得?
提示:
Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
ERROR: could not open HSTS store at '/root/.wget-hsts'. HSTS will be disabled.
提示该文件的权限过低,猜测是不让写?
直接修改,又权限不足
好在即使不用管这个,也能正常编译出所用的img文件。
2、python环境下的opencv怎么安装?
在k510的开发板中,内置了python3.8,但是基本没有装什么模块。
看package目录,应该是能够支持opencv的,但尝试使用pip安装
pip install opencv-python
提示为numpy失败,
ERROR: Command errored out with exit status 2:
command: /usr/bin/python /usr/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpluane2ch
cwd: /root/data/tmp/numpy
Complete output (1 lines):
/usr/bin/python: can't open file '/usr/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py': [Errno 2] No such file or directory
升级pip和setuptools
pip install --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install --upgrade setuptools -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
再安装numpy
pip install numpy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
依然出错
原因是
RuntimeError: Broken toolchain: cannot link a simple C program.
怀疑是和python3.8不匹配,降低numpy的版本
pip install numpy==1.21.2
错误变成
RuntimeError: Running cythonize failed!
这个错误即使在使用了pip install cython安装cython后仍然不能消除。
3、ai的demo怎么用?
尝试了演示视频里面的几个demo,有些没有编译在ai目录下,使用find / -name vtubor.sh也没查找到。
能查找到的脚本也都执行失败,如下。
media_setup_link: Unable to setup link (Device or resource busy)
error: unable to reset links.
mediactl_init error: unable to setup pipeline
4、摄像头怎么使用
在/dev路径下有video0~video9共10个摄像头,但是在K510的开发套件上实际只看的了两个。尝试编写了一段代码分别读取这10个摄像头的信息,可以看到,
在struct v4l2_capability cap中,cap.card各不相同,其它基本相同,其中cap.capabilities的值为84200003,意味着可以截取图片或一段视频。
但尝试使用ioctl(fd,VIDIOC_ENUM_FMT,&dis_fmtdesc)读取struct v4l2_fmtdesc dis_fmtdesc的信息则失败,原因不明
另外,里面设置ip地址那个截图似乎是我弄错了,地址设置和网关一样了,这肯定不正确。实际操作的时候,只要设置与网关同网段的地址都能成功ping通网关。
|