您尚未登录。

#1 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI移植涂鸦SDK,让推流不在是难题 » 2021-04-02 09:15:58

chenpeng1210 说:

谢谢回复,我用的是wpa_supplicant工具可以正常连上WIFI上网,现在如果不开WIFI只用网线连接的话没有问题,打开WIFI才会有上面的报错,用网线连网后用涂鸦APP可以预览到图像,但是感觉延迟有点大,至少有10秒左右;另外音频方面也有点问题,板子上的MIC录音传到手机上后说话时声音正常,没说话时就一直哒哒哒的响,手机上打开话筒说话传输到板子上播放只能听到偶尔嗞的一声,用的都是G711A音频格式,不知道这个视频延迟和声音异常问题有没有遇到过?

视频延迟这个需要确认本身所处网络情况,涂鸦本身服务器分配给你的服务器网络质量,音频的问题其实就是没有做降噪处理

#2 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI移植涂鸦SDK,让推流不在是难题 » 2021-03-31 10:52:15

chenpeng1210 说:

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连接命令工具这些没有安装吧

#3 Re: DOPI开源摄像头(HI3516/HI3518) » 询问hi3516ev200输入adv7180问题 » 2021-03-31 10:30:54

MPP内部对应的ADV7180驱动要自己加,模式要改,最新的MPP版本,DVP接口框架被弱化了,框架有些要自己加,这个错误可以明确是驱动那块没有调好

#4 Re: DOPI开源摄像头(HI3516/HI3518) » Dopi 开发框架项目计划 » 2021-03-22 09:10:26

得到大家的反馈,github最近被ban了,这里附上gitee地址:

https://gitee.com/cijliu/dopi

#5 DOPI开源摄像头(HI3516/HI3518) » Dopi 开发框架项目计划 » 2021-03-14 12:14:46

cijliu
回复: 3

从Dopi开源至今,已经快一年了,从大家的反馈中,意识到目前linux上的应用开发不像安卓有一个完整的生态,大家都是根据自身情况搭建自己的环境,相对灵活的开发也导致了新手入门的门槛,借助目前的硬件条件,个人觉得这是一种尝试,去实现一套linux应用开发的框架,于是3月初便开始构思,希望从SOC芯片的BSP开始,先实现BSP下uboot、kernel、文件系统等自动构建,然后抽象SOC上的媒体层,再到应用常用第三方库的整合,再到具体的应用案例。目前已经完成BSP自动构建,接下来对海思的媒体库进行封装,有兴趣的可以关注这个项目的进展:

项目地址: https://github.com/cijliu/dopi

#6 DOPI开源摄像头(HI3516/HI3518) » 开源RTSP协议库 » 2021-03-01 15:34:10

cijliu
回复: 10

Github: https://github.com/cijliu/librtsp

使用RTSP协议进行H264视频传输,具体使用示例可参考example内源码,欢迎star。

#7 Re: DOPI开源摄像头(HI3516/HI3518) » hi3516ev300 更换sensor ,sample_venc 报 get venc stream time out » 2020-12-10 11:41:00

驱动加载错误,应该是执行/ko/loadhi3516ev300这个文件,MIPI电压选择为1.8V

#8 DOPI开源摄像头(HI3516/HI3518) » 【Dopi EV200】Micropython 视觉版本固件 » 2020-12-10 10:05:21

cijliu
回复: 4

历史记录
v1.0.1版本更新说明:
* 新增Micropython摄像头模块,可便捷使用摄像头和编码器功能
* 新增SWAP虚拟内存,默认划分20MB作为虚拟内存使用
* 提供Micropython IDE使用,安装1.50.1以上版本的vscode,插件市场搜索dopi即可进行安装体验

* IDE界面
demo

* IDE使用演示
demo


更多的Micropyth视觉教程可访问Dopi官方文档 查阅
固件下载:
链接:https://pan.baidu.com/s/12cbI8qKt6VkTXYxEHRgvLw
提取码:dopi

#11 Re: DOPI开源摄像头(HI3516/HI3518) » hi35xx 能只编码一路vga分辨率的h264吗?摄像头是720p@30fps的。 » 2020-11-16 09:21:44

可以的,如果其他编码正常,说明程序哪里配置有问题导致超时

