小安派CAM-U 从零开始本地局域网查看视频监控

目录

1.前提条件

2.所需添加的宏定义,编译选项等

3.主要流程图(重点)

4.AP驱动

​编辑

4.USB主机初始化,mjpeg初始化

​编辑

4.http配置

​编辑

5.USB数据接收中断绑定回调函数

​编辑

6.USB获取得到的摄像头数据存放

​编辑

7.改为flash启动代码时,lwip发送不够快,导致阻塞,改为如下

​编辑8.移植烧录,实现在flash上跑代码,并且实现局域网查看监控


1.前提条件

        下载了安信可的CAM-U开源例程,下载好AIPI-CAM项目源码

        复制博流SDK的helloworld例程,作为初始的工程

2.所需添加的宏定义,编译选项等

2.1cmakelist.txt文件修改,添加所需的文件及宏定义,基本上就是添加关键的库文件,启动USB宏,取消PSRAM_CPOY_CODE

cmake_minimum_required(VERSION 3.15)

include(proj.conf)

find_package(bouffalo_sdk REQUIRED HINTS $ENV{BL_SDK_BASE})

sdk_add_include_directories(cjson)
sdk_add_include_directories(rtos/include .)
sdk_add_include_directories(video)
# sdk_add_include_directories(audio)
sdk_add_include_directories(web)

# User
#sdk_add_compile_definitions(-DCONFIG_CLI_CMD_ENABLE)
#sdk_add_compile_definitions(-DBL616_DHCP_DEBUG)
# sdk_add_compile_definitions(-DSIMU_DATA_TEST)
#sdk_add_compile_definitions(-DCONFIG_PSRAM_COPY_CODE)
sdk_add_compile_definitions(-DCONFIG_USB_EHCI_ISO)


target_sources(app PRIVATE
		Bsp_Camera.c
                Bsp_Gpio.c
		Bsp_Flash.c
		User_Tcp_Task.c
		User_Mqtt_Task.c
		cjson/cJSON.c
		Bsp_Global_Data.c
		   Bsp_Uart.c
    rtos/bl_cam_frame.c
    video/jpeg_head.c video/mjpeg.c video/dbi_disp.c video/pbuff_dvp.c
    # audio/auadc.c audio/audac.c
    web/mlwip_https.c
)

if(CONFIG_CHERRYUSB)
# add_subdirectory(${BL_SDK_BASE}/components/usb/usbh_uvc_uac usbh_uvc_uac)
# sdk_add_static_library(libusbh_uvc_uac.a libhibooster.a)
sdk_add_static_library(libusbh_uvc_uac.a)
target_sources(app PRIVATE 
video/usbh_uvc_callback.c 
# audio/usbh_uac_callback.c
)
endif()


sdk_set_main_file(main.c)

project(Demo)

2.2proj.conf文件修改,添加需要的宏,添加usb组件需要的宏

# Components
set(CONFIG_BFLOG 0)
set(CONFIG_FREERTOS 1)
set(CONFIG_POSIX 1)
set(CONFIG_TLSF 1)
set(CONFIG_SHELL 0)
set(CONFIG_LWIP 1)
set(CONFIG_WIFI6 1)
set(CONFIG_RF 1)
set(CONFIG_MBEDTLS 1)
set(CONFIG_PSRAM 1)
set(CONFIG_DHCPD 1)
set(CONFIG_PING 1)
# set(CONFIG_HIBOOSTER 1)
set(CONFIG_MQTT 		1)

# 默认DVP 摄像头,如果使用USB 摄像头,需要使用这个指令
set(CONFIG_CHERRYUSB 1)
set(CONFIG_CHERRYUSB_HOST 1)
set(CONFIG_CHERRYUSB_HOST_DEMO 1)

set(CONFIG_CHERRYUSB_DEVICE_VIDEO 1)

set(CONFIG_BSP_LCD 1)
set(CONFIG_BSP_IMAGE_SENSOR 1)

set(CONFIG_FATFS                1)
set(CONFIG_BSP_SDH_SDCARD       1)
set(CONFIG_FATFS_SDH_SDCARD     1)

# Config
## mbedtls
set(CONFIG_MBEDTLS_AES_USE_HW 0)
set(CONFIG_MBEDTLS_BIGNUM_USE_HW 0)
set(CONFIG_MBEDTLS_ECC_USE_HW 0)
set(CONFIG_MBEDTLS_SHA1_USE_HW 0)
set(CONFIG_MBEDTLS_SHA256_USE_HW 0)
set(CONFIG_MBEDTLS_SHA512_USE_HW 0)

# wifi
set(CONFIG_VIF_MAX 2)
set(CONFIG_STA_MAX 4)
set(CONFIG_MAC_TXQ_DEPTH 32)
set(CONFIG_MAC_RXQ_DEPTH 12)

2.3内存不足,修改板级文件的内存空间分配,创建bl616unit

        复制bl616dk文件夹,黏贴到board,并改名为其他名字

        修改bl616_flash.ld文件,增大nocache_ram_memory大小如图,在BL618参考手册可以内存地址映射,可以发现一些端倪

     

3.主要流程图(重点)

4.AP驱动

4.USB主机初始化,mjpeg初始化

        初始化usb_host,博流SDK使用的是cherryusb库,初始化mjpeg

4.http配置

5.USB数据接收中断绑定回调函数

6.USB获取得到的摄像头数据存放

7.改为flash启动代码时,lwip发送不够快,导致阻塞,改为如下

8.移植烧录,实现在flash上跑代码,并且实现局域网查看监控

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值