資料介紹
描述
所以你想構(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 的文件。
硬件設(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ā)揮你的力量,成就非凡。
?
- 瑪麗亞機(jī)器人開(kāi)源硬件
- 華夫餅機(jī)器人開(kāi)源硬件
- 機(jī)器人開(kāi)源硬件
- 手勢(shì)控制機(jī)器人開(kāi)源硬件
- 開(kāi)源硬件-警燈
- AirBits開(kāi)源硬件
- 導(dǎo)航機(jī)器人開(kāi)源硬件
- 音箱開(kāi)源硬件分享
- microBit Bus(機(jī)器人汽車)開(kāi)源硬件
- HBus開(kāi)源硬件
- 樂(lè)高機(jī)器人開(kāi)源硬件
- 門(mén)鈴開(kāi)源硬件
- 線跟隨機(jī)器人開(kāi)源硬件
- 開(kāi)源硬件機(jī)器人設(shè)計(jì)
- 主流的開(kāi)源硬件有哪些詳細(xì)資料說(shuō)明
- 負(fù)壓產(chǎn)生電路分析 1900次閱讀
- 安信可小安派-Knob旋轉(zhuǎn)編碼器驅(qū)動(dòng)板簡(jiǎn)介 481次閱讀
- 安派-Eyes-DU開(kāi)發(fā)板的參數(shù)說(shuō)明 534次閱讀
- 用小安派開(kāi)源硬件制作一個(gè)桌面天氣站 809次閱讀
- 使用開(kāi)源硬件的烹飪過(guò)程 1313次閱讀
- 尋找開(kāi)源硬件成功的觸發(fā)器 636次閱讀
- dfrobotDFRobot Bluno M3控制器簡(jiǎn)介 1823次閱讀
- 源創(chuàng)通信BPI-M1+ 開(kāi)源硬件開(kāi)發(fā)板介紹 2648次閱讀
- 源創(chuàng)通信開(kāi)源智能路由器 MTK 7623N 介紹 2897次閱讀
- 源創(chuàng)通信Banana PI BPI-M1單板電腦介紹 2889次閱讀
- 關(guān)于FPGA在開(kāi)源方面的探索淺析 3706次閱讀
- 基于Altium Designer的OSHw開(kāi)源項(xiàng)目 3609次閱讀
- 三大主流開(kāi)源硬件對(duì)比:Arduino vs BeagleBone vs Raspberry Pi 6363次閱讀
- 11個(gè)機(jī)器學(xué)習(xí)開(kāi)源項(xiàng)目 2767次閱讀
- 開(kāi)源硬件究竟有多“Open”?看完這個(gè)你就清楚了 6939次閱讀
下載排行
本周
- 1免費(fèi)開(kāi)源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 137次下載 | 1 積分
- 2基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 128次下載 | 免費(fèi)
- 3匯川變頻器圖紙
- 0.44 MB | 2次下載 | 免費(fèi)
- 4ADI公司串行端口開(kāi)發(fā)和故障排除指南
- 343.09KB | 1次下載 | 免費(fèi)
- 5英威騰變頻器圖紙
- 1.10 MB | 1次下載 | 免費(fèi)
- 651單片機(jī)pwm和spwm
- 0.19 MB | 1次下載 | 免費(fèi)
- 7AN81-超緊湊型LCD背光逆變器
- 356.1KB | 次下載 | 免費(fèi)
- 8AN107-為汽車和工業(yè)應(yīng)用擴(kuò)展電源路徑電路的輸入電壓范圍
- 74.73KB | 次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費(fèi)
- 2免費(fèi)開(kāi)源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 137次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 128次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 53314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 31次下載 | 免費(fèi)
- 6美的電磁爐維修手冊(cè)大全
- 1.56 MB | 22次下載 | 5 積分
- 7如何正確測(cè)試電源的紋波
- 0.36 MB | 12次下載 | 免費(fèi)
- 8使用TL431設(shè)計(jì)電源
- 0.67 MB | 10次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評(píng)論
查看更多