日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

AI-K210 开发家庭万用宝模组(1)

發布時間:2023/12/8 ChatGpt 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AI-K210 开发家庭万用宝模组(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

手頭有個以前開發自動跟隨拍的K210器件(視頻? https://www.douyin.com/video/6943813162625961252?previous_page=app_code_link )。

閑時無聊,決定用它改造一個萬用寶,目標呢家里常用的小設備集成起來,省的家里一堆小東西。

功能:

1. 人臉識別:人臉定位 、 人臉特征點檢測、特征點對比;

2. 生理參數檢測:血壓(個人數據關聯分析加速檢測速度至10~20秒測量)、心電圖(ECG+心率+ST段分析+心律失常分析)、血氧(脈搏氧飽和度+脈率)、胎心率、血糖、體溫(紅外/熱電偶);

3. 其他功能:環境溫濕度、紅外遙控器、二維碼(后續想到啥再補充);

4. 系統:電阻屏 、RTT-OS + LVGL-GUI,TF卡數據存儲、wifi數據同步,藍牙網關。

需求大體如上,下面開始準備基礎環境。

#############################################################################

一、搭建K210的基礎開發環境

1.1 工具鏈準備

首先需要下載riscv交叉編譯的工具鏈:https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v8.3.0-2.3/xpack-riscv-none-embed-gcc-8.3.0-2.3-linux-x64.tar.gz

根據Win、OSX、Linux平臺32或64位版本具體選擇對應的工具鏈,(原廠的工具鏈因libc鏈接庫的問題無法編譯RTT),因本人在Ubuntu20.04下開發,下面主要記錄Linux下開發的環境。

下載后在工具鏈目錄解壓至 /opt目錄:【 tar zxvf?xpack-riscv-none-embed-gcc-8.3.0-2.3-linux-x64.tar.gz -C /opt/ 】

打開~/.bashrc文件,在文件末尾添加如下一行,將 /opt/kendryte-toolchain/bin 目錄添加到PATH環境變量,并更新生效

export PATH=$PATH:/opt/xpack-riscv-none-embed-gcc-8.3.0-2.3/bin $ source ~/.bashrc

1.2 下載RT-Thread源碼

在開發目錄下執行:【 git clone --recursive https://github.com/RT-Thread/rt-thread.git】命令等待下載完成。

1.3 SCONS配置

在下載好的rtt源碼下找到k210的bsp,rt-thread/bsp/k210目錄下打開rtconfig.py文件:

修改上圖18行工具鏈的位置,屏蔽23、24行防止被RTT_EXEC_PATH替換。

修改上圖54行,CXXFLAGS增加對c++17的支持(K210最新的sdk中nncase使用了c++17的語法)

在rt-thread/bsp/k210路徑下執行:

$ sudo apt install scons (安裝scons) $ sudo apt install libncurses5-dev libncursesw5-dev(安裝menuconfig必要的庫) $ scons --menuconfig

選擇RT-Thread Components--> C++ features--> Support C++ features用以支持c++,

RTT全局對象構造函數的實現在 rt-thread\components\cplusplus 目錄下的 crt_init.c 文件中,初始化方式如下:

鏈接腳本文件 rt-thread/bsp/k210/link.lds 為 C++ 全局構造函數的代碼分配了段,為了使 C++ 全局對象構造函數鏈接后存放在指定的段中,需要修改link.lds:

使用該命令后會安裝及初始化 Env 工具,并在 home 目錄下面生成 “.env” 文件夾,此文件夾為隱藏文件夾,切換到 home 目錄,使用 la 命令可查看所有目錄和文件。

$ la ~/.env env.sh local_pkgs packages tools

立即更新 env.sh 配置環境變量

$ source ~/.env/env.sh

使用 pkgs --update 命令下載軟件包到 BSP 目錄下的 packages 文件夾里

$ pkgs --update (每次執行pkgs命令前 需保證在執行source ~/.env/env.sh 后的環境)

輸入命令code . 啟動VSCode,點擊TERMINAL。

現在VSCode中的終端就變成了env工具,可以直接在這個終端中進行env的一些操作。這里我們要先輸入指令,scons --target=vsc -s?!具@條指令能將在env中配置產生的頭文件的搜索路徑添加到vs code中,每次使用完env中的menuconfig功能后都要記得使用這個指令更新一下配置,否則可能會出現找不到頭文件的錯誤】

1.4 編譯下載

在VSCode終端輸入:scons 編譯RTT,但是發現出錯

?這個可能是rtt與工具鏈的沖突問題,臨時解決辦法如下:

打開 /opt/xpack-riscv-none-embed-gcc-8.3.0-2.3/riscv-none-embed/include/sys中的signal.h文件,屏蔽掉 union sigval、struct sigevent、以及 typedef struct siginfo_t;

//union sigval { // int sival_int; /* Integer signal value */ // void *sival_ptr; /* Pointer signal value */ //};//struct sigevent { // int sigev_notify; /* Notification type */ // int sigev_signo; /* Signal number */ // union sigval sigev_value; /* Signal value */#if defined(_POSIX_THREADS) // void (*sigev_notify_function)( union sigval );/* Notification function */ // pthread_attr_t *sigev_notify_attributes; /* Notification Attributes */ #endif //};/* Signal Actions, P1003.1b-1993, p. 64 */ /* si_code values, p. 66 */#define SI_USER 1 /* Sent by a user. kill(), abort(), etc */ #define SI_QUEUE 2 /* Sent by sigqueue() */ #define SI_TIMER 3 /* Sent by expiration of a timer_settime() timer */ #define SI_ASYNCIO 4 /* Indicates completion of asycnhronous IO */ #define SI_MESGQ 5 /* Indicates arrival of a message at an empty queue *///typedef struct { // int si_signo; /* Signal number */ // int si_code; /* Cause of the signal */ // union sigval si_value; /* Signal value */ //} siginfo_t;

另外,把 rt-thread/bsp/k210/cconfig.h 中的下面三行注釋掉(注意:這個文件是 rt_thread/tools/gcc.py 等生成的,如果想cconfig.h不生成 HAVE_SIGACTION、HAVE_SIGINFO、HAVE_SIGVAL三個宏的話,可以把/opt/xpack-riscv-none-embed-gcc-8.3.0-2.3/riscv-none-embed/include/sys/signal.h中注釋的部分刪除掉)。

//#define HAVE_SIGACTION 1 //#define HAVE_SIGINFO 1 //#define HAVE_SIGVAL 1

最后在VSCode終端中輸入scons,編譯成功:

?現在需要燒寫到k210里,先安裝kflash.py,鏈接:https://github.com/kendryte/kflash.py,

sudo pip3 install kflash

sudo usermod -a -G dialout $(whoami)

?至此RTT終于在K210上跑起來了,后續要在上面移植各類應用。歡迎關注交流.......

總結

以上是生活随笔為你收集整理的AI-K210 开发家庭万用宝模组(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。