精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>家用電源監視器

家用電源監視器

2022-12-28 | zip | 0.09 MB | 次下載 | 免費

資料介紹

描述

?

?
poYBAGOrhweAfnEtAABvjaXQoSM078.jpg
在 Google 表格中制作的圖表
?

概述

本文檔將描述構建一個 Google 表格,該表格從 Particle Photon 接收家庭電流數據。在每 24 小時結束時,數據將被復制到一張新表中,該表將由一個腳本進行分析,該腳本將樣本之間的電流幅度變化與已知設備簽名進行比較,以確定給定設備消耗了多少電量。然后將當天的總用電量以及每個設備消耗的電量復制到“DailyLog”表中,該表跟蹤每天的總電量。本指南假定您使用的是 Particle Photon 并已按照其有關初始設置等的說明進行操作。您還需要訪問 Google Drive 并對電子表格有一些基本的了解。

?

?

?
pYYBAGOrhwuAXCbWAAEItS8xBiQ923.png
顯示不同頻率的振幅
?

?

?
poYBAGOrhxuAOrZnAAOlIIfScRg329.png
顯示不同設備何時開啟的圖表
?

?

?
pYYBAGOrhx-AeGlAAAJidh-8fA0515.png
?

?

谷歌電子表格設置

首先轉到您的云端硬盤并創建一個新的 Google 表格,它將從您的 Particle Photon 收集數據。給你的電子表格一個名字,任何你喜歡的名字。第一列標題必須稱為“時間戳”(區分大小寫)。可以為后續列指定任何名稱,但出于本項目的目的,我們將它們填寫為:

?
poYBAGOrhyOAMqTDAABM_f_F_HM099.png
?

?

?

第 1 行必須與本文檔稍后描述的 JSON 鍵完全匹配。第 2 行是信息性的,因此用戶可以看到每列中代表的頻率。這是可由用戶配置的,將在本文檔的 Photon 代碼部分進行描述。

第 3 行將包含一些有助于跟蹤總功耗的公式。單元格 A3 應包含以下公式:

=sum(-1*A4,INDEX(A4:A, COUNT(A4:A)))*24

此公式從最后一個時間戳中減去第一個時間戳,然后乘以 24,得到從第一個樣本到最后一個樣本的總時間量(以小時為單位)。單元格 B3 和 M3 應分別包含公式:

=average(B4:B)*A3*120/1000
=average(M4:M)*A3*120/1000

這些公式計算出平均電流,乘以小時數 (A3),乘以 120V,然后除以 1000,得到當天每個相位消耗的千瓦時總數。

突出顯示 A 列并單擊格式>數字>日期時間以顯示時間戳上的日期和時間。然后,突出顯示單元格 A3 并將其格式更改為“數字”>“數字”,因為它是小時數而不是時間戳。

你應該得到這樣的結果:

?
pYYBAGOrhyaAIUMcAABfx7gIRP8317.png
?

記下文檔中特定工作表的名稱(默認情況下為“Sheet1”),因為稍后您將需要它用于腳本。Photon將向此電子表格發送數據每次添加一個新行。在此電子表格中添加一個附加表并將此函數插入??第一個單元格 (A1):

=SORT(QUERY(Sheet1!A:Z,"order by A desc limit 90"),1,1)

?

這將從 Sheet1 復制最后 90 個條目并不斷更新它們,這將使我們能夠創建動態更新的圖表。您可以創建額外的工作表,將 90 更改為您想要的任何值,從而允許您創建不同時間段的圖表。

像這樣:

?
poYBAGOrhymAIHf_AABRWHx3VLI885.png
?

?

排序功能

查詢功能

Google 表格 注意:有時,當您更改表格中的一個單元格時,它似乎不會生效,直到您在另一個單元格中執行某些操作。如果添加此“排序”功能時沒有任何反應,請在隨機單元格中鍵入一個隨機字符,然后按回車鍵。(不要忘記稍后將其刪除。)或者,繼續執行此操作方法并相信它會彈出。

Google 表格腳本

為了設置電子表格以接收來自 Photon 的數據,我們將創建此處描述的腳本。在 Google 表格中單擊工具>腳本編輯器。這將在新選項卡中打開腳本編輯器。給你的項目任何你喜歡的名字。然后將 Code.gs 中的默認文本替換為 Google 表格 JavaScript(附在下面)。