#12 Re: DOPI开源摄像头(HI3516/HI3518) » 海思的h264 流缓冲RTP打包,如何填充nal type ?都填0,gstreamer不认RTP包? » 2020-11-12 14:22:31

whyabc666 说:

海思的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分析工具,都是正常解析的

#13 Re: DOPI开源摄像头(HI3516/HI3518) » 海思的h264 流缓冲RTP打包,如何填充nal type ?都填0,gstreamer不认RTP包? » 2020-11-10 16:51:02

你怎么确定是不完整的nal包?海思也是按nal进行打包的,rtp库一般都有做nal包的文件头查询动作,所以不管你nal一包包传,还是一起传,都是可以识别的

#14 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-10-06 19:39:45

linyuu 说:

为什么telnetd开启不了
telnetd:applet not found

新的带包管理的默认没有telnetd服务,可以自己安装

#15 Re: DOPI开源摄像头(HI3516/HI3518) » 【Dopi】在HI3516EV200上使用V4L2采集摄像头数据 » 2020-09-23 09:35:34

使用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;
}

#16 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-09-22 21:44:37

woshi520laoxie 说:

我使用的摄像头是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

先用万用表确认线路是否连通

#17 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-09-22 21:43:40

you3700 说:

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

#18 DOPI开源摄像头(HI3516/HI3518) » 【Dopi】在HI3516EV200上使用V4L2采集摄像头数据 » 2020-09-18 21:42:47

cijliu
回复: 10

海思摄像头架构并不支持标准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中间件驱动

#20 Re: DOPI开源摄像头(HI3516/HI3518) » Hi3516EV200 UVC求助 » 2020-08-06 14:09:47

结贴,使用uvc参考海思sdk文档《外围设备驱动 操作指南》关于usb相关的操作,有详细操作过程,已有网友测试ok

#21 Re: DOPI开源摄像头(HI3516/HI3518) » 请问下,HiBurn烧写正常,但是启动板子无输出是怎么回事? » 2020-07-20 09:27:13

fovaffedde-6612 说:

你情况比我好多了。我这里烧录不进去,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移植指南》

#22 Re: DOPI开源摄像头(HI3516/HI3518) » 请问下,HiBurn烧写正常,但是启动板子无输出是怎么回事? » 2020-07-20 09:23:05

wonrowl 说:

根据这两天的调试发现,更换别人板子的spinorflash可以正常启动uboot,说明我的板子在硬件上没有问题,那个svb电路已经在dopi的板子上验证过了,可以省略,不影响系统启动,那么现在就是要么是dopi的spi nor固件有问题,要么就是hitool并没有真正的吧固件烧写到flash芯片里,虽然每次都提示烧写成功

首先,你烧写成功说明cpu已经正常运作,但是flash需要适配的,海思文档《基于Hifmcv100控制器的Flash移植指南》提供了适配流程,跟着走基本能调通

#23 Re: DOPI开源摄像头(HI3516/HI3518) » 【更新】Dopi EV200文件系统V1.0 发布,移植opkg包管理,移植软件不发愁~! » 2020-07-17 17:58:59

shaoxi2010 说:

话说不应该用alpine么,刚好这个系列也支持,apk的包管理也很方便。

是的,后面应该会把apt和opkg做到一起,方便找软件包资源

#24 Re: DOPI开源摄像头(HI3516/HI3518) » 请问下,HiBurn烧写正常,但是启动板子无输出是怎么回事? » 2020-07-17 15:12:24

fovaffedde-6612 说:

类似同一个问题,设备启动项是选择nor flash的,hitool烧录内存上面跑uboot没问题,但是启动的时候总是报错,指示芯片读nanoflash去了。pcb应该是按照官方sdk画的。某宝上面的开发板倒是可以正常烧录的运行,把烧录好的flash焊过去也没反应。
有没大佬指点一下?

这种你得先把对应的启动引脚配置给出来,不然别人根本不知道你板子的状态

#25 Re: DOPI开源摄像头(HI3516/HI3518) » 3516ev200 音频需要设置VB 缓冲区么? » 2020-07-13 14:40:03

音视频都在海思MPP架构里面,所以应该都是通用的一块内存块,只要调用MPP提供的接口函数问题不大

#26 DOPI开源摄像头(HI3516/HI3518) » 【更新】Dopi EV200文件系统V1.0 发布,移植opkg包管理,移植软件不发愁~! » 2020-07-12 17:16:36

