電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用QuickFeather和SensiML識(shí)別家庭負(fù)荷

使用QuickFeather和SensiML識(shí)別家庭負(fù)荷

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

資料介紹

描述

概述

在這個(gè)項(xiàng)目中,我使用 Quickfeather 開發(fā)板和 SensiML Toolkit 構(gòu)建了一個(gè)機(jī)器學(xué)習(xí)應(yīng)用程序的概念驗(yàn)證。目前正在進(jìn)行許多關(guān)于智能電網(wǎng)技術(shù)的研究和分析,這些技術(shù)有望有效緩解氣候變化。非侵入式負(fù)載監(jiān)控 (NILM) 被視為實(shí)現(xiàn)創(chuàng)新智能電網(wǎng)服務(wù)的關(guān)鍵技術(shù)。在這個(gè)項(xiàng)目中,我的目標(biāo)是家庭能源消耗分析,但它同樣適用于工業(yè)能源消耗。NILM 技術(shù)將能源消耗分解為其組件,并提供有關(guān)當(dāng)前設(shè)備的信息,并可用于執(zhí)行診斷。為什么我們需要 NILM?因?yàn)槲覀儾幌虢o每個(gè)家用電器都加一個(gè)傳感器來(lái)監(jiān)控。NILM 技術(shù)具有良好的可擴(kuò)展性并提供積極的解決方案,沒(méi)有任何電力危害,并且作為單點(diǎn)控制,可以方便地升級(jí)應(yīng)用程序并與其他在線服務(wù)連接以提供有用和及時(shí)的信息。它還提高了對(duì)用戶能源使用模式的認(rèn)識(shí),以便我們可以節(jié)省能源來(lái)拯救地球。

硬件和軟件設(shè)置

我們將使用 QuickFeather 開發(fā)板。

poYBAGNxJNaAPZCTAACimj2mZLU972.png
?

QuickFeather 開發(fā)板有許多板載傳感器,如上圖所示,但對(duì)于當(dāng)前項(xiàng)目,我們需要一個(gè)可以為我們提供有關(guān)電力特性信息的傳感器。為此,我們使用了 M5Stack Atom Socket Kit,它具有 HL8032 電能表集成電路,可通過(guò) UART 連接以 4800 bps 的速度提供數(shù)據(jù)。

M5Stack Atom 插座套件可安全使用高達(dá) 10A 的電流。它有一個(gè)連接到主電源的 3 針輸入電源插座,它具有可用于從 HLW8032 IC 獲取數(shù)據(jù)的針連接器。它還有一個(gè)內(nèi)置繼電器,可以使用 Grove 連接器來(lái)控制打開/關(guān)閉主電源。有兩個(gè)輸出插座。(2 針/3 針)連接到電源板,最多可為 4 臺(tái)設(shè)備供電。對(duì)于這個(gè)項(xiàng)目,我只使用了兩個(gè)電器;風(fēng)扇(30W)和燈(90W)。對(duì)于數(shù)據(jù)收集,我們使用了 SensiML Data Capture Lab這是一個(gè) Windows 應(yīng)用程序,我們需要一臺(tái) Windows PC 來(lái)安裝它。因?yàn)槲矣幸慌_(tái) Macbook,所以我使用 VirtualBox 來(lái)安裝 Windows VM 和另一個(gè)用于 Linux 的 VM 來(lái)使用 QORK-SDK 構(gòu)建固件。請(qǐng)按照此處的說(shuō)明https://github.com/QuickLogic-Corp/qorc-sdk安裝 QORK-SDK。此外,如果我們想使用 Wi-Fi 連接在 Data Capture Lab 中捕獲數(shù)據(jù),我們需要安裝 SensiML Open Gateway應(yīng)用程序。假設(shè)樹莓派 4 安裝了最新的樹莓派操作系統(tǒng)