你應該得到這樣的結果:

?
pYYBAGOrhyuAQ5zoAAC0Um6I46A931.png
?

?

請注意,在第二行中,變量 SHEET_NAME 必須與電子表格中接收數據的特定工作表的名稱一致。因此,如果您更改它的默認值“Sheet1”,請務必在此處也進行更改。

單擊保存圖標,然后通過單擊“運行”>“運行功能”>“設置”來運行設置功能。您將獲得一個彈出窗口來查看權限。單擊“審查權限”,然后在下一個窗口中單擊您的 Google 帳戶。之后,您可能會收到一條提示,提示“此應用未經驗證,”如果是,請單擊“高級”,然后單擊“轉到 GenericScriptName(unsafe)”。然后您可以單擊“允許”以授予腳本編輯電子表格的權限。

?
poYBAGOrhy6AV7KlAAAjgJ9Uzeo765.jpg
?

?

?
pYYBAGOrhzSAVOB8AACxhfjkZdg742.jpg
?

仍在腳本編輯器中時,單擊文件>管理版本以創建腳本的初始版本。給它一個描述,例如“InitialVersion”,然后單擊“保存新版本”,然后“確定”。

接下來我們需要為這些腳本設置觸發器。為此,請單擊“編輯”>“當前項目的觸發器”,這將在新選項卡中打開 G Suite 開發人員中心單擊右下角的“+ 添加觸發器”按鈕,在彈出的窗口中,從下拉列表中選擇“doPost”、“Head”、“From Spreadsheet”和“On form submit”,然后單擊保存. 失敗通知設置可以根據您希望在腳本失敗時收到通知的頻率的偏好來設置。可能會有另一個彈出窗口讓您再次選擇您的 Google 帳戶,然后請求允許腳本編輯工作表的權限,單擊“允許”。

?
poYBAGOrhzeAWbGuAABLphx_C5o322.jpg
?

您還需要創建一個觸發器來每天運行 copy_delete 函數,該函數復制 Sheet1,用當天的日期重命名復制的工作表,然后刪除 Sheet1 上的所有行以開始新的一天的數據。再次單擊“+ 添加觸發器”,然后從下拉選項中選擇“復制_刪除”、“頭部”、“時間驅動”、“日間計時器”和“晚上 10 點至晚上 11 點”(或任何您喜歡的時間)。請注意,該腳本將使用當天的日期重命名工作表,因此您希望時間在午夜之前。再次,失敗通知可以設置為您的偏好。

?
pYYBAGOrhzyAcXowAABbQojvqJY198.jpg
?

同樣,為 appliance_id 和 getDailyTotal 函數添加觸發器。這些腳本應該在 copy_delete 函數運行后運行,因此如果您選擇“晚上 10 點到晚上 11 點”,您可以為 appliance_id 選擇“午夜到凌晨 1 點”,為 getDailyTotal 選擇“凌晨 1 點到凌晨 2 點”,這必須最后運行。

你應該得到這樣的結果:

?
poYBAGOrhz6AN-o4AABIKTUtMwY319.png
?

?

返回到您的腳本(腳本編輯器選項卡)并單擊發布>部署為 Web 應用程序。從下拉列表中選擇相關的項目版本(可能是 1),以“我”的身份執行應用程序,以及誰有權訪問“任何人,甚至是匿名的”。單擊“部署”,您將獲得一個 url,您將需要它來使用您的 webhook。復制它并單擊“確定”。(您可以將鏈接保存在記事本或類似的東西中。)

?
poYBAGOrh0CAVouHAAAb5Pf2nPc382.jpg
?

?

網絡鉤子

對于webhook,我們將詳細說明教程中描述的方法。Particle Console 中,轉到 Integrations 頁面,然后單擊“+ NEW INTEGRATION”框,然后單擊“Webhook”。為 webhook 指定一個事件名稱,這將是啟動 webhook 的Particle.publish事件。出于我們的目的,它將被稱為“GenericWebhookName”(區分大小寫)。對于 url,粘貼您將腳本發布為 Web 應用程序時獲得的地址。請求類型是“POST”,請求格式是“Web Form”,Device 可以保留為“Any”。底部的小下拉菜單是“高級設置”——