cijliu
回复: 6

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
7e042f22469f58a3ccead77c4f92236.jpg

记得命令连接网络后,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

#27 Re: DOPI开源摄像头(HI3516/HI3518) » sample_hifb.c实例问题 » 2020-07-10 10:05:01

hifb是跑lcd rgb接口屏,你确定你接的屏幕是rgb接口?

#28 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-07-01 10:22:58

hbmcjxd 说:

有没有实例代码啊,我这屏上可以显示汉字,摄像头数据如何显示啊,有思路不

后面会出,最近比较忙没时间整理文档,你可以自己尝试下,获取VI的数据后得到YUV数据,然后转RGB565格式,输出到fbdev设备

#29 Re: DOPI开源摄像头(HI3516/HI3518) » Dopi上适配LVGL示例【附源码】 » 2020-06-24 20:46:05

群主大人 说:

楼主觉得移植qt如何?qt跨平台不说。,现在qt for mcu 受众更好吧

没有试过,你可以试试,记得分享:)

#30 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-24 20:43:54

billnie 说:

@cijliu 还有一个问题就是 esp8089 3.3v驱动, reboot再挂载驱动,不成功,可能是没有初始化

esp8089不支持软启动哈,所以你reboot后esp8089还是处于之前的状态没有切回来,目前只能靠断电重启解决哈,你的摄像头现象我之前出现过,就是因为线没有固定容易导致信号干扰,可以试试把线固定住,或者换短的线比较不会出现

#31 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-23 20:04:32

billnie 说:

sensor是哪个,看现象闪烁偏色是因为线没有接稳(不能晃动),mipi是差分信号,软排线因为不是双绞,多少会有影响

#32 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-23 16:56:56

billnie 说:

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: 309

v=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_demo

sip_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

#33 DOPI开源摄像头(HI3516/HI3518) » Dopi上适配LVGL示例【附源码】 » 2020-06-22 21:54:53

cijliu
回复: 3

移植了LVGL GUI到Dopi上
下载后解压
tar zxvf lvgl.tar.gz
cd lvgl_for_dopi
编译:
make
输出DopiDemo,运行后LCD显示一个按钮,移植完毕,大家可以再Dopi上开发LVGL GUI了,源码见附件

LVGL For Dopi源码下载

lvgl.jpg

#34 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-21 11:07:19

qianhao 说:

试了一下 提供的固件 网口联网好像有问题,麻烦确认一下

具体描述下操作过程,有线网口默认没有启动,需要自己启动,具体执行
ifconfig eth0 up
udhcpc -i eth0 &
然后获取到ip后执行ifconfig就能看见

#35 DOPI开源摄像头(HI3516/HI3518) » 在Dopi上实现二维码扫描【附源码】 » 2020-06-20 21:52:17

cijliu
回复: 17

Dopi 二维码扫码实现
测试应用使用:
./dopi_qr 图片.jpg
支持png,jpg图片识别
具体使用见附件,提供示例代码给大家,大家可以配合摄像头实现扫码枪XD
编译:
解压后,进入demo下直接make,生产的执行文件在output,测试图片在images

Dopi二维码库

#36 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-20 20:02:34

IC爬虫 说:

运行海思SDK 中vio例程,怎样可以看到输出的图像?

海思的vo需要适配海思的hifb,我们配的LCD是标准的linux framebuffer设备,所以要自己在获取摄像头数据后,自己做映射到fbdev上

#37 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 SDK 开源啦!快来下载 Q群 735884031 » 2020-06-20 10:07:33

kaixxss 说:

现在还能下单不

现在已经正式发售了,淘宝搜索dopi就能看见哈

#39 Re: 全志 SOC » 用HI3516EV200替代GK7102核心板 » 2020-06-17 15:11:08

fab1860 说:

我的需求是HI3516EV200+MIPI接口的imx307模组,支持rtsp流,希望有机会合作。

https://whycan.cn/t_4718.html 可以看看我们的开发板

#40 Re: DOPI开源摄像头(HI3516/HI3518) » 海思烧录工具Hitool使用方法 » 2020-06-14 22:05:50

iki1120 说:

不支持win10,liusbK死活装不上去