我們需要許多 UART 連接才能使用。我們需要一個(gè) UART 連接來(lái)將 QuickFeather 連接到 M5Stack Atom Socket Kit。我們需要另一個(gè) UART 來(lái)向 Raspberry Pi 4 發(fā)送數(shù)據(jù)。我們還需要一個(gè) UART 來(lái)查看也連接到 Raspberry Pi 4 的調(diào)試消息。由于 QuickFeather 只有一個(gè)硬件 UART,我們需要使用 eFPGA 來(lái)啟用另外兩個(gè)硬件UART。對(duì)于這個(gè)項(xiàng)目,我們使用來(lái)自 QORK-SDK 存儲(chǔ)庫(kù)的兩個(gè)示例應(yīng)用程序的混合:

1. qf_apps/qf_fpgauart_app (加載FPGA UART網(wǎng)關(guān),啟動(dòng)FPGA時(shí)鐘

2. qf_apps/qf_ssi_ai_app (使用Simple Streaming Interface或識(shí)別的數(shù)據(jù)收集)

至少對(duì)我來(lái)說(shuō),將兩個(gè)應(yīng)用程序合并在一起是一項(xiàng)相當(dāng)大的工作。最終應(yīng)用程序可以在這里找到:https ://github.com/metanav/Challenge_Climate_Change

Atom Socket Kit 中有一個(gè)繼電器和開關(guān)引腳連接,連接到 QuickFeather 以控制繼電器。我們需要在 src/pincfg_table.c 中添加以下配置來(lái)初始化引腳。

{ // setup GPIO for External Button
  .ucPin = PAD_24,
  .ucFunc = PAD24_FUNC_SEL_GPIO_0,
  .ucMode = PAD_MODE_INPUT_EN,
  .ucPull = PAD_PULLUP,
  .ucDrv = PAD_DRV_STRENGTH_4MA,
  .ucSpeed = PAD_SLEW_RATE_SLOW,
  .ucSmtTrg = PAD_SMT_TRIG_DIS
},
{ // setup GPIO for Relay Switch
  .ucPin = PAD_23,
  .ucFunc = PAD23_FUNC_SEL_GPIO_7,
  .ucMode = PAD_MODE_OUTPUT_EN,
  .ucPull = PAD_NOPULL,
  .ucDrv = PAD_DRV_STRENGTH_4MA,
  .ucSpeed = PAD_SLEW_RATE_SLOW,
  .ucSmtTrg = PAD_SMT_TRIG_DIS
},

連接所有設(shè)備的原理圖可以在原理圖部分找到。我們可以在下面看到物理連接。

Atom Socket Kit (HLW8032) 使用低波特率 (4800) 甚至奇偶校驗(yàn),因此我們需要相應(yīng)地配置 FPGA UART。此外,另一個(gè) FPGA UART 配置為 115200 波特率,無(wú)奇偶校驗(yàn)。main.c 中有一個(gè)“init_fpga_uart”函數(shù)調(diào)用來(lái)處理它。

void init_fpga_uart()
{
  UartBaudRateType brate;
  UartHandler uartObj;
  memset( (void *)&(uartObj), 0, sizeof(uartObj) );
  uartObj.baud = BAUD_4800;
  uartObj.wl = WORDLEN_8B;
  uartObj.parity = PARITY_EVEN;
  uartObj.stop = STOPBITS_1;
  uartObj.mode = TX_RX_MODE;
  uartObj.hwCtrl = HW_FLOW_CTRL_DISABLE;
  uartObj.intrMode = UART_INTR_ENABLE;
  uartHandlerUpdate(UART_ID_FPGA, &uartObj);
  // wait
  for (volatile int i = 0; i != 4000000; i++) ;
  uart_init(UART_ID_FPGA, NULL, NULL, &uartObj);
  uint32_t device_id = *(uint32_t *)FPGA_PERIPH_BASE ;
  if (device_id == 0xABCD0002)
  {
      uartObj.baud = BAUD_115200;
      uartObj.wl = WORDLEN_8B;
      uartObj.parity = PARITY_NONE;
      uartObj.stop = STOPBITS_1;
      uartObj.mode = TX_RX_MODE;
      uartObj.hwCtrl = HW_FLOW_CTRL_DISABLE;
      uartObj.intrMode = UART_INTR_ENABLE;
      uartHandlerUpdate(UART_ID_FPGA_UART1,&uartObj);
      uart_init(UART_ID_FPGA_UART1, NULL, NULL, &uartObj);
   }
}

我們將嘗試對(duì)以下 4 個(gè)類別進(jìn)行分類。

1. 風(fēng)扇

2. 燈

3. 燈和風(fēng)扇

4. 無(wú)負(fù)載

我們使用 4 個(gè)電氣特性:

1.電壓(伏)

2.電流(安培)

3. 真實(shí)功率(瓦特)

4. 視在功率(伏安)

在交流電路中,有功功率(也稱為有功功率或有功功率)是設(shè)備做有用功所消耗的實(shí)際功率。無(wú)功功率(僅在負(fù)載中吸收和返回的功率)與真實(shí)功率的組合稱為視在功率,它是電路電壓和電流的乘積,與相角無(wú)關(guān)。對(duì)于給定的地理區(qū)域,電壓幾乎是恒定的,但傳感器值有一些變化,我們稍后會(huì)看到 SensiML Toolkit 的 AutoML 是否會(huì)使用此功能。電氣特性對(duì)于單個(gè)電器或電器組合具有非常具體的特征。正如我們?cè)谙聢D中所看到的,它描述了當(dāng)燈關(guān)閉和風(fēng)扇連續(xù)打開時(shí)的兩個(gè)事件,延遲幾秒鐘。

