电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>喂机器开源硬件

喂机器开源硬件

2023-01-30 | zip | 0.28 MB | 次下载 | 2积分

资料介绍

描述

所以你想构建一个很酷的 -AI-ML 东西,但你没有整天坐下来为你的模型制作数据样本。好吧,自动化那件事我的朋友。

我这样做是为了在 Edge Impulse 中为我的模型获取更好的数据。我将它连接到Github 存储库中的示例代码的温度传感器,但这只是一个示例,EdgeImpulse.py 模块可以在您的项目中单独使用您的传感器

获取代码

在新目录中删除此命令:

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

边缘脉冲

您需要在 上创建一个Edge Impulse 帐户并为初学者克隆我的项目(或者如果您已经熟悉 Edge Impulse,可以随意创建自己的项目)。对于您自己的项目,您将获得自己的 API 密钥。从项目主页单击顶部的键。单击右侧的“添加新的 API 密钥”。给它起一个傻乎乎的名字,然后选择“Ingestion”的角色,点击“Create”并复制这个key。将此密钥粘贴到您本地的 secret_stub.py 副本中并将其另存为 secret.py,然后返回 API 密钥下方的 HMAC 密钥的 API 页面。这也包含在您制作的新秘密文件中,它用于签署您上传到 API 的文件。

poYBAGPXHmWAQNs4AADMtVbrWr4649.png

硬件设置

从通用的 ESP32 开始,如果您愿意,可以使用面包板、穿孔板或定制 PCB。将 DS18B20 传感器连接到 Vcc 和 Gnd,并使用 4.7k 欧姆上拉电阻将数据连接到 ESP32 引脚 2。您可以更改它,但此处的代码中使用了 Pin 2。我们将在下面查看您可以更改的位置。

软件设置

我为最新的 Pip3 版本更新了 Python3,并下载了 esptool.py 和 adafruit-ampy。如果您没有类似的东西,您可能还需要 Thonny 或 Mu。

pip3 install esptool pip3 install adafruit-ampy

我正在使用来自https://micropython.org/download/esp32/的每晚构建的 MicroPython,因为它有一个内置的包管理器,我们将使用它。我在此使用的文件是 esp32-20221220-unstable-v1.19.1-782-g699477d12.bin 但可能有更新的文件可用。

我们首先清理电路板,我的 Mac 将我的设备称为 tty.usbserial-0001,但你的可能会有所不同。通过终端使用 `ls /dev | 检查这个 grep tty` 在连接你的开发板之前和之后。

 

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

 

然后我们将 MicroPython 的固件写入设备。

 

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

 

现在我们需要上网。您可以将所有命令都输入到 Mu REPL 窗口中,这是一种很好的学习方式,但我们可以在这里做一件事,让我们的未来更轻松。如果您在上面开始填写您的 secret.py 文件,那么您现在要填写其余部分。否则,现在我们需要一个名为 secret.py 的文件中的 ssid 和密码部分并加载到 ESP32 上。所以制作你的 secret.py 文件并至少填写:

 

ssid = "MySSID" password = "Sup3r5ecr3tP4ssword"

 

并使用 ampy 将该文件提交给董事会

 

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

 

现在在 Mu 中,您可以将以下内容粘贴到选项卡中,打开 REPL,然后按运行。您的 ESP32 将使用存储在秘密文件中的 SSID 和密码连接到您的家庭网络,然后它将使用该连接使用 mip(它是 pip 的 Micropython 版本)下拉 HMAC 库。HMAC 是我们将用来对上传到 Edge Impulse 的消息进行签名的库。

 

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 行,我们看到以下内容。

 

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 连接到您使用的引脚。调试消息将打印到串行接口,因此您可以观察以这种方式上传的任何问题。有了那个集合,我们将把它放在板上,但将它重命名为main.py以便板子运行。

 

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

 

完成后(`ampy...put...` 对我来说需要大约 16 秒),您可以在 Mu 中打开 REPL 并观察出现的调试消息。一个样本是10个读数,间隔10秒,上传也需要一点时间,所以程序运行一个周期在2分钟左右。它不循环。

如果您的上传没有出现错误,并且数据显示在 Edge Impulse 中,那么您就可以开始使用存储库的主目录了。

LongRunning.py在 ESP32 上使用深度睡眠来节省电池电量,并在需要时间隔一整天读取读数。让我们看看在哪里可以找到这些时期的控件。

 

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

 

SensorPin跟以前一样,就是没有debug?我们将任何重要消息写入 ESP32 上的闪存。当我们将处理器置于深度睡眠状态时,我们必须确保我们需要的任何信息都在闪存中,因此传感器读数和消息(“未找到 SSID”或来自 API 的任何非 200 响应)在写入文件之前我们去睡觉。它们巧妙地称为message.txt和values.json并且应该允许我们上传数据,即使我们在现场用完电池或拉电。

 

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

 

请注意:深度睡眠中的 ESP32 设备确实没有响应。

如果你需要中断程序来恢复它,你会想要阻止它返回到main.py ,所以将以下代码放在 Mu 或 Thonny 中并重新启动设备。按 Control-C 跳转到 REPL,然后运行:

 

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

 

然后您可以检查消息并查看正在发生的情况并根据需要进行更新。DevLog.md文件中提供了其他故障排除和我到目前为止的整个过程。

您现在拥有一台自动数据馈送机来构建更好的 ML 模型。发挥你的力量,成就非凡。

 

评论

查看更多

下载排行

本周

  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次下载  |  免费