單擊底部的“高級設置”菜單并切換“自定義”單選按鈕。開始填寫表單字段。行的順序在這里不是特別重要。值得注意的是,左列與電子表格中的列標題相關,右列是您將要發送的 JSON 鍵/值對中的鍵。為簡單起見,我給它們起了相同的名字。下圖中未顯示所有行,但請繼續填寫,直到電子表格中除“時間戳”之外的每一列都有一行。

?
poYBAGOrh0SANqWUAACQaf_TaMM913.png
?

其他一切都可以保留為默認設置。單擊“創建 Webhook”。完整的 webhook 應如下所示:

?
pYYBAGOrh0aAfp_hAADdGomAEXA585.png
?

固件

首先將您的光子更新到最新版本的固件。單擊設備的build.particle.io網頁左下角的十字準線(設備) 。單擊要使用的設備的下拉菜單,然后選擇最新的系統固件。推薦使用 0.8.0-rc.14 或更新版本,盡管舊版本的 rc 也可以。所選固件目標將在下次刷新時下載到您的設備。

?
poYBAGOrh0iAAUraAAAsm83IPhY137.png
?

對于我們的項目,您可以使用此代碼上傳到您的 Photon。然而,對于一般情況,使用此 webhook 將數據發布到電子表格的格式如下所示:

Particle.publish("GenericWebhookName","{"IrmsA":"" + tIrmsA + "","A1":"" + A_1 + "","A2":"" + A_2 + "","A3":"" + A_3 + "","A4":"" + A_4 + "","A5":"" + A_5 + "","A6":"" + A_6 + "","A7":"" + A_7 + "","A8":"" + A_8 + "","A9":"" + A_9 + "","A10":"" + A_10 + "","IrmsB":"" + tIrmsB + "","B1":"" + B_1 + "","B2":"" + B_2 + "","B3":"" + B_3 + "","B4":"" + B_4 + "","B5":"" + B_5 + "","B6":"" + B_6 + "","B7":"" + B_7 + "","B8":"" + B_8 + "","B9":"" + B_9 + "","B10":"" + B_10 + ""}",5,PRIVATE);

關于下面的 Photon 固件中定義的常量,有幾點需要牢記。樣本數必須是2的冪,采樣頻率必須是樣本數的整數倍。我們發現 4096 似乎是 Photon 可以可靠達到的最大采樣率。常量“harm”是每相捕獲的諧波數,“base_harm”是最低的。例如,我們將“base_harm”定義為 20,并且每相有 10 個諧波(20-200 是 20 的倍數)。我們的測試表明,這大致是我們項目有用信息的范圍。

驗證并刷新您的固件(將代碼下載到您的設備)。此命令發布一個名為“GenericWebhookName”的事件,并生成一串 JSON 格式的文本,發送到我們之前創建的腳本。附加到上面字符串的變量是字符串類型。如果一切順利,在您的Particle 控制臺中,您應該會看到如下內容:

?
pYYBAGOrh0uAP9WaAAELBt_xuec330.png
?

?

現在返回您的電子表格,您應該開始看到添加了數據的行。在您設置為顯示 Sheet1 的最后 X 個條目的 Sheet2 上,您可以通過選擇列來創建圖表,并且圖表將隨著您的數據不斷更新。

附加工作表設置

現在您的工作表正在接收數據,您需要設置一個工作表來保存您將要測試的各個設備簽名。創建一個新工作表并將其命名為“Appliances”(appliance_id 腳本需要這個確切的名稱才能工作)。第 1 行應該是用于標識列的標題。

要獲取設備簽名,請打開設備并在 Sheet1 上記下電流變化的位置。您可能需要多次打開和關閉同一設備,記下時間,以便找到它的簽名。單相電器(如您的微波爐)只會出現在“A”相或“B”相下。像你的空調這樣的電器會在整排發生變化。一旦您在觀看 Sheet1 時“看到”您的設備打開:

突出顯示并復制您注意到的更改前后的行:

?
pYYBAGOrh02AWETxAACHQeus71c989.jpg
?

?

接下來,返回 Appliances 工作表并將數據粘貼到一些空白單元格中:

?
poYBAGOrh1CAOOI8AACE-Py0D5k151.jpg
?

在此數據下方插入一個計算差異的函數:

?
pYYBAGOrh1KAdl_vAAAn0dbwR0o203.jpg
?

