project:cfg:BoardConfig_IPC: Added fastboot BoardConfig file and firmware post-scripts, distinguishing between the BoardConfigs for Luckfox Pico Pro and Luckfox Pico Max. project:app: Added fastboot_client and rk_smart_door for quick boot applications; updated rkipc app to adapt to the latest media library. media:samples: Added more usage examples. media:rockit: Fixed bugs; removed support for retrieving data frames from VPSS. media:isp: Updated rkaiq library and related tools to support connection to RKISP_Tuner. sysdrv:Makefile: Added support for compiling drv_ko on Luckfox Pico Ultra W using Ubuntu; added support for custom root filesystem. sysdrv:tools:board: Updated Buildroot optional mirror sources, updated some software versions, and stored device tree files and configuration files that undergo multiple modifications for U-Boot and kernel separately. sysdrv:source:mcu: Used RISC-V MCU SDK with RT-Thread system, mainly for initializing camera AE during quick boot. sysdrv:source:uboot: Added support for fastboot; added high baud rate DDR bin for serial firmware upgrades. sysdrv:source:kernel: Upgraded to version 5.10.160; increased NPU frequency for RV1106G3; added support for fastboot. Signed-off-by: luckfox-eng29 <eng29@luckfox.com> |
||
|---|---|---|
| .. | ||
| cmake | ||
| doc | ||
| ipcweb-env-arm | ||
| src | ||
| test | ||
| thirdparty | ||
| www-rkipc | ||
| .clang-format | ||
| .clang-tidy | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| AUTHORS | ||
| CMakeLists.txt | ||
| CODE_OF_CONDUCT.md | ||
| costdown-www-rkipc.sh | ||
| format.sh | ||
| LICENSE | ||
| mini-ipcweb-ng.rar | ||
| README.md | ||
| web-development-reference.pdf | ||
ipcweb-backend
A IP Camera Web Backend Reference Implementation
[TOC]
1. Getting Started
1.1 Build Requirements
ipcweb-backend is designed to run on Linux platform, especially the Linux platform of Rockchip's SoCs. It is cross compiled with the following environments:
-
Build Host: Ubuntu
-
Host Web Server: Any web server that supports CGI application, like Lighttpd, Nginx, Apache, AppWeb etc.
-
Build System: CMake >= 3.8
-
Compiler: GCC >= 6 or Clang
-
Host Libraries(To test APIs on host environments)
sudo apt install libboost-all-devsudo apt install libcgicc-devsudo apt install nlohmann-json-dev- jwt-cpp This library is not provided by system, it is build from souce
-
Target Libraries The target libraries should be provided by the Buildroot SDK, if them are not found, the CMake build system build them from source.
BR2_PACKAGE_BOOST=y BR2_PACKAGE_BOOST_LOG=y BR2_PACKAGE_BOOST_STACKTRACE=y BR2_PACKAGE_BOOST_SYSTEM=y BR2_PACKAGE_BOOST_THREAD=y BR2_PACKAGE_LIBCGICC BR2_PACKAGE_JSON_FOR_MODERN_CPP
1.2 Build Instructions
mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/linux-arm.cmake
make -j8
1.5 Unit Testing
This project use Google Test as test framework. Init the googletest submodule to use it.
git submodule init
git submodule update
Build and test
cmake .. -DIPCWEB_BUILD_TESTS
make
make test
The output is like:
Running tests...
Test project /work/www/ipcweb-backend/build
Start 1: ObjectsTest.Tcpip.noArgs
1/1 Test #1: ObjectsTest.Tcpip.noArgs ......... Passed 0.00 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) = 0.00 sec
1.4 CGI Testing
Start the web server to test CGI applications, suggest to use AppWeb.
appweb <path/of/web/root> <host>:<port>
Use tools like Postman to test the RESTful API
GET http://:/api/v1/hello.cgi?name=cody