pYYBAGNxJOiAJQqvAABYRRCL4cg996.png
?

閃存數(shù)據(jù)采集固件

假設(shè) QORK-SDK 存儲(chǔ)庫(kù)已克隆到主目錄中,并且所有構(gòu)建工具鏈都已設(shè)置。

克隆存儲(chǔ)庫(kù):

$ cd ~/qork-sdk
$ source envsetup.sh
$ cd qf_apps
$ git clone https://github.com/metanav/Challenge_Climate_Change.git
$ cd challenge_climate_change

確保在 inc/app_config.h 中將固件模式更改為數(shù)據(jù)收集。

#define S3AI_FIRMWARE_IS_COLLECTION  1		
#define S3AI_FIRMWARE_IS_RECOGNITION 0

我們需要 TinyFPGA-Programmer-Application 來(lái)刷新固件。請(qǐng)按照此處的說(shuō)明進(jìn)行安裝:https ://github.com/QuickLogic-Corp/TinyFPGA-Programmer-Application

$ cd GCC_Project
$ make
$ qfprog --port /dev/ttyACM0 --m4app output/bin/Challenge_Climate_Change.bin --mode m4

設(shè)備插件

設(shè)備插件是描述數(shù)據(jù)捕獲實(shí)驗(yàn)室 (DCL) 如何從設(shè)備收集數(shù)據(jù)的屬性列表。Data Capture Lab 允許我們通過(guò) SSF 文件導(dǎo)入設(shè)備插件。以下是用于導(dǎo)入 DCL 的 SSF 文件內(nèi)容。

{
  "name": "QuickFeather Simple Stream [Custom]",
  "uuid": "a612edcc-58fe-a534-15d7-1255447308ee",
  "collection_methods": [
   {
      "name": "live",
      "display_name": "Live Stream Capture",
      "storage_path": null,
      "is_default": true
   }],
  "device_connections": [
  {
    "display_name": "Serial Port",
    "value": 1,
    "is_default": true,
    "serial_port_configuration": {
      "com_port": null,
      "baud": 115200,
      "stop_bits": 1,
      "parity": 0,
      "handshake": 0,
      "max_live_sample_rate": 3301
    }
  },
  {
    "display_name": "Wi-Fi",
    "value": 2,
    "is_default": true,
    "wifi_configuration": {
      "use_external_broker": false,
      "external_broker_address": "",
      "broker_port": 1885,
      "device_ip_address": "192.168.3.6",
      "device_port": 5555,
      "max_live_sample_rate": 1000000
    }
  }],
  "capture_sources": [
  {
    "max_throughput": 0,
    "name": "Energy_Meter",
    "part": "HWL8032",
    "sample_rates": [
        6,
        7,
        8
    ],
    "is_default": true,
    "sensors": [
    {
      "column_count": 4,
      "is_default": true,
      "column_suffixes": [
        "VA",
        "mA",
        "W",
        "V"
      ],
      "type": "Energy_Meter_IC",
      "parameters": [],
      "sensor_id": 1529804975,
      "can_live_stream": true
    }]
  }],
  "is_little_endian": true
}

