電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>喂機(jī)器開(kāi)源硬件

喂機(jī)器開(kāi)源硬件

2023-01-30 | zip | 0.28 MB | 次下載 | 2積分

資料介紹

描述

所以你想構(gòu)建一個(gè)很酷的 -AI-ML 東西,但你沒(méi)有整天坐下來(lái)為你的模型制作數(shù)據(jù)樣本。好吧,自動(dòng)化那件事我的朋友。

我這樣做是為了在 Edge Impulse 中為我的模型獲取更好的數(shù)據(jù)。我將它連接到Github 存儲(chǔ)庫(kù)中的示例代碼的溫度傳感器,但這只是一個(gè)示例,EdgeImpulse.py 模塊可以在您的項(xiàng)目中單獨(dú)使用您的傳感器

獲取代碼

在新目錄中刪除此命令:

git clone https://github.com/cameronbunce/ESP32-Edge-Impulse.git

邊緣脈沖

您需要在 上創(chuàng)建一個(gè)Edge Impulse 帳戶并為初學(xué)者克隆我的項(xiàng)目(或者如果您已經(jīng)熟悉 Edge Impulse,可以隨意創(chuàng)建自己的項(xiàng)目)。對(duì)于您自己的項(xiàng)目,您將獲得自己的 API 密鑰。從項(xiàng)目主頁(yè)單擊頂部的鍵。單擊右側(cè)的“添加新的 API 密鑰”。給它起一個(gè)傻乎乎的名字,然后選擇“Ingestion”的角色,點(diǎn)擊“Create”并復(fù)制這個(gè)key。將此密鑰粘貼到您本地的 secret_stub.py 副本中并將其另存為 secret.py,然后返回 API 密鑰下方的 HMAC 密鑰的 API 頁(yè)面。這也包含在您制作的新秘密文件中,它用于簽署您上傳到 API 的文件。

poYBAGPXHmWAQNs4AADMtVbrWr4649.png

硬件設(shè)置

從通用的 ESP32 開(kāi)始,如果您愿意,可以使用面包板、穿孔板或定制 PCB。將 DS18B20 傳感器連接到 Vcc 和 Gnd,并使用 4.7k 歐姆上拉電阻將數(shù)據(jù)連接到 ESP32 引腳 2。您可以更改它,但此處的代碼中使用了 Pin 2。我們將在下面查看您可以更改的位置。

軟件設(shè)置

我為最新的 Pip3 版本更新了 Python3,并下載了 esptool.py 和 adafruit-ampy。如果您沒(méi)有類似的東西,您可能還需要 Thonny 或 Mu。

pip3 install esptool pip3 install adafruit-ampy

我正在使用來(lái)自https://micropython.org/download/esp32/的每晚構(gòu)建的 MicroPython,因?yàn)樗幸粋€(gè)內(nèi)置的包管理器,我們將使用它。我在此使用的文件是 esp32-20221220-unstable-v1.19.1-782-g699477d12.bin 但可能有更新的文件可用。

我們首先清理電路板,我的 Mac 將我的設(shè)備稱為 tty.usbserial-0001,但你的可能會(huì)有所不同。通過(guò)終端使用 `ls /dev | 檢查這個(gè) grep tty` 在連接你的開(kāi)發(fā)板之前和之后。

?

esptool.py --chip esp32 -p /dev/tty.usbserial-0001 erase_flash

?

然后我們將 MicroPython 的固件寫(xiě)入設(shè)備。

?

esptool.py --chip esp32 -p /dev/tty.usbserial-0001 --baud 460800 write_flash -z 0x1000 esp32-20221220-unstable-v1.19.1-782-g699477d12.bin

?

現(xiàn)在我們需要上網(wǎng)。您可以將所有命令都輸入到 Mu REPL 窗口中,這是一種很好的學(xué)習(xí)方式,但我們可以在這里做一件事,讓我們的未來(lái)更輕松。如果您在上面開(kāi)始填寫(xiě)您的 secret.py 文件,那么您現(xiàn)在要填寫(xiě)其余部分。否則,現(xiàn)在我們需要一個(gè)名為 secret.py 的文件中的 ssid 和密碼部分并加載到 ESP32 上。所以制作你的 secret.py 文件并至少填寫(xiě):

?

ssid = "MySSID" password = "Sup3r5ecr3tP4ssword"

?

并使用 ampy 將該文件提交給董事會(huì)

?

ampy -p /dev/tty.usbserial-0001 put /path/to/secret.py

?

現(xiàn)在在 Mu 中,您可以將以下內(nèi)容粘貼到選項(xiàng)卡中,打開(kāi) REPL,然后按運(yùn)行。您的 ESP32 將使用存儲(chǔ)在秘密文件中的 SSID 和密碼連接到您的家庭網(wǎng)絡(luò),然后它將使用該連接使用 mip(它是 pip 的 Micropython 版本)下拉 HMAC 庫(kù)。HMAC 是我們將用來(lái)對(duì)上傳到 Edge Impulse 的消息進(jìn)行簽名的庫(kù)。

?

import network, mip, secret wlan = network.WLAN(network.STA_IF) wlan.active(True) if not wlan.isconnected(): wlan.connect(secret.ssid, secret.password) while not wlan.isconnected(): pass mip.install('hmac')

?

使用完整的 secret.py 文件,并將 DS18B20 傳感器連接到 Pin 2,EdgeImpluse_DS18B20_example.py在 Tests and Examples 文件夾中查看。在第 16 行,我們看到以下內(nèi)容。

