页次: 1
谢谢回复,我用的是wpa_supplicant工具可以正常连上WIFI上网,现在如果不开WIFI只用网线连接的话没有问题,打开WIFI才会有上面的报错,用网线连网后用涂鸦APP可以预览到图像,但是感觉延迟有点大,至少有10秒左右;另外音频方面也有点问题,板子上的MIC录音传到手机上后说话时声音正常,没说话时就一直哒哒哒的响,手机上打开话筒说话传输到板子上播放只能听到偶尔嗞的一声,用的都是G711A音频格式,不知道这个视频延迟和声音异常问题有没有遇到过?
视频延迟这个需要确认本身所处网络情况,涂鸦本身服务器分配给你的服务器网络质量,音频的问题其实就是没有做降噪处理
LZ你好,我这里按您上面的步骤导入后打开报下面的错误,能帮忙看下是什么问题吗?谢谢
[03-29 13:46:57-- TUYA Debug][smart_frame.c:901] Start To Sync Dev:6c778aea2b33876cfeo8ax
[03-29 13:46:57-- TUYA Debug][smart_frame.c:1803] Pack local dp values reset_flow_ctl:1
[03-29 13:46:57-- TUYA Debug][smart_frame.c:1877] Nothing To Pack
[03-29 13:46:57-- TUYA Debug][smart_frame.c:929] Sync Finish
sh: iwconfig: not found
00:01:15 ERROR src/tuya_rtc.c:3752: create worker thread failed, errno = 11, errstr = Resource temporarily unavailable
./sample_sdk: src/tuya_rtc.c: 3754: ctx_init_worker_thread: Assertion `ret == 0' failed.
Aborted
sh: iwconfig: not found
wifi连接命令工具这些没有安装吧
得到大家的反馈,github最近被ban了,这里附上gitee地址:
从Dopi开源至今,已经快一年了,从大家的反馈中,意识到目前linux上的应用开发不像安卓有一个完整的生态,大家都是根据自身情况搭建自己的环境,相对灵活的开发也导致了新手入门的门槛,借助目前的硬件条件,个人觉得这是一种尝试,去实现一套linux应用开发的框架,于是3月初便开始构思,希望从SOC芯片的BSP开始,先实现BSP下uboot、kernel、文件系统等自动构建,然后抽象SOC上的媒体层,再到应用常用第三方库的整合,再到具体的应用案例。目前已经完成BSP自动构建,接下来对海思的媒体库进行封装,有兴趣的可以关注这个项目的进展:
Github: https://github.com/cijliu/librtsp
使用RTSP协议进行H264视频传输,具体使用示例可参考example内源码,欢迎star。
历史记录
v1.0.1版本更新说明:
* 新增Micropython摄像头模块,可便捷使用摄像头和编码器功能
* 新增SWAP虚拟内存,默认划分20MB作为虚拟内存使用
* 提供Micropython IDE使用,安装1.50.1以上版本的vscode,插件市场搜索dopi即可进行安装体验
* IDE界面
* IDE使用演示
更多的Micropyth视觉教程可访问Dopi官方文档 查阅
固件下载:
链接:https://pan.baidu.com/s/12cbI8qKt6VkTXYxEHRgvLw
提取码:dopi
海思的h264Pstream中的每个pstpack都有00000001,有的是4包短的,nal unit type是67,68,06,65;有的是长包,nal unit type是61?打包是00000001也要作为payload,不是网上有人说的是nal unit type后的才放到payload。nal unit type是每个包的第五个字节&0x1f?,但是这样gstreamer她娘的还是不认,VLC还是认的。自己写gst的avdec_h264?rtph264deplay处理后的h264有些地方有bug?短包有问题? 找规律,08 ,10,18,20,28,30,38…………似乎是61e0后的还带序列号……
你可以去看下gstreamer怎么解析的,我用其他h264分析工具,都是正常解析的
使用V4L2接口保存一帧YUV图像开发示例
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/videodev2.h>
#include <string.h>
#include <sys/mman.h>
#include <assert.h>
#include <poll.h>
#include <errno.h>
#include <stdlib.h>
#define VIDEO_NAME "/dev/video0"
struct videobuffer{
unsigned int length;
void* start;
};
int main()
{
//open video
int dev = open(VIDEO_NAME, O_RDWR | O_NONBLOCK, 0);
if(dev <0 ){
printf("open video0 fail.\n");
return -1;
}
//query capability
struct v4l2_capability cap;
ioctl(dev, VIDIOC_QUERYCAP, &cap);
printf("--------------capability------------------\n");
printf("driver:%s \ncard:%s \ncapabilities:%x\n",cap.driver,cap.card,cap.capabilities);
//set and get format
struct v4l2_fmtdesc fmtdesc;
int ret;
int i;
memset(&fmtdesc, 0, sizeof(fmtdesc));
fmtdesc.index = 0;
fmtdesc.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
printf("-------------VIDIOC_ENUM_FMT--------------\n");
while((ioctl(dev, VIDIOC_ENUM_FMT, &fmtdesc)) != -1)
{
printf("index:%d \npixelformat:%c%c%c%c \ndescription:%s\n",fmtdesc.index, fmtdesc.pixelformat&0xff,(fmtdesc.pixelformat>>8)&0xff,(fmtdesc.pixelformat>>16)&0xff,
(fmtdesc.pixelformat>>24)&0xff,fmtdesc.description);
fmtdesc.index++;
}
int width = 320, height = 240;
struct v4l2_format format;
format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
format.fmt.pix.width = width;
format.fmt.pix.height = height;
format.fmt.pix.pixelformat = V4L2_PIX_FMT_YUV420; // 设置为yuyv格式数据
format.fmt.pix.field = V4L2_FIELD_INTERLACED;
ret = ioctl(dev, VIDIOC_S_FMT, &format);
if(ret < 0){
printf("VIDIOC_S_FMT fail\n");
return -1;
}
memset(&format, 0, sizeof(format));
format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
ret = ioctl(dev, VIDIOC_G_FMT, &format);
if(ret < 0)
{
printf("VIDIOC_G_FMT fail\n");
return -1;
}
printf("-----------------VIDIOC_G_FMT----------------------\n");
printf("width:%d \nheight:%d \ntype:%x pixelformat:%c%c%c%c\n",format.fmt.pix.width,format.fmt.pix.height,
format.type,format.fmt.pix.pixelformat&0xff,(format.fmt.pix.pixelformat>>8)&0xff,(format.fmt.pix.pixelformat>>16)&0xff,
(format.fmt.pix.pixelformat>>24)&0xff);
//init mmap
struct videobuffer framebuf;
struct v4l2_requestbuffers reqbuf;
reqbuf.count = 1;
reqbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
reqbuf.memory = V4L2_MEMORY_MMAP;
ret = ioctl(dev, VIDIOC_REQBUFS, &reqbuf);
if(0 != ret){
printf("VIDIOC_REQBUFS fail\n");
return -1;
}
//v4l2_buffer
printf("----------------mmap----------------\n");
struct v4l2_buffer buf;
memset(&buf, 0, sizeof(buf));
buf.index = 1;
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
ret = ioctl(dev, VIDIOC_QUERYBUF, &buf);
framebuf.length = buf.length;
framebuf.start = mmap(NULL, buf.length, PROT_READ|PROT_WRITE,
MAP_SHARED, dev, buf.m.offset);
if(framebuf.start == MAP_FAILED){
perror("mmap fail.\n");
return -1;
}
printf("start:%p length:%d\n",framebuf.start,framebuf.length);
for(i=0;i < 1; i++){
memset(&buf, 0, sizeof(buf));
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
buf.index = i;
ret = ioctl(dev, VIDIOC_QBUF, &buf);
if(0 != ret){
perror("VIDIOC_QBUF fail.\n");
return -1;
}
}
enum v4l2_buf_type type;
type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
ret = ioctl(dev, VIDIOC_STREAMON, &type);
//usleep(500000);
struct pollfd pollfd;
for(;;i++){
memset(&pollfd, 0, sizeof(pollfd));
pollfd.fd = dev;
pollfd.events = POLLIN;
ret = poll(&pollfd, 1, 800);
printf("poll %d i=%d\n",pollfd.revents, i);
if(-1 == ret){
perror("VIDIOC_QBUF fail.\n");
return -1;
}else if(0 == ret){
printf("poll time out\n");
continue;
}
break;
}
//printf("-------------poll success---------------\n");
// static struct v4l2_buffer buf;
if(pollfd.revents & POLLIN){
memset(&buf, 0, sizeof(buf));
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
ret = ioctl(dev, VIDIOC_DQBUF, &buf);
if(0 != ret){
perror("VIDIOC_QBUF fail.\n");
return -1;
}
}
printf("-------------capture success---------------\n");
FILE *fp = fopen("./yuv.yuv", "wb+");
loff_t pos = 0;
fwrite((char*)framebuf.start, 1, buf.length, fp);
fclose(fp);
close(dev);
return 0;
}
我使用的摄像头是imx307
但是启动的过程中一直报这个错误
...
[Func]:imx307_2l_write_register [Line]:140 [Info]:I2C_WRITE error!hibvt-i2c 12060000.i2c: wait idle timeout, RIS: 0x10, SR: 0xa0000
...
[VENC_GetVencStreamProc]-1048: HI_MPI_VENC_QueryStatus chn[1] failed with 0xa0088005!
...看了接线:
CH1 CH2 CH6 原理图都是使用1.8v 所以我接的也是1.8v
先用万用表确认线路是否连通
3516ev200刚到货正在学习,有个问题请教,为什么我的WiFi装上以后只能ping通网关,ping不通其它地址,也ping不通自己?
wlan0 Link encap:Ethernet HWaddr 18:FE:34:09:B4:65 inet addr:192.168.3.35 Bcast:192.168.3.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:910 errors:0 dropped:703 overruns:0 frame:0 TX packets:2013 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:99029 (96.7 KiB) TX bytes:413628 (403.9 KiB) # ping 192.168.3.1 PING 192.168.3.1 (192.168.3.1): 56 data bytes 64 bytes from 192.168.3.1: seq=0 ttl=64 time=2.226 ms 64 bytes from 192.168.3.1: seq=1 ttl=64 time=1.595 ms 64 bytes from 192.168.3.1: seq=2 ttl=64 time=1.405 ms ^C --- 192.168.3.1 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 1.405/1.742/2.226 ms # ping 192.168.3.35 PING 192.168.3.35 (192.168.3.35): 56 data bytes ^C --- 192.168.3.35 ping statistics --- 5 packets transmitted, 0 packets received, 100% packet loss #
lo回环设备没有开启, ifconfig -a看下有个lo设备,打开就可以ifconfig lo up
海思摄像头架构并不支持标准Linux的V4L2架构,这对摄像头应用十分不友好,MPP学习曲线较为陡峭,为了大家能够方便获取摄像头数据,编写了为了兼容海思摄像头的V4L2驱动和中间件程序(暂时只支持开发板上的显示屏320x240像素),加载后就可以正常使用V4L2进行摄像头应用开发。
在使用出厂固件环境下进行如下操作
#hisilicon media driver
cd /ko && ./load3516ev200 -i -sensor imx307
#spi lcd driver
insmod /lib/modules/4.9.37/fb_ili9341.ko
modprobe fbtft_device name=ilitek,ili9341 gpios=reset:40,dc:70 busnum=0 mode=0 rotate=90
#v4l2
cd -
insmod hi3516ev200_v4l2.ko
./hi3516ev200_dopi_media /dev/video0 &
./app
最终,V4L2测试程序将会把摄像头数据呈现在LCD屏幕上
附件:
Dopi V4L2中间件驱动
本帖收集整理一些网友发的帖子,方便大家查找,节约时间,不定期更新~
讨论群:
DOPI 讨论群进入方法
DOPI 使用过程有问题可在此提出
硬件相关:
DOPI EV200 PCB原理图资料
海思引脚复用查看人性化工具
DOPI EV200配件的正确接线组装教程
DOPI EV200系统启动模式说明
系统相关:
HI3516EV200海思SDK下载
海思HITOOL芯片烧写工具使用教程
在DOPI EV200上跑RTT系统
在DOPI EV200上跑V4L2摄像头应用
应用相关:
在DOPI EV200进行LVGL GUI开发
在DOPI EV200使用RTSP
在DOPI EV200使用二维码扫描
DOPI EV200 USB摄像头UVC教程
你情况比我好多了。我这里烧录不进去,uboot只有在内存可以运行。另外nor flash在店家的板子是可以用的。
hitool 先烧录boot到内存的,然后运行,读取flash(就卡这里),然后再烧录到spinorflash的(flash型号其实都可以识别,就是上电启动是去读nano flash,)。
另外两个关键启动引脚都是对的,
SFC_DEVICE_MODE SFC_BOOT_MODE FUNCTION
0 0 SPI NOR FLASH 3 BYTE MODE(default)
1 4 BYTE MODE
1 0 SPI NAND FLASH 1 I/O BOOT MODE
1 4 I/O BOOT MODE这边也是根据SDK删减的板子,都不知道哪里问题
你的问题也跟楼上是差不多的,uboot能烧写到内存运行,就是说明cpu在工作了,剩下就是适配flash 的问题,一样参考海思文档《基于Hifmcv100控制器的Flash移植指南》
opkg简介
Opkg 是一个轻量快速的套件管理系统,目前已成为 Opensource 界嵌入式系统标准。常用于路由、交换机等嵌入式设备中,用来管理软件包的安装升级与下载。
常用命令
opkg update 更新可以获取的软件包列表
opkg upgrade 对已经安装的软件包升级
opkg list 获取软件列表
opkg find 查找软件包
opkg install 安装指定的软件包
opkg remove 卸载已经安装的指定的软件包
硬件连接
DOPI EV200连接串口,TypeC供电,连接有线网络,WiFi网络,或者使用RNDIS usb网卡。
注意:默认的有线网络配置了一个192.168.117.x的地址,记得修改 /etc/init.d/rcS
记得命令连接网络后,ping测试下
~ # ping www.dopi.vip
PING www.dopi.vip (47.93.115.122): 56 data bytes
64 bytes from 47.93.115.122: seq=1 ttl=52 time=40.319 ms
64 bytes from 47.93.115.122: seq=3 ttl=52 time=40.004 ms
64 bytes from 47.93.115.122: seq=5 ttl=52 time=40.046 ms
64 bytes from 47.93.115.122: seq=6 ttl=52 time=40.009 ms
64 bytes from 47.93.115.122: seq=7 ttl=52 time=40.344 ms
64 bytes from 47.93.115.122: seq=8 ttl=52 time=39.530 ms
64 bytes from 47.93.115.122: seq=9 ttl=52 time=39.937 ms
64 bytes from 47.93.115.122: seq=10 ttl=52 time=39.939 ms
更新opkg和安装libc库
1. 烧写Dopi v1.0版本文件系统
使用HiTool工具烧写文件系统最新的文件系统`yaffs2-dopi-128M-v1.0.img`,访问www.dopi.vip进行下载`yaffs2-dopi-128M-v1.0.img
Dopi V1.0文件系统下载
2. 安装libc库
默认opkg缺乏libc库,在使用包管理之前需要先安装,确认网络可以ping通后
(1). opkg update
~ # opkg update
Downloading http://mirrors.ustc.edu.cn/lede/releases/19.07.3/targets/mediatek/mt7623/packages/Packages.gz.
Updated source 'release'.
Downloading http://mirrors.ustc.edu.cn/lede/releases/packages-19.07/arm_cortex-a7_neon-vfpv4/base/Packages.gz.
Updated source 'base'.
Downloading http://mirrors.ustc.edu.cn/lede/releases/packages-19.07/arm_cortex-a7_neon-vfpv4/packages/Packages.gz.
Updated source 'packages'.
~ #
(2). 下载 libc_1.1.24-2_arm_cortex-a7_neon-vfpv4.ipk
wget http://mirrors.ustc.edu.cn/lede/releases/19.07.3/targets/mediatek/mt7623/packages/libc_1.1.24-2_arm_cortex-a7_neon-vfpv4.ipk
~ # wget http://mirrors.ustc.edu.cn/lede/releases/19.07.3/targets/mediatek/mt7623/packages/libc_1.1.24-2_arm_cortex-a7_neon-vfpv4.ipk
Connecting to mirrors.ustc.edu.cn (202.141.176.110:80)
saving to 'libc_1.1.24-2_arm_cortex-a7_neon-vfpv4.ipk'
libc_1.1.24-2_arm_co 100% |********************************| 231k 0:00:00 ETA
'libc_1.1.24-2_arm_cortex-a7_neon-vfpv4.ipk' saved
(3).安装 libc_1.1.24-2_arm_cortex-a7_neon-vfpv4.ipk
opkg install --force-checksum libc_1.1.24-2_arm_cortex-a7_neon-vfpv4.ipk
~ # opkg install --force-checksum libc_1.1.24-2_arm_cortex-a7_neon-vfpv4.ipk
Ignoring preferred package libc 1.1.24 due to held package libc 1.1.24.
Installing libgcc1 (7.5.0) on root.
Downloading http://mirrors.ustc.edu.cn/lede/releases/19.07.3/targets/mediatek/mt7623/packages/libgcc1_7.5.0-2_arm_cortex-a7_neon-vfpv4.ipk.
Installing libc (1.1.24) on root.
Configuring libgcc1.
Configuring libc.
这样就完成libc安装,在libc基础上,我们可以安装其他软件包,这里以lua为例子进行演示
安装第三方软件
例如安装lua
opkag update #先更新软件源
opkg find lua #如果存在lua软件包会显示出来
opkg install --force-checksum lua #开始安装,--force-checksum为了跳过校验,这里使用openwrt的软件源,校验有问题,但是能成功安装,所以直接强制不进行校验
最终显示安装成功,测试效果如下
~ # opkg install --force-checksum lua
Installing liblua5.1.5 (5.1.5) on root.
Installing lua (5.1.5) on root.
Configuring liblua5.1.5.
Configuring lua.
~ # vi lua_test.lua
~ # lua lua_test.lua
Hello World!
~ #
其他的软件包安装大致过程是一样的,有了opkg就不需要为移植软件而发愁了XD
sensor是哪个,看现象闪烁偏色是因为线没有接稳(不能晃动),mipi是差分信号,软排线因为不是双绞,多少会有影响
wifi 一会儿就断开了
# ./dopi_rtsp
Dopi RTSP Demo
[INFO rtsp_demo.c:281:rtsp_new_demo] rtsp server demo starting on port 554
[DEBUG rtsp_demo.c:481:rtsp_new_session] add session path: /live.sdp
[SAMPLE_COMM_VI_GetMipiLaneMode]-1779: support this chip 3516e200
[SAMPLE_COMM_VI_GetMipiLaneMode]-1779: support this chip 3516e200
[SAMPLE_COMM_VI_SetMipiAttr]-1985: ============= MipiDev 0, SetMipiAttr enWDRMode: 0
linear mode
==============================================================
=====Sony imx307_2l sensor 1080P30fps(MIPI) init success!=====
==============================================================
please press twice ENTER to exit rtsp
[SAMPLE_COMM_ISP_Thread]-359: ISP Dev 0 running !
[DEBUG utils.c:160:rtsp_codec_data_parse_from_user_h264] sps 15
[DEBUG utils.c:168:rtsp_codec_data_parse_from_user_h264] pps 4
sip_rx first read err -84 244
rccsip_rx_pkt_process seq mismatch! got 1112, expect 1111++++++++++++++++show rbuf+++++++++++++++
0x01, 0x00, 0xf4, 0x00, 0x00, 0x40, 0x0f, 0x00, 0x58, 0x04, 0x00, 0x00, 0x2c, 0x10, 0xde, 0xf0
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xa7, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff++++++++++++++++++++++++++++++++++++++++
ESSERT:drivers/net/wireless/esp8089/esp_sip.c 424
rcr[INFO rtsp_demo.c:409:rtsp_new_client_connection] new rtsp client 192.168.1.111:50352 comming
[DEBUG rtsp_msg.c:865:rtsp_msg_parse_from_array]
OPTIONS rtsp://192.168.1.113:554/live.sdp RTSP/1.0
CSeq: 2
User-Agent: LibVLC/3.0.10 (LIVE555 Streaming Media v2016.11.28)[DEBUG rtsp_demo.c:712:rtsp_handle_OPTIONS]
[DEBUG rtsp_msg.c:998:rtsp_msg_build_to_array]
RTSP/1.0 200 OK
CSeq: 2
Date: Thu Jan 1 00:01:30 1970
Public: OPTIONS, DESCRIBE, SETUP, PLAY, PAUSE, TEARDOWN
Server: rtsp_demo[DEBUG rtsp_msg.c:865:rtsp_msg_parse_from_array]
DESCRIBE rtsp://192.168.1.113:554/live.sdp RTSP/1.0
CSeq: 3
User-Agent: LibVLC/3.0.10 (LIVE555 Streaming Media v2016.11.28)
Accept: application/sdp[DEBUG rtsp_demo.c:733:rtsp_handle_DESCRIBE]
[DEBUG rtsp_msg.c:998:rtsp_msg_build_to_array]
RTSP/1.0 200 OK
CSeq: 3
Date: Thu Jan 1 00:01:30 1970
Server: rtsp_demo
Content-Type: application/sdp
Content-Length: 309v=0
o=- 0 0 IN IP4 0.0.0.0
s=rtsp_demo
t=0 0
a=control:rtsp://192.168.1.113:554/live.sdp
a=range:npt=0-
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0IAH5Y1QKALdNwEBAQI,aM4xsg==
a=control:rtsp://192.168.1.113:554/live.sdp/track1
[DEBUG rtsp_msg.c:865:rtsp_msg_parse_from_array]
SETUP rtsp://192.168.1.113:554/live.sdp/track1 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/3.0.10 (LIVE555 Streaming Media v2016.11.28)
Transport: RTP/AVP;unicast;client_port=64712-64713[DEBUG rtsp_demo.c:937:rtsp_handle_SETUP]
[INFO rtsp_demo.c:894:rtsp_new_rtp_connection] new rtp over udp for video ssrc:22345678 local_port:49152-49153 peer_addr:192.168.1.111 peer_port:64712-64713
[DEBUG rtsp_msg.c:998:rtsp_msg_build_to_array]
RTSP/1.0 200 OK
CSeq: 4
Date: Thu Jan 1 00:01:30 1970
Session: 12345678
Transport: RTP/AVP;ssrc=22345678;unicast;client_port=64712-64713;server_port=49152-49153
Server: rtsp_demo[DEBUG rtsp_msg.c:865:rtsp_msg_parse_from_array]
PLAY rtsp://192.168.1.113:554/live.sdp RTSP/1.0
CSeq: 5
User-Agent: LibVLC/3.0.10 (LIVE555 Streaming Media v2016.11.28)
Session: 12345678
Range: npt=0.000-[DEBUG rtsp_demo.c:1024:rtsp_handle_PLAY]
[DEBUG rtsp_msg.c:998:rtsp_msg_build_to_array]
RTSP/1.0 200 OK
CSeq: 5
Date: Thu Jan 1 00:01:30 1970
Session: 12345678
Server: rtsp_demosip_rx first read err -84 12
rccsip_rx_pkt_process seq mismatch! got 1560, expect 1559++++++++++++++++show rbuf+++++++++++++++
0x00, 0x05, 0x0c, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x18, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00++++++++++++++++++++++++++++++++++++++++
ESSERT:drivers/net/wireless/esp8089/esp_sip.c 424
sip_txq_process recalc credits!
rcrwlan0: deauthenticating from b0:95:8e:21:0a:b1 by local choice (Reason: 3=DEAUTH_LEAVING)
mmc1: card 0001 removed
mmc1: queuing unknown CIS tuple 0x01 (3 bytes)
mmc1: queuing unknown CIS tuple 0x1a (5 bytes)
mmc1: queuing unknown CIS tuple 0x1b (8 bytes)
mmc1: queuing unknown CIS tuple 0x80 (1 bytes)
mmc1: queuing unknown CIS tuple 0x81 (1 bytes)
mmc1: queuing unknown CIS tuple 0x82 (1 bytes)
mmc1: new SDIO card at address 0001
mmc1: Timeout waiting for hardware interrupt.
sdhci: =========== REGISTER DUMP (mmc1)===========
sdhci: Sys addr: 0x00000001 | Version: 0x00000005
sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
sdhci: Argument: 0x97ee0000 | Trn mode: 0x00000003
sdhci: Present: 0x03e700f6 | Host ctl: 0x00000013
sdhci: Power: 0x0000000d | Blk gap: 0x00000000
sdhci: Wake-up: 0x00000020 | Clock: 0x0000000f
sdhci: Timeout: 0x0000000e | Int stat: 0x00000000
sdhci: Int enab: 0x03ff008b | Sig enab: 0x03ff008b
sdhci: ACMD err: 0x00000000 | Slot int: 0x00000000
sdhci: Caps: 0x276dc881 | Caps_1: 0x08002077
sdhci: Cmd: 0x0000353a | Max curr: 0x00000000
sdhci: Host ctl2: 0x00000080
sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x41827208
sdhci: ===========================================
sip_write_memory send buffer failed
esp_download_fw Failed to write fw, err: -110
download firmware failed
esp_init_all failed: -110
first error exit
sip_detach wrong state 1
mmc1: card 0001 removed
WIFI下传RTSP不稳定,如果需要在WIFI下传视频,需要做以下修改:
1.更换wifi驱动文件 esp8089驱动
2.板子上CN2电压选择切换到3.3V
移植了LVGL GUI到Dopi上
下载后解压
tar zxvf lvgl.tar.gz
cd lvgl_for_dopi
编译:
make
输出DopiDemo,运行后LCD显示一个按钮,移植完毕,大家可以再Dopi上开发LVGL GUI了,源码见附件
我的需求是HI3516EV200+MIPI接口的imx307模组,支持rtsp流,希望有机会合作。
https://whycan.cn/t_4718.html 可以看看我们的开发板
在Dopi上跑人脸检测算法,不得不说算法跑起来还是挺吃CPU的,QVGA像素就耗时挺久的,拿来自嗨还是不错的XD
只支持BMP格式的图片,为什么?BMP图像是未压缩的,其他格式还要解码,emmm,总结就是:懒~
这个应用拿来学习和自(chui)嗨(niu)的,切勿用在非法途径
使用方式
Usage:
./facedetect [bmp file path]
比如
./facedetect 0.bmp
运行结束,输出一张图片result.bmp,带屏幕的话,检测结果会自动刷到屏幕,仅支持输入320x240 24bit的BMP图片喔
如果运行不起来可能是文件没有运行权限,添加下
chmod +x ./facedetect
剩下的自己传些图片玩玩,识别率一般般,检测不到人脸别来找我ORZ,喜欢自嗨的可以拿去happy
最后,附上程序:
Facedetect下载
现在的docker是基于ubuntu 12.04的,太旧了,能不能更新下,用16.04, 否则vscode remote 都用不了, ref https://code.visualstudio.com/docs/remote/linux
你说的问题是因为我们的镜像没有安装ssh服务,你可以进容器里面先装下ssh服务再试试能不能连接
gitbook生成文档+nginx部署
入坑指南: http://wiki.dopi.vip
uboot源码: https://github.com/cijliu/uboot
linux源码: https://github.com/cijliu/linux
rootfs文件系统: https://github.com/cijliu/rootfs
为了方便大家下载,提供码云地址:
uboot源码: https://gitee.com/cijliu/uboot
linux源码: https://gitee.com/cijliu/linux
rootfs文件系统: https://gitee.com/cijliu/rootfs
Dopi入门文档:http://doc.dopi.vip/docs/first/ev2000
EV200硬件:
EV300硬件:
DV300硬件:
DOPI开源交流群:735884031
致敬whycan网的朋友:
群里人多了以后,慢慢变得活跃了,一些搞各种不正当行业的人就开始加群,例如:色**情**, 博***彩***等等,为了简单屏蔽这类人群,减轻负担,我们增加了问答加群:
问题是:海思ev200的完整型号
答案是:hi3516ev200
感谢whycan网友的支持
页次: 1