并將該公式復制到每一列下。完成整行后,突出顯示并將其粘貼到列表中的下一個空行中。使用“Ctrl+shift+V”粘貼以便僅粘貼值而不是公式。這種差異是您設備的特征。

?
poYBAGOrh1mAIZUFAACU5noQjGo101.jpg
?

將簽名數據復制到適當的行后,您可以刪除多余的數據并填寫設備名稱。您還可以在每個空白列中放置 0。appliance_id 腳本無論如何都會忽略幅度變化小于 1 的頻率(因為信號被噪聲淹沒),因此為了整潔起見,您可以用 0 替換任何小于 1 的數字。完成后,它應該看起來像這樣:

?
poYBAGOrh1uAa7iPAABdwHrvw_A378.jpg
?

接下來,您需要一張表來記錄每日用電量。創建一個名為“DailyLog”的新工作表。對于第 1 行,AE 列應標記為“日期”、“A 階段”、“B 階段”、“總功率”和“總成本”,后續列與您的各個設備名稱匹配,順序與它們列出的順序相同在您的設備表上。它看起來像這樣:

?
pYYBAGOrh16AAiiXAAAcBor1RXk012.png
?

結束語

您現在應該有一個 Google Sheet 文檔,它正在從您的 Particle Photon 接收實時數據到 Sheet1。每天一次,在您指定的時間,應該首先運行 copy_delete 腳本,然后是 appliance_id 腳本,最后是 getDailyTotal 腳本。開始項目時,因為我們保留了 7 天的數據(如果您完全按照本教程進行操作),getDailyTotal 腳本將刪除左側的第七個工作表(或選項卡)。因為您不希望腳本意外刪除您的“DailyLog”或“Appliances”工作表,所以您需要向文檔中添加七個空白工作表。該腳本從左側開始計算表格并按位置刪除第七張表格,因此將您要保留的表格一直移到右側。有點像這樣:

?
pYYBAGOrh2CAFO1TAAAmYzlWmfs224.jpg
?

?

copy_delete 觸發器,該工作表將被復制并重命名為當天的日期,Sheet1 將被清除以開始新的一天。

然后 appliance_id 腳本將梳理當天的數據,并將每行中的幅度變化與 Appliances 表上的每個設備簽名進行比較。它將為每個設備創建一個新列。該腳本基本上是從僅比較當前更改開始的。如果電流變化在電器簽名電流變化的 2 安培范圍內,則它會繼續比較該電器簽名上幅度變化大于 1 的每個頻率。如果它們在彼此指定的公差范圍內(這可以在 appliance_id 腳本(Google 腳本中的第 104 行)的變量“公差”中更改),則腳本將插入該特定的消耗功率(以 kWh 為單位)該設備列下該行中的示例。一旦它被指定為“開”,它只是根據設備簽名中的數量來查找電流,以確定它是否“關閉”。每個設備消耗的總功率被累加并放置在該設備列的第 3 行。腳本運行后,當天的數據將如下所示:

?
poYBAGOrh2KAZN8vAACYhjckwdk102.png
?

查看第 3 行,我們在 A 列中有總小時數,在 B 和 M 列中有 A 相和 B 相消耗的功率(以千瓦時為單位),以及從 X 列開始的每個設備消耗的功率。

最后,getDailyTotal 腳本將運行并將這些總數復制到我們的 DailyLog 頁面。它應該看起來像這樣:

?
pYYBAGOrh2SASYmcAAA-mqHIb-Y677.png
?

?

您需要考慮 getDailyTotal 腳本中的幾個變量。第一個是成本變量,您需要將其定義為供應商的成本/千瓦時電力。第二個是 days2keep 變量,它是您要保留數據的天數。Google 表格允許文檔中最多有 500 萬個單元格(Google 云端硬盤支持),因此您無法無限期地存儲它們。在上面的代碼中,它被賦值為 7 以存儲 7 天。

當您想出新的和創造性的方法來進行計算、更有效地移動數據或創建圖表和圖形來打動您的朋友時,請分享您的想法!(不要忘記將這些新床單移到右邊?。?/font>

?

?
poYBAGOrh2mAG3oVAAHnUtTaWYo571.png
安裝在家庭主電源上的電流互感器。
?

?


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

評論

查看更多

下載排行

本周

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

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

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