欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>由太陽(yáng)能供電基于聲學(xué)事件構(gòu)建非法記錄檢測(cè)的森林守護(hù)者

由太陽(yáng)能供電基于聲學(xué)事件構(gòu)建非法記錄檢測(cè)的森林守護(hù)者

2022-11-15 | zip | 0.17 MB | 次下載 | 免費(fèi)

資料介紹

描述

每年有近 1900 萬(wàn)英畝的森林被毀,相當(dāng)于每分鐘 27 個(gè)足球場(chǎng)。森林是成千上萬(wàn)動(dòng)物的家園,對(duì)許多人來(lái)說(shuō),它們是食物、水、衣服、藥品和庇護(hù)所的來(lái)源。所謂的地球之肺還通過(guò)充當(dāng)碳匯來(lái)緩解氣候變化。隨著城市隨著森林火災(zāi)等自然災(zāi)害的增加而以驚人的速度擴(kuò)張,保護(hù)森林生態(tài)系統(tǒng)的必要性是我們應(yīng)對(duì)氣候變化的重要一步。森林火災(zāi)無(wú)需介紹。話(huà)雖如此,超過(guò) 80% 的森林火災(zāi)是人為的(人為的),而不是生物的(自然的)。這些原因可能有很多,例如非法采伐、砍伐森林的努力。非法采伐造成的森林損失對(duì)生物多樣性構(gòu)成威脅在森林棲息地。越來(lái)越多的物種無(wú)法生存,因?yàn)檫@種做法否認(rèn)了對(duì)自然相互聯(lián)系至關(guān)重要的棲息地。森林的廣泛破碎和退化使更多的動(dòng)植物物種瀕臨滅絕。因此,停止非法采伐將有助于恢復(fù)動(dòng)植物并恢復(fù)自然平衡以維持世界。

建議的解決方案

解決方案是在邊緣本身由太陽(yáng)能供電,基于聲學(xué)事件構(gòu)建非法記錄檢測(cè)。迄今為止,大多數(shù)解決方案都嚴(yán)重依賴(lài)云來(lái)對(duì)從傳感器收集的數(shù)據(jù)進(jìn)行后處理,這受到網(wǎng)絡(luò)帶寬的限制,這使得它們成為耗電設(shè)備。因此,所提出的設(shè)備將能夠在邊緣對(duì) 3 類(lèi)聲學(xué)事件進(jìn)行分類(lèi),即:正常(天然森林聲音)、斧頭(使用 Axe 記錄樹(shù)木)、電鋸(使用鏈鋸記錄樹(shù)木),并且只會(huì)發(fā)送通過(guò)射頻將分類(lèi)結(jié)果和設(shè)備狀態(tài)發(fā)送到基站。基站接收數(shù)據(jù),將其上傳到云端,如果檢測(cè)到非法登錄,則會(huì)向有關(guān)當(dāng)局發(fā)出短信警報(bào)。為了在森林中維持這種解決方案,我們需要收集太陽(yáng)能并將其儲(chǔ)存在電池中。此外,為了節(jié)省電力,設(shè)備將處于睡眠、喚醒推理和再次睡眠的連續(xù)循環(huán)中。

pYYBAGNy3DuAMGWjAAFHMhvEOYk573.jpg
系統(tǒng)總覽
?

建筑五金

我們的首要目標(biāo)是選擇節(jié)能的組件,因?yàn)樵撛O(shè)備將完全依靠電池和太陽(yáng)能運(yùn)行。下面提到的是選擇的組件列表:

1) QuickFeather 開(kāi)發(fā)套件:該板具有 80Mhz Arm 內(nèi)核和 eFPGA,有助于更快地執(zhí)行計(jì)算密集型任務(wù),同時(shí)減少能耗。該板具有帶低功率聲音檢測(cè)器 (LPSD) 的板載麥克風(fēng)、NOR 閃存、帶 JST 連接器的電池充電器,這使其成為我們應(yīng)用的合適候選者

2) Xbee S2C:此射頻模塊可在低至 2mW 的功率下運(yùn)行,睡眠電流為微安。除了電源規(guī)格外,模塊的可用性和價(jià)格也使其脫穎而出。

3) 太陽(yáng)能答題板:該模塊包含 TI 的 BQ25570 納米功率升壓充電器和降壓轉(zhuǎn)換器。低冷啟動(dòng)電壓 (300mV)、峰值輸出電流 (110mA)、簡(jiǎn)單的引腳分配和備用超級(jí)電容器使其適合我們的項(xiàng)目。

亞馬遜上找到了一個(gè)便宜的太陽(yáng)能照明模塊,結(jié)果證明它是該項(xiàng)目的一個(gè)很好的外殼,因?yàn)樘?yáng)能電池板已經(jīng)連接到外殼上,還有一個(gè)電池座。由于快羽板上的麥克風(fēng)朝下,請(qǐng)確保開(kāi)口沒(méi)有被外殼堵塞。所有組件都使用焊接到原型板的母頭針連接。硬件連接如下:

1)太陽(yáng)能電池板輸入連接到太陽(yáng)能點(diǎn)擊模塊的輸入引腳。為了啟用降壓升壓轉(zhuǎn)換器,太陽(yáng)能答題器模塊的EN 引腳短接到地。升壓后的電壓又使用 just 連接器連接到快速引出板。XBee 通過(guò)快速轉(zhuǎn)接板上的穩(wěn)壓輸出 (J3_15) 供電,以保持穩(wěn)定的射頻通信。電池也通過(guò) JST 連接器旁邊的 Vbat 引腳連接。

2)快速羽毛板上的Rx和Tx引腳分別連接到Xbee模塊的Rx和Tx引腳。連接到 Xbee 模塊的 Pin 9 的 Quick Feather 上的 IO_6 引腳控制 Xbee 模塊的睡眠周期。將其拉高(3.3 V)會(huì)使 XBee 進(jìn)入睡眠模式并保持低電平(GND)將其喚醒。

小飛線(xiàn)用于形成組件之間的互連。以下是硬件設(shè)計(jì)的一些快照。

數(shù)據(jù)采集

SensiML 為數(shù)據(jù)捕獲、數(shù)據(jù)建模和固件生成提供端到端軟件解決方案,用于低功耗資源受限設(shè)備的設(shè)備上推理。要使用 SensiML Solutions 的快速功能,我們需要將數(shù)據(jù)收集固件 bin 文件閃存到板上。您可以直接從SensiML 網(wǎng)站下載 bin 文件(確保下載支持音頻的 bin 文件)并按照本教程開(kāi)始。我在為 Tinyfpga 程序員創(chuàng)建別名時(shí)遇到問(wèn)題,但是,使用 git bash 控制臺(tái)幫助我解決了創(chuàng)建別名“qfprog”以及將 bin 文件閃存到板上的問(wèn)題。

由于我們需要在項(xiàng)目后期編寫(xiě)一些固件,因此最好獲得一些在eclipse ide上使用Quickfeather Simple Streaming Interface AI Application Project生成bin文件的實(shí)踐經(jīng)驗(yàn)。這是在 Eclipse 上設(shè)置應(yīng)用程序項(xiàng)目的描述性演練。

在 IDE 上設(shè)置項(xiàng)目后,前往Fw_global_config.h文件并為要在Data capture Lab中檢測(cè)到的設(shè)備進(jìn)行以下更改。

pYYBAGNy3EaAdQ0pAADQS_EE8W8278.png
宏配置。
?

選擇音頻宏以通過(guò) UART 啟用音頻流。您還需要在項(xiàng)目的sensor_audio目錄中的sensor_audio_config_user.h頭文件中啟用SENSOR_AUDIO_LIVESTREAM_ENABLED宏。

poYBAGNy3EiAWWrlAABNYeAA9B4477.png
音頻選擇宏配置
?

點(diǎn)擊構(gòu)建按鈕(錘形),生成位于 GCC_Project/output/bin 目錄中的 bin 文件。在同一目錄下打開(kāi) git bash,在綠色 LED 停止閃爍之前按板上的重置按鈕,然后按用戶(hù)按鈕,然后使用以下命令刷新 bin 文件。