?

import json, time, hmac, hashlib import ubinascii, network, ds18x20, onewire, secret import urequests as requests from machine import Pin, WDT debug = True SensorPin = 2 # a DS18B20 attached on pin 2

?

如果您使用了不同的引腳,您可以將 SensorPin 連接到您使用的引腳。調(diào)試消息將打印到串行接口,因此您可以觀察以這種方式上傳的任何問(wèn)題。有了那個(gè)集合,我們將把它放在板上,但將它重命名為main.py以便板子運(yùn)行。

?

ampy -p /dev/tty.usbserial-0001 put EdgeImpluse_DS18B20_example.py main.py

?

完成后(`ampy...put...` 對(duì)我來(lái)說(shuō)需要大約 16 秒),您可以在 Mu 中打開(kāi) REPL 并觀察出現(xiàn)的調(diào)試消息。一個(gè)樣本是10個(gè)讀數(shù),間隔10秒,上傳也需要一點(diǎn)時(shí)間,所以程序運(yùn)行一個(gè)周期在2分鐘左右。它不循環(huán)。

如果您的上傳沒(méi)有出現(xiàn)錯(cuò)誤,并且數(shù)據(jù)顯示在 Edge Impulse 中,那么您就可以開(kāi)始使用存儲(chǔ)庫(kù)的主目錄了。

LongRunning.py在 ESP32 上使用深度睡眠來(lái)節(jié)省電池電量,并在需要時(shí)間隔一整天讀取讀數(shù)。讓我們看看在哪里可以找到這些時(shí)期的控件。

?

interval = 600000 # 10 minutes SensorPin = 2 ReadingBatch = 145 # 24 hours of readings with interval = 10 minutes being 144

?

SensorPin跟以前一樣,就是沒(méi)有debug?我們將任何重要消息寫(xiě)入 ESP32 上的閃存。當(dāng)我們將處理器置于深度睡眠狀態(tài)時(shí),我們必須確保我們需要的任何信息都在閃存中,因此傳感器讀數(shù)和消息(“未找到 SSID”或來(lái)自 API 的任何非 200 響應(yīng))在寫(xiě)入文件之前我們?nèi)ニX(jué)。它們巧妙地稱為message.txt和values.json并且應(yīng)該允許我們上傳數(shù)據(jù),即使我們?cè)诂F(xiàn)場(chǎng)用完電池或拉電。

?

ampy -p /dev/tty.usbserial-0001 put DS18B20Reader.py ampy -p /dev/tty.usbserial-0001 put EdgeImpulse.py ampy -p /dev/tty.usbserial-0001 put LongRunning.py main.py

?

請(qǐng)注意:深度睡眠中的 ESP32 設(shè)備確實(shí)沒(méi)有響應(yīng)。

如果你需要中斷程序來(lái)恢復(fù)它,你會(huì)想要阻止它返回到main.py ,所以將以下代碼放在 Mu 或 Thonny 中并重新啟動(dòng)設(shè)備。按 Control-C 跳轉(zhuǎn)到 REPL,然后運(yùn)行:

?

import os os.remove("main.py")

?

然后您可以檢查消息并查看正在發(fā)生的情況并根據(jù)需要進(jìn)行更新。DevLog.md文件中提供了其他故障排除和我到目前為止的整個(gè)過(guò)程。

您現(xiàn)在擁有一臺(tái)自動(dòng)數(shù)據(jù)饋送機(jī)來(lái)構(gòu)建更好的 ML 模型。發(fā)揮你的力量,成就非凡。

?

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

評(píng)論

查看更多

下載排行

本周

  1. 1免費(fèi)開(kāi)源CC3D飛控資料(電路圖&PCB源文件、BOM、
  2. 5.67 MB   |  137次下載  |  1 積分
  3. 2基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
  4. 0.10 MB   |  128次下載  |  免費(fèi)
  5. 3匯川變頻器圖紙
  6. 0.44 MB   |  2次下載  |  免費(fèi)
  7. 4ADI公司串行端口開(kāi)發(fā)和故障排除指南
  8. 343.09KB   |  1次下載  |  免費(fèi)
  9. 5英威騰變頻器圖紙
  10. 1.10 MB   |  1次下載  |  免費(fèi)
  11. 651單片機(jī)pwm和spwm
  12. 0.19 MB   |  1次下載  |  免費(fèi)
  13. 7AN81-超緊湊型LCD背光逆變器
  14. 356.1KB   |  次下載  |  免費(fèi)
  15. 8AN107-為汽車和工業(yè)應(yīng)用擴(kuò)展電源路徑電路的輸入電壓范圍
  16. 74.73KB   |  次下載  |  免費(fèi)

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  450次下載  |  免費(fèi)
  3. 2免費(fèi)開(kāi)源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  137次下載  |  1 積分
  5. 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
  6. 0.10 MB   |  128次下載  |  免費(fèi)
  7. 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
  8. 2.96 MB   |  44次下載  |  免費(fèi)
  9. 53314A函數(shù)發(fā)生器維修手冊(cè)
  10. 16.30 MB   |  31次下載  |  免費(fèi)
  11. 6美的電磁爐維修手冊(cè)大全
  12. 1.56 MB   |  22次下載  |  5 積分
  13. 7如何正確測(cè)試電源的紋波
  14. 0.36 MB   |  12次下載  |  免費(fèi)
  15. 8使用TL431設(shè)計(jì)電源
  16. 0.67 MB   |  10次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935119次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65987次下載  |  10 積分