建筑知識(shí)包

為設(shè)備生成的模型稱為知識(shí)包。知識(shí)包包含用于推理的設(shè)備固件代碼。

有標(biāo)準(zhǔn)步驟可以為邊緣設(shè)備的每個(gè)機(jī)器學(xué)習(xí)項(xiàng)目構(gòu)建模型。

1. 原始數(shù)據(jù)采集

2. 數(shù)據(jù)標(biāo)注

3. 模型準(zhǔn)備

4.模型訓(xùn)練

5. 設(shè)備上的推理

SensiML Toolkit 有助于自動(dòng)化上述大部分步驟。

對(duì)于每個(gè)類,傳感器數(shù)據(jù)被捕獲 4 分鐘。由于電力負(fù)荷是給定持續(xù)時(shí)間的連續(xù)事件,因此捕獲的數(shù)據(jù)用單段注釋。

數(shù)據(jù)收集演示

?

使用 SensiML Analytics Studio Demo 創(chuàng)建知識(shí)包

?

閃光識(shí)別固件

假設(shè)應(yīng)用程序存儲(chǔ)庫(kù)已按照前面的步驟中所述進(jìn)行了克隆。

$ cd qork-sdk/qf_apps/challenge_climate_change

確保在 inc/app_config.h 中將固件模式更改為識(shí)別。

#define S3AI_FIRMWARE_IS_COLLECTION  0		
#define S3AI_FIRMWARE_IS_RECOGNITION 1

構(gòu)建并刷寫固件:

$ cd GCC_Project
$ make
$ qfprog --port /dev/ttyACM0 --m4app output/bin/Challenge_Climate_Change.bin --mode m4

推理演示

演示中顯示的推理速率似乎很慢,因?yàn)椴蓸勇蕿?6,我們使用 4 秒的樣本(總共 24 個(gè)樣本)進(jìn)行推理。此外,應(yīng)用程序中有一個(gè)消息隊(duì)列緩沖來(lái)自 HLW8032 傳感器的數(shù)據(jù),因此知識(shí)包需要一些時(shí)間才能在當(dāng)前事件更改時(shí)到達(dá)。

?

使用 SensiML Open Gateway 進(jìn)行推理演示

?

結(jié)論

我們已經(jīng)通過(guò)線路供電的 QuickFeather 演示了該應(yīng)用程序。由于 QuickFeather 僅通過(guò) UART 從傳感器獲取數(shù)據(jù),因此可以使用電池供電。雖然我們只使用了 2 個(gè)電器使用了 4 個(gè)類別,但該應(yīng)用程序是可擴(kuò)展的,并且通過(guò)捕獲更多數(shù)據(jù)并為許多其他電器訓(xùn)練模型,它可以輕松地對(duì)整個(gè)家用電器負(fù)載進(jìn)行分類。另外,將來(lái)我想嘗試分層模型來(lái)提高縮放版本的模型魯棒性。QuickFeather 開發(fā)板和 SensiML Toolkit 具有為邊緣設(shè)備構(gòu)建和部署機(jī)器學(xué)習(xí)管道的巨大潛力。我希望在不久的將來(lái)看到適用于 MacOS 和 Linux 的數(shù)據(jù)采集實(shí)驗(yà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開發(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開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  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ì)》 溫德爾著
  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)