qfprog --port  --m4app .bin --mode m4

一旦程序被刷新,根據(jù)以下連接將 USB 到 TTL 串行轉(zhuǎn)換器連接到快速羽毛:

Rx(串行轉(zhuǎn)換器)-> Rx(快速羽毛板)

Tx(串行轉(zhuǎn)換器)-> Tx(快速羽化板)

接地(串行轉(zhuǎn)換器)-> 接地(快速羽毛板)

首先,創(chuàng)建一個(gè)新帳戶(hù)下載 DCL 軟件,然后登錄。連接就緒后,打開(kāi) Data Capture Lab,創(chuàng)建一個(gè)新項(xiàng)目,為其命名并將其保存在某個(gè)位置。然后從“標(biāo)簽資源管理器”模式切換到“捕獲”模式。DCL 使用 SSF 文件形式的插件,告訴它如何與設(shè)備通信。在此處下載QuickFeather 的一個(gè)(確保為 Simple Streaming 選擇一個(gè))并使用 Edit->Import Device Plugin 并選擇剛剛下載的 SSF 文件添加它。在右上角你會(huì)看到 Sensor Configuration 是空的,所以點(diǎn)擊 add new sensor 按鈕,選擇 QuickFeather Simple Stream 插件,使用“Audio”捕獲源,采樣率為每秒 16000 個(gè)樣本,然后確保選中“麥克風(fēng)”。繼續(xù)并使用您喜歡的名稱(chēng)保存它。

設(shè)置好電路板后,使用“掃描設(shè)備”按鈕找到正確的串行端口(用于 USB 到 TTL 串行轉(zhuǎn)換器的端口?。┖?,在 DCL 中單擊“連接”。如果它最初不起作用,請(qǐng)嘗試拔下轉(zhuǎn)換器,將其重新插入,或斷開(kāi)并重新連接。在該窗格下方,有一個(gè)用于添加標(biāo)簽和元數(shù)據(jù)的部分。我添加了三個(gè)標(biāo)簽:普通、斧頭和電鋸。準(zhǔn)備好后點(diǎn)擊錄制按鈕。

走過(guò)。
?

錄制完成后,我們需要清理音頻數(shù)據(jù),因?yàn)槲覀儾幌M麑⒉恍枰囊纛l片段輸入到訓(xùn)練模型中。這可以通過(guò)轉(zhuǎn)到左上角的 Project Explorer 選項(xiàng)卡并雙擊要修改的捕獲來(lái)完成。然后我們可以通過(guò)在要保留的區(qū)域上按住鼠標(biāo)右鍵單擊的同時(shí)拖動(dòng)鼠標(biāo)來(lái)添加段。您可以在右上角看到它們。這也允許我們通過(guò)為每個(gè)標(biāo)簽創(chuàng)建段并更改標(biāo)簽來(lái)在同一捕獲中捕獲不同的標(biāo)簽。您還可以使用檢測(cè)段底部的選項(xiàng)可自動(dòng)檢測(cè)數(shù)據(jù)中的段并為您完成所有重復(fù)性工作。確保為每個(gè)類(lèi)創(chuàng)建相同數(shù)量的段,因?yàn)檫@將平衡模型并防止其欠擬合或過(guò)擬合。您還可以添加數(shù)據(jù)視頻以與音頻事件相關(guān)聯(lián)。

poYBAGNy3E2AdUdnAAMl3d_Ni0A357.png
數(shù)據(jù)分割
?

在前往 File->Close File 之后,是時(shí)候使用 Analytics Studio 從捕獲的數(shù)據(jù)生成模型了。請(qǐng)記住,保存在 DCL 中的數(shù)據(jù)會(huì)自動(dòng)上傳并存儲(chǔ)在云中,盡管刷新和顯示可能需要一些時(shí)間。

數(shù)據(jù)訓(xùn)練:

SensiML 提供社區(qū)版訂閱計(jì)劃,該計(jì)劃以零成本提供分析工具包中的大部分功能。對(duì)于想要嘗試的制造商來(lái)說(shuō)非常有用。