可以的,如果没有串口,通过update模式安装驱动,update模式超时会自动进入linux系统,所以,最好用串口直接进uboot输入usb devices启动usb设备来安装,后面就可以直接用usb烧写了

#41 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-14 21:47:40

关于海思HI3516EV200的SDK,官方有2个版本,一个是linux,一个是liteos,这里根据之前群友提供的sdk整理总结下,以防大家下载到错误的版本
linux sdk 版本为 Hi3516EV200R001C01SPC010:
链接:https://pan.baidu.com/s/1bJRVcm9DLD4RIL4zCzWMXA
提取码:702k

liteos sdk 版本为Hi3516EV200R002C05SPC010:
链接:https://pan.baidu.com/s/1LnN-E6ekdS1iryi3x89hNw
提取码:prkb

#42 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-14 21:40:41

IC爬虫 说:

dopi_rtsp 有提供源码?

暂时没有喔

#43 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI Hi3516EV200开发板玩转rtsp » 2020-06-13 16:08:11

WIFI下传RTSP不稳定,如果需要在WIFI下传视频,需要做以下修改:
1.更换wifi驱动文件 esp8089驱动
2.板子上CN2电压选择切换到3.3V

#44 DOPI开源摄像头(HI3516/HI3518) » 【无聊之作】给DOPI EV200 加点AI元素 » 2020-06-13 14:29:56

cijliu
回复: 2

在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
1-cmd.jpg
1.jpg





最后,附上程序:
Facedetect下载

#45 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI Hi3516EV200开发板玩转rtsp » 2020-06-13 08:20:10

如果摄像头使用的是gc2053的需要修改下启动脚本:
/etc/init.d/rcS

/ko/load3516ev200 -i -sensor imx307
替换为
/ko/load3516ev200 -i -sensor gc2053


/root/dopi_rtsp
替换为
/root/dopi_rtsp_gc

#46 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI Hi3516EV200开发板玩转rtsp » 2020-06-12 21:45:01

kingwho 说:

请问板子如果移植了ssh,通过这跟usb线能通过ssh登录吧。

可以,我们板子默认带telnet的,ssh也是同理可行的

#47 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 入手试验 » 2020-06-11 09:11:30

摄像头驱动也加载了哈,具体看启动脚本/etc/init.d/rcS

#48 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-10 13:41:45

dbskcnc 说:

就算安装了ssh也不行,vscode 不支持 ubuntu 12.04 作为remote linux

确实是 12.04太旧了,已经end of life, 好些Mirror也没有了

还是希望能更新到16.04,这样常用的软件都支持

docker pull cijliu/dopi-ubuntu16.04:v0.99
喜欢折腾的同学可以在这个上面迭代自己的环境,我们只提供最基础的docker镜像

#49 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-10 11:23:42

dbskcnc 说:

现在的docker是基于ubuntu 12.04的,太旧了,能不能更新下,用16.04, 否则vscode remote 都用不了, ref https://code.visualstudio.com/docs/remote/linux

你说的问题是因为我们的镜像没有安装ssh服务,你可以进容器里面先装下ssh服务再试试能不能连接

#50 DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 问题汇总 » 2020-06-10 09:34:30

cijliu
回复: 36

大家在玩耍过程中,遇到问题,如果群内未能及时回答,可以在这里留言~

#51 Re: DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 SDK 开源啦!快来下载 Q群 735884031 » 2020-06-09 09:10:04

伍零壹 说:


建立一个你这样的网站   http://www.dopi.vip/tutorial/               
需要怎么操作,大佬能不能教教

gitbook生成文档+nginx部署

#52 DOPI开源摄像头(HI3516/HI3518) » DOPI EV200 SDK 开源啦!快来下载 Q群 735884031 » 2020-06-08 09:07:01

cijliu
回复: 53

入坑指南: 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硬件:
1234.png

EV300硬件:
eV300_1.png
ev300_emmc.jpg
e.png

DV300硬件:
DV3001.jpg

DOPI开源交流群:735884031

致敬whycan网的朋友:

     群里人多了以后,慢慢变得活跃了,一些搞各种不正当行业的人就开始加群,例如:色**情**, 博***彩***等等,为了简单屏蔽这类人群,减轻负担,我们增加了问答加群:

问题是:海思ev200的完整型号
答案是:hi3516ev200

_20200713131055.png
    感谢whycan网友的支持

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn