樹莓派3B+ 運行大疆 DJI PSDK2.1.0
開發前準備:
1.申請PSDK ID與KEY
申請鏈接:https://developer.dji.com/payload-sdk/apply/
2.申請通過后可以在用戶中心中下載PSDK2.1.0的開發包
二、對PSDK2.1.0進行適配
1.下載安裝包,并解壓
unzip Payload_SDK_V2.1.0.zip
大家可以看下文件架構
doc/psdk_other_docs/psdk_code_style: Template files described code style of Payload SDK.
doc/simple_model: Some structural models of Skyport 1/Skyport 2/X-Port and aircraft. The structure models provide convenience for users to design payload structure.
psdk_lib/api_headers: Header files of Payload SDK, describing all API of Payload SDK. Users can understand features provided by Payload SDK and its usages relying on the header files.
psdk_lib/lib: Library files of Payload SDK. Users select appropriate library file to use based on target platform.
sample/api_sample: Sample code used to demonstrate usage of Payload SDK features.
sample/platform: Sample code related to specific platform, including Linux and FreeRTOS platforms.
sample/platform/linux/common/osal: OSAL layer implementation of Linux operation system.
sample/platform/linux/manifold2: Sample project used on Manifold 2.
sample/platform/rtos_freertos/common/osal: OSAL layer implementation of FreeRTOS operation system.
sample/platform/rtos_freertos/psdk_development_board_1.0: Sample project used on Payload SDK development board 1.0.
tools: Some tools used with Payload SDK.
2.我們先修改Cmakelist.txt文件,位于Payload_SDK_V2.1.0-build.189/sample/platform/linux/manifold2/project
修改兩個地方,第一處是編譯鏈版本,將原來的gcc g++改為arm-linux-gnueabihf-gcc arm-linux-gnueabihf-g++
set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")
set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")
第二處修改PSDK鏈接庫(如下直接注釋原來的,添加以下兩行)
link_directories(${CMAKE_CURRENT_LIST_DIR}/../../../../../psdk_lib/lib/arm-linux-gnueabihf-gcc)
link_libraries(${CMAKE_CURRENT_LIST_DIR}/../../../../../psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a)
3.在app_info.h中填寫申請的用戶信息(文件路徑/Payload_SDK_V2.1.0-build.189/sample/platform/linux/manifold2/application)
4.我們先注釋掉一些不好適配的功能先讓這個PSDK跑起來
注釋psdk_config.h文件中的所有預定義:如圖所示
注釋main.c中的234-237行 289-297行 416-422行(可能隨著版本變化 位置不一樣請對照下面圖片進行注釋)
注釋psdk_media_file_mp4.c文件中207-213行(可能隨著版本變化 位置不一樣請對照下面圖片進行注釋)
注釋psdk_media_file_jpg.c文件170-176行(可能隨著版本變化 位置不一樣請對照下面圖片進行注釋)
注釋osal.c文件63-68行(可能隨著版本變化 位置不一樣請對照下面圖片進行注釋)
到這里初步已經適配完成了,我們進行編譯和試跑。
在project中新建文件夾build
mkdir build
進行編譯
cd build
cmake ..
make
運行可執行文件
./psdk_demo
智能推薦
樹莓派3b串口配置
原文轉載自 這里 簡介 主要為了記錄下來下次再配置時的方便。 通常學習一塊新的硬件平臺,大家第一個工程便是流水燈,實際上這屬于IO口的基本控制,這與上篇文章VS使用wiringPi庫控制樹莓派的GPIO是異曲同工的,接下來便應該是開始使用其通信接口,而通信接口里面最簡單的又屬串口(uart),雖然簡單但目前仍然有很多模塊是以串口作為通信接口的,如一些藍牙模塊、低速wifi模塊、GPS模塊、GPRS...
樹莓派3B安裝opencv
樹莓派3B安裝opencv 安裝Raspbian-stretch操作系統 樹莓派配置開啟CSI攝像頭 配置樹莓派使opencv能夠讀取CSI攝像頭數據 安裝運行在python3上的opencv3 1.安裝numpy 2.安裝opencv所需的庫 3.下載opencv源碼放到/home/pi/Downloads目錄下 4.cmake設置編譯參數 5.編譯opencv 6.安裝opencv 7.測試o...
樹莓派3B超聲測距
準備:樹莓派3B,thonny,超聲傳感器,線 1、硬件連接 用的BCM編號方式 超聲傳感器的trig腳接20,echo腳接21。VCC,GND是供電的。 2、上代碼 3、上結果 完! --------------------------------------------------------------------------------------------諾有缸的高飛鳥202004...
樹莓派3B 之UI
今天這一篇我們主要講如何把前面的GPIO/IIC/UART綜合起來。 做成一個上位機。 前面的部分不用講了,今天主要講UI部分。 Qt我們使用的是拖拽控件的方式。 下面是實現的代碼部分: ***.cpp ***.h 這里面我們會有使用定時器。來跑線程。 最后的UI附上:...
樹莓派3B連接wifi
樹莓派連接wifi 一、樹莓派連接wifi 二、VNC遠程連接 三、打開VNC連接 一、樹莓派連接wifi 新建一個TXT文本,將名字修改為wpa_supplicant.conf 打開該新建的文件把下列代碼復制到文件內 二、VNC遠程連接 最后Finish回車 三、打開VNC連接...
猜你喜歡
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...