在 Web 瀏覽器中登錄到Analytics Studio ,然后選擇在 DCL 中創(chuàng)建的項(xiàng)目。

pYYBAGNy3E-ADZ_mAAFiRlgAk0Q899.png
項(xiàng)目頁(yè)面
?

要訓(xùn)??練模型,我們必須首先通知 Analytics Studio 我們要在查詢(xún)表單中使用的數(shù)據(jù)。這可以通過(guò)單擊Prepare Data選項(xiàng)卡并輸入名稱(chēng)、會(huì)話(huà)、標(biāo)簽、相關(guān)元數(shù)據(jù)、傳感器以及如何繪制它來(lái)完成。保存后,數(shù)據(jù)集應(yīng)該出現(xiàn)在右側(cè),我們可以看到每個(gè)標(biāo)簽中有多少段。

pYYBAGNy3FKAOjx1AAEZ4iczF8c951.png
管道
?

管道是一系列數(shù)據(jù)處理步驟的容器。管道對(duì)象允許您獲取現(xiàn)有管道或創(chuàng)建具有給定名稱(chēng)的新管道。您可以使用創(chuàng)建的對(duì)象設(shè)置輸入數(shù)據(jù)源、添加轉(zhuǎn)換、特征生成器、特征選擇器、特征轉(zhuǎn)換和分類(lèi)器。我們可以通過(guò)單擊Build Model選項(xiàng)卡并輸入以下詳細(xì)信息來(lái)創(chuàng)建管道:

1) 管道名稱(chēng):

2)選擇剛剛創(chuàng)建的查詢(xún),

3) 窗口大?。核鼘?duì)應(yīng)于每個(gè)事件要緩沖的樣本數(shù)。這會(huì)對(duì)模型和模型的大小產(chǎn)生顯著影響。因此明智地設(shè)置它。

4) 優(yōu)化指標(biāo):在準(zhǔn)確性、F1 分?jǐn)?shù)、靈敏度之間選擇您的優(yōu)先級(jí)。

5) 分類(lèi)器大?。哼@限制了模型的大小,非常適合加載到 ROM 受限的芯片上。

單擊Optimize將通過(guò)并構(gòu)建模型。單擊“顯示高級(jí)設(shè)置”欄以顯示選項(xiàng)。我喜歡這組選項(xiàng),因?yàn)樗峁┝烁嗟撵`活性和對(duì)模型構(gòu)建過(guò)程的控制。我選擇的選項(xiàng)之一是“平衡數(shù)據(jù)”,它可以平衡每個(gè)班級(jí)中的數(shù)據(jù)以進(jìn)行訓(xùn)練。隨意使用這些設(shè)置,因?yàn)?/font>管道日志非常智能,因?yàn)樗ㄗh用戶(hù)在構(gòu)建失敗的情況下更改某個(gè)參數(shù)。

poYBAGNy3FSAEjOAAAEH7KPbMmE068.png
高級(jí)參數(shù)。
?

SensiML 提供了更多選項(xiàng)來(lái)研究生成的模型。切換到左側(cè)的 Explore Model 選項(xiàng)卡以顯示與模型相關(guān)的所有詳細(xì)信息,例如 Model Visualization、Confusion Matrix、Feature Summary 和 Knowledge Pack Summary。如果您想優(yōu)化和調(diào)整底層算法,請(qǐng)?jiān)L問(wèn) e 高級(jí)模型構(gòu)建教程

pYYBAGNy3FeAfhv1AAGTyPQ_aRo484.png
模型探索
?

您可以通過(guò)單擊左側(cè)下拉菜單中的“下載模型”選項(xiàng)繼續(xù)下載模型/知識(shí)。SensiMl支持的板子非常多,我們需要選擇的就是快羽板。即使您的開(kāi)發(fā)板不受支持,您也可以選擇 ARM GCC Generic,它會(huì)下載靜態(tài)庫(kù)以及示例代碼,以便與任何支持 ARM 的開(kāi)發(fā)板一起使用。下面提到的是我們?cè)谙螺d知識(shí)包之前需要關(guān)注的選項(xiàng):

1) 浮點(diǎn)選項(xiàng):這將為浮點(diǎn)特定約定生成浮點(diǎn)指令目標(biāo)

2)格式:我們這里有三個(gè)選項(xiàng)(二進(jìn)制、庫(kù)、源)。源代碼僅適用于付費(fèi)版本。如果您想直接將其閃存到板上,請(qǐng)下載選擇二進(jìn)制文件。對(duì)于我們的項(xiàng)目,我們需要庫(kù)格式以無(wú)縫集成到固件中。

3) 應(yīng)用:選擇簡(jiǎn)單流選項(xiàng),因?yàn)槲覀兪褂?Uart 進(jìn)行數(shù)據(jù)采集,而不是 WIFI 板。

4) Debug:在 Advanced Setting 選項(xiàng)卡下,確保將其設(shè)置為true ,因?yàn)樵诳焖龠壿?a href='http://www.delux-kingway.cn/article/bbs/' target='_blank' class='arckwlink_none'>論壇上已經(jīng)報(bào)告了與識(shí)別結(jié)果不顯示在 Uart Terminal 相關(guān)的問(wèn)題。

poYBAGNy3FqAZlloAACMoT3ixBk457.png
下載知識(shí)包
?

固件開(kāi)發(fā):

固件開(kāi)發(fā)的第一步是將生成的知識(shí)包集成到qf_ssi_ai_app項(xiàng)目中。下面提到的是一些可以幫助您實(shí)現(xiàn)相同目標(biāo)的鏈接:

將 SensiML 庫(kù)編譯到 QuickLogic QuickFeather 文檔中

?

這里的任務(wù)是開(kāi)發(fā)固件,在特定持續(xù)時(shí)間內(nèi)執(zhí)行音頻推理,進(jìn)入睡眠模式以在固定時(shí)間段內(nèi)節(jié)省電量,然后再次喚醒以恢復(fù)循環(huán)。qf_ssi_ai_app項(xiàng)目使用音頻數(shù)據(jù)處理器線(xiàn)程來(lái)收集音頻數(shù)據(jù),將其輸入模型,并將識(shí)別結(jié)果輸出到控制臺(tái)。如果我們可以?huà)炱疬@個(gè)線(xiàn)程,設(shè)備將自動(dòng)進(jìn)入理想狀態(tài),因?yàn)闆](méi)有更多任務(wù)要運(yùn)行。因此,固件設(shè)計(jì)計(jì)劃解釋如下:

pYYBAGNy3FyAdaAUAAJ8I13KZOY036.png
固件設(shè)計(jì)
?

代碼開(kāi)發(fā)的分步指南如下:

1)在sensor_audio_config_user.h文件中開(kāi)啟識(shí)別模式:

#define SENSOR_AUDIO_RECOG_ENABLED (1)    // Change it to 1
#define SENSOR_AUDIO_LIVESTREAM_ENABLED (0)
#define SENSOR_AUDIO_DATASAVE_ENABLED (0)

2)在main.c文件中添加如下頭文件

#include "ql_audio.h"   
#include "sml_output.h"

3) 創(chuàng)建一個(gè)附加到音頻數(shù)據(jù)塊處理器線(xiàn)程的句柄并定義外部,使編譯器的生活變得容易。創(chuàng)建計(jì)時(shí)器句柄以控制設(shè)備的活動(dòng)持續(xù)時(shí)間和睡眠周期。

extern TaskHandle_t xTobeParsed;
TickType_t xTimestart;
TimerHandle_t idealtimer;
TimerHandle_t worktimer;
#define IDEAL_TIMER_PERIOD    10000
#define WORK_TIMER_PERIOD     2000

4) 現(xiàn)在通過(guò)更改以下文件將任務(wù)附加到線(xiàn)程:

  • sensor_audio_process.c:
// Add this at the top of file
TaskHandle_t   xTobeParsed;

// Pass the address of the task handle in the last parameter
datablk_processor_params_t audio_datablk_processor_params[] = {
    { AUDIO_DBP_THREAD_PRIORITY,
      &audio_dbp_thread_q,
      sizeof(audio_datablk_pe_descr)/sizeof(audio_datablk_pe_descr[0]),
      audio_datablk_pe_descr,
      256,
      "AUDIO_DBP_THREAD",
      &xTobeParsed                   /****** Edited here ********/
    }
};
  • datablk_processor.h:
// As we are passing the address of the task handle, we need to change type of the 
// datablk_pe_handle to pointer. 

typedef struct st_datablk_processor_params
{
  int                      dbp_task_priority;  ///< desired task priority
  QueueHandle_t           *p_dbp_task_inQ;     ///< input queue handle
  int                      num_pes;         ///< number of PEs for this thread
  datablk_pe_descriptor_t  *p_descr;        ///< array of thread PE configurations
  int                      stack_depth;     ///< depth of stack needed for this thread
  char                    *dbp_task_name;    ///< datablock processor task name string
  xTaskHandle             *datablk_pe_handle;  /****** Edited here ********/
} datablk_processor_params_t ;
  • datablk_processor.c:
// Remove the Ampersand sign in order be compatible with the pointer operator. 
xTaskCreate ( datablk_processor_task,
                  p_dbp_params->dbp_task_name,
                  p_dbp_params->stack_depth,  
                  p_dbp_params,
                  p_dbp_params->dbp_task_priority, 
                  p_dbp_params->datablk_pe_handle   /****** Edited here ********/
                );

4)為以下任務(wù)添加功能:

void timer_init(void)
{
	  if (!idealtimer) {
		  idealtimer = xTimerCreate
	                (
	                   "idealTimer",
	                   IDEAL_TIMER_PERIOD, // 10 ticks = ~10ms
	                   pdTRUE,            // auto-reload when the timer expires
	                   (void *)0,
	                   idealTimer_Callback
	                );
	  }
	  if (!worktimer) {
		  worktimer = xTimerCreate
	                (
	                  "workTimer",
			   WORK_TIMER_PERIOD, // 10 ticks = ~10ms
	                   pdTRUE,            // auto-reload when the timer expires
	                   (void *)0,
	                   workTimer_Callback
	                );
	  }
}
  • 每個(gè)計(jì)時(shí)器到期后要調(diào)用的回調(diào)函數(shù):
void workTimer_Callback (TimerHandle_t timHandle)
{
	max_class_print();
	vTaskSuspend(xTobeParsed);
	TimerStart(1);
	uart_tx_raw_buf(UART_ID_SSI,"\r\nSleeping",10);
	Xbee_Sleep_Config(1);
	TimerStop(0);
}

void idealTimer_Callback(TimerHandle_t timHandle)
{
	vTaskResume(xTobeParsed);
	TimerStart(0); //work start
	Xbee_Sleep_Config(0);
	TimerStop(1);  // ideal stop
	HAL_DelayUSec(1000);
	uart_tx_raw_buf(UART_ID_SSI,"\r\nInferencing",13);
}
  • 啟動(dòng)和停止定時(shí)器的功能:
void TimerStart(bool timer_select)
{
  BaseType_t  status;
  if (timer_select)  {
    status = xTimerStart (idealtimer, 0);                // start timer
    if (status != pdPASS)  {
      // Timer could not be started
    	uart_tx_raw_buf(UART_ID_SSI, "\r\n start ideal timer failed\r\n", 30);
    }
  }
   else
   {
	status = xTimerStart (worktimer, 0);                // start timer
	if (status != pdPASS)  {
	// Timer could not be started
	uart_tx_raw_buf(UART_ID_SSI, "\r\n start work timer failed\r\n", 30);
	}
  }
}

void TimerStop(bool timer_select)
{
  if (timer_select) {
    xTimerStop(idealtimer, 0);
  }
  else {
    xTimerStop(worktimer, 0);
  }
}
  • 配置 Xbee 睡眠??模式:
void Xbee_Sleep_Config(bool enable_sleep) {
	IO_MUX->PAD_6_CTRL = 0x103;
	// Pull the Pin 6 to 3.3v, which is
	// connected o PIN9 on Xbee
	if(enable_sleep)
		HAL_GPIO_Write(GPIO_0, 1);
	else
		HAL_GPIO_Write(GPIO_0, 0);
}

我們需要將設(shè)備波特率與 XBee 模塊的波特率相匹配,以便通過(guò) UART 建立通信。訪(fǎng)問(wèn)以下鏈接以設(shè)置 XBee 模塊并更改App/src/qf_hardwaresetup.c文件中的uart_setup()函數(shù)中的brate參數(shù)。完整的項(xiàng)目源代碼在 github 上,這里是它的鏈接:

https://github.com/Pratyush-Mallick/qorc-sdk.git

低功耗優(yōu)化:

QORC SDK 中的低功耗模式是通過(guò)利用 FreeRTOS 無(wú)滴答 IDLE 節(jié)能技術(shù)實(shí)現(xiàn)的。當(dāng) FreeRTOS 中沒(méi)有活動(dòng)任務(wù)時(shí),只有 IDLE 任務(wù)處于活動(dòng)狀態(tài)并導(dǎo)致 CPU 進(jìn)入睡眠狀態(tài)。Quicklogic 有一個(gè)關(guān)于這個(gè)主題的指導(dǎo)性良好的文檔。該頁(yè)面可以在這里找到

測(cè)量嵌入式系統(tǒng)的功耗是一項(xiàng)越來(lái)越困難的任務(wù),然而,Nordic Semiconductor Power Profiler Kit II (PPK2)使其成為一種無(wú)縫體驗(yàn)。我們?cè)谠茨J较聹y(cè)量了系統(tǒng)的電流消耗,即被測(cè)設(shè)備 (DUT)由 PPK2 供電。安裝Power Profiler 應(yīng)用程序,將 PPK2 上的 VOUT 連接到快速引出板上的 VBAT,同時(shí)接地,一切順利。

?
?
?
?
1 / 2 ?測(cè)試設(shè)置
?

以下是 3.3 伏特的平均功耗(1 分鐘)觀(guān)察結(jié)果,睡眠周期為 10 秒,識(shí)別時(shí)間為 2 秒:

  • 僅 Quickfeather:6mA
  • 只有 Quickfeather (DFS):7mA(可以通過(guò)在 Fw_global_config.h 文件中將 #define CONST_FREQ 設(shè)置為 1 來(lái)啟用動(dòng)態(tài)頻率縮放)
  • 僅 Xbee(無(wú)睡眠):31mA
  • 僅 Xbee(啟用睡眠):1.97mA(本指南可以幫助您配置 XBee 睡眠??模式)
  • Quickfeather + Xbee(無(wú)睡眠):36mA
  • Quickfeather(DFS)+ Xbee(睡眠):7mA
?
?
?
pYYBAGNy3F-ACG_DAAH8MtjSbvU534.png
?
1 / 6 ?最小工作電流為 3mA
?

通過(guò)在 s3x_pwrcfg.c 文件中將睡眠策略節(jié)點(diǎn)時(shí)鐘配置為 256 kHz,我可以通過(guò)在固件端進(jìn)行以下更改來(lái)實(shí)現(xiàn)至少 3mA。

pYYBAGNy3GKAMHZpAADrfIBn94A801.png
睡眠策略配置
?

我想將功耗降到最低,因此聯(lián)系了 Quicklogic 和 SensiML 團(tuán)隊(duì)。這是他們不得不說(shuō)的:

“在保持最佳性能的同時(shí)降低功耗需要大量開(kāi)發(fā)和微調(diào)。如果不清楚了解模型尺寸、傳感器 ODR(僅 IMU 或音頻) 等。為了進(jìn)一步降低功耗,F(xiàn)W 需要將所有未使用的組件(特定于用例)置于最低功耗模式。當(dāng)前 FW 沒(méi)有解決這個(gè)問(wèn)題。

但是,他們確實(shí)為我提供了以下指導(dǎo),我將在未來(lái)的開(kāi)發(fā)中納入這些指導(dǎo):

  • 在當(dāng)前的 SimpleStreaming 應(yīng)用程序中,CONST_FREQ 設(shè)置為提供最大性能。在這種情況下,有兩種功耗模式:睡眠和活動(dòng)。睡眠狀態(tài)是 S3 M4 進(jìn)入 WFI 模式,同時(shí) S3 IP 在緩沖區(qū)中收集傳感器數(shù)據(jù)。活動(dòng)狀態(tài)是 M4 運(yùn)行算法或設(shè)置硬件以傳輸數(shù)據(jù)時(shí)。M4 活動(dòng)時(shí)間取決于知識(shí)包數(shù)據(jù)的算法。
  • 對(duì)于 Active,S3 內(nèi)核消耗 ~5.67mW (@ 1.8V);# 不包括 S3 IO 消耗和傳感器。
  • 對(duì)于 WFI,S3 內(nèi)核消耗 ~ 0.370uW (@1.8V);# 不包括 S3 IO 消耗和傳感器。
  • 對(duì)于 EOS S3,在更改 HOSC 頻率時(shí),需要重新配置所有時(shí)鐘網(wǎng)絡(luò)分頻器更新以獲得正確的輸出時(shí)鐘頻率。

以下是戶(hù)外測(cè)試期間的一些圖片和視頻

?
?
?
pYYBAGNy3GuAAgiGAByipeUjqak789.jpg
?
1 / 6 ?監(jiān)控電池充電
?

?

?

?

?

?

?

?

云網(wǎng)關(guān)和短信提醒:

我們的云網(wǎng)關(guān)由連接到互聯(lián)網(wǎng)的個(gè)人計(jì)算機(jī)和通過(guò) UART 連接到 PC 的 Xbee 協(xié)調(diào)器組成。在 PC 上運(yùn)行的 python 腳本通過(guò) UART 從 Xbee Coordinator 獲取數(shù)據(jù),對(duì)其進(jìn)行處理,然后將其轉(zhuǎn)發(fā)到ThingSpeak云以進(jìn)行進(jìn)一步的可視化和分析。您可以在youtube上觀(guān)看此視頻以開(kāi)始使用 thingspeak。

一旦我們開(kāi)始在云上成功接收數(shù)據(jù),如果檢測(cè)到非法伐木,我們將需要一個(gè)觸發(fā)機(jī)制來(lái)發(fā)送警報(bào)短信。幸運(yùn)的是,Thingspeak 有一個(gè)ThingHTTP 應(yīng)用程序,可以在設(shè)備、網(wǎng)站和 Web 服務(wù)之間進(jìn)行通信,而無(wú)需在設(shè)備級(jí)別實(shí)現(xiàn)協(xié)議。我們將使用這個(gè)應(yīng)用程序來(lái)觸發(fā)可以發(fā)送自動(dòng)電子郵件和 SMS的Twilio API。由于 ThingSpeak 基于 Matlab,因此我們需要在 Matlab 中編寫(xiě)此過(guò)程。訪(fǎng)問(wèn)以下鏈接以開(kāi)始使用ThingHTTPTwilio帳戶(hù)我在這篇博客的末尾附上了 python 和 Matlab 代碼。

這里是顯示快速羽化睡眠狀態(tài)、識(shí)別等級(jí)和設(shè)備位置的公共頻道的鏈接:https ://thingspeak.com/channels/1370213

poYBAGNy3G6APqvCAAE5op-2smI592.png
物聯(lián)網(wǎng)視覺(jué)板
?

關(guān)鍵時(shí)刻:

恭喜你完成了這個(gè)項(xiàng)目。!讓我們擁抱最終的原型。這是一個(gè)演示設(shè)備完整工作的視頻。

?

未來(lái)范圍:

以下是我計(jì)劃在下一次修訂中完成的任務(wù)列表(非常感謝任何形式的幫助):

  • 將睡眠模式下的電流消耗降低到微安范圍內(nèi)。
  • 通過(guò)利用連接到 VBAT 引腳的 ADC 引腳添加電池電量監(jiān)控功能。
  • 為森林火災(zāi)檢測(cè)添加一個(gè)氣體傳感器。
  • 更好的太陽(yáng)能電池板,例如來(lái)自epshinepowerfilm的太陽(yáng)能電池板。
  • 來(lái)自e-peasmatrixindustries的更好的升壓轉(zhuǎn)換器

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)