IoT钱包(带有Firebeetle ESP32,Arduino IDE和Google电子表格的智能钱包)

36,597

161

8.

产品介绍:物联网钱包(Firebeetle ESP32, Arduino IDE和谷歌电子表格智能钱包)

关于:制造商,工程师,疯狂的科学家和发明家

教学桌袖珍比赛一等奖!:D.

如果你投资了一些加密货币,你可能已经知道它们的波动性很大。它们一夜之间就变了,你永远不知道现在你钱包里还有多少“真正”的钱。这同样适用于股票市场。你对某只股票有点信心,第二天市场就会莫名其妙地认为它一文不值。

那么你如何跟踪这些资产并知道他们当前的价值?您可以使用某些电子表格并定期更新它们。或者您可以创建自己的小工具来检查您的这些值:IOT钱包!

在这个项目中,我使用谷歌电子表格来跟踪我的资产,并根据从Internet检索到的股票代码值更新它们的特定货币的值。该电子表格可通过ESP32和Wi-Fi连接访问,摘要显示在OLED显示屏上。我用3D打印机创建了一个钱包,在里面嵌入了一些电子元件,创建了我的第一个物联网钱包原型。

这还不是全部!为什么不在同一个装置里加上一个与互联网同步的时钟和一个步数计呢?在本教程中,我将向您展示如何做到这一点。

使用本教程有几种方法。您可以使用它来:

- 了解如何使用Google电子表格跟踪和更新特定货币的资产值;

-使用Arduino IDE编写ESP32;

-使用ESP32设备从谷歌电子表格中读取值;

-练习电子和焊接技术等;

您可以使用本教程的一部分来创建自己的小工具,或跟随它的最后产生自己的钱包。

本教程分为以下几部分:

一步 主题 话题
1 工具和材料

本项目中使用的工具和材料

2-3 3 d打印技术 如何制作3D模型和3D打印小工具
4-5 数码产品 如何连接电路
6-7 谷歌电子表格 如何使用您的小工具创建Google电子表格
8 - 12 编码 如何使用Arduino IDE编程ESP32

如何跟踪加密货币价格的一些很棒的教程。这是这个项目的灵感://www.sledutah.com/id/Simple-10-Crypto-Currency-Display/

喜欢那个项目吗?请考虑支持我的未来项目与一个小比特币捐赠!D BTC存款地址:1 fiwfysjral7sldr5wr6h86qkma6pqxkxj

步骤1:工具物料

在这个项目中,我们使用了以下工具:

  • 3D打印机。我用它来打印我的钱包,并为电子产品制作了一个外壳(带有普通PLA灯丝)。你可以在网上找到一些不起眼的3D打印机,它们可以很好地用于这个项目(链接).
  • 1.75毫米PLA长丝链接/链接/链接).我使用了白色和蓝色的PLA灯丝打印的情况下,电子封装和保护。这样,如果我坐在钱包上,或者钱包不小心掉在地板上,它们就不会被压碎。
  • 烙铁和电线。我需要用它在电子元件之间焊接一些电线,稍后你会看到。
  • 超级胶水。3D设计被打印在不同的部分。我用强力胶把它们粘在一起。

我在项目中使用了以下硬件部件:

  • Firebeetle ESP32开发板链接).Firebeetle ESP32电路板非常易于使用和使用Arduino IDE进行程序。它具有内置蓝牙和Wi-Fi模块,因此您可以在项目的变体中使用它。它有一个用于3.7V电池的连接器,它对组装该项目非常有用。我还有一个内置电池充电器。连接到USB插头时它将充电电池。您还可以使用其他基于ESP32的板(链接/链接)或ESP8266型(链接/链接/链接)如果你愿意。根据你选择的板,它将是一个有点困难的连接和充电的电池。案件的规模也需要核实。
  • OLED显示器链接/链接). 它连接到ESP板,用于显示从Google电子表格中获得的值。
  • gy - 521加速度计链接/链接).它被用作计步器。
  • 3.7 v的电池链接/链接).我曾经给整个电路供电。
  • 电线
  • 微型USB电缆
  • M2x6mm螺栓(x9)
  • M2x1.5mm坚果(x5)

上面的链接只是建议您在哪里可以找到本教程中使用的项目(可能还支持我未来的教程)。您可以在其他地方随意搜索,也可以在您喜爱的本地或在线商店购买。

正如之前所说,一些ESP开发板没有内置电池连接器(和充电器)。在这种情况下,您需要一个外部电池充电模块(TP4056 (链接/链接), 例如)。它可能需要一个Mini USB电缆,用于充电器和USB端口之间的连接。
你知道你只需155.99美元就可以买到一台Anet A8吗?以最佳状态获取您的:http://bit.ly/2kqVOdO

步骤2:3D建模

在这一步中,我介绍了钱包是如何设计的3D打印使用柔性细丝。我还介绍了在保护电子元件的情况下所涉及的设计步骤。

如果您只对打印您自己的钱包感兴趣,请跳到下一步,在那里您可以找到完成的stl文件。如果您对3D打印不感兴趣,请跳过更多步骤。如果你对3D打印感兴趣,但没有打印机,为什么不买一个呢?你知道只花359.99美元就可以买到一台3D打印机吗?点击在这里!!

这个钱包被设计成可以容纳三张卡片和一些电子设备(微控制器、显示器和电池)。松紧带可以用来存放额外的文件或者一些纸币。它是用Fusion 360 CAD软件设计的。

该模型仅由两个不同的部分组成:帽,身体。我会详细介绍我如何在自己的设计上复制它的情况下如何绘制这些部分。

1.组件

首先,我对钱包上使用的每个部件做了一个简单的表示。他们不必非常详细,但应该有正确的测量。这对于确定钱包内每个部件的相对位置非常重要。这样,我必须为ESP32 Firebellet、OLED显示屏、电池和标准信用卡创建一个模型。

2.安排的组件

有了每个组件的模型,您可以使用它们的位置,并为每个组件选择最佳位置。我想要创造一个尽可能纤细小巧的小玩意。通过这种方式,我试图组织设备使用一个接近标准信用卡区域的足迹。

3.画草图

在选择了仪器的位置后,绘制了草图并对结构进行了挤压。

该模型分为两部分:钱包本体和前盖。阀体上有用于安装电子器件的螺栓孔。它还有一个小孔,可以将USB线连接到微控制器上(用于上传代码或充电)。它被设计在0.8毫米的墙壁上,有3张卡片的空间。前面的转换器粘在钱包上,保护电子设备。它还有一个用于触摸按钮的孔。

步骤3:3D打印

您可以在以下网站上下载所有STL文件:

https://www.thingiverse.com/thing:2886806

https://pinshape.com/ITEMS/45150-3D-printeDuiT-SM ...

https://cults3d.com/en/3d-model/gadget/iot-wallet

整个印刷花了我大约2小时30点,印有0.2毫米分辨率和10%的填充物。

这是一个实验原型。请注意,它是专为给定的ESP32开发板型号(ESP32 Firebetle)设计。如果您想使用不同的型号,请发送评论,我可以看出是否可以更改模型尺寸以满足您的需求。

如果你没有3D打印机,这里有一些你可以做的事情:

  • 请朋友帮你打印;
  • 找到附近的黑客/制造商空间。该模型中使用的部件可以快速打印(约3小时)。一些黑客/制造商空间只会为所用材料充电;
  • 购买你自己的3D打印机。你可以花359.99美元找到Creality3D CR10。使用优惠券代码cr10mini3d在Gearbest和得到您的:http://bit.ly/2JIUVrf
  • 凑合!您可以尝试组装无需3D印刷部件的结构。

有兴趣购买DIY套件吗?如果有足够的人有兴趣,我可能会在Tindie.com上提供DIY套件。如果你想要一个,请给我发消息。

第四步:连接电路

该电路采用四个主要部件:

  1. Firebeetle ESP32。这个开发板已经配备了WiFi模块和3.7V电池的连接器。如果连接USB数据线,还可以为电池充电。

在把电子设备装进箱子之前,我先焊好了电线。各部件的连接如图所示。

OLED显示器:

  • 显示Vcc引脚-> ESP32 3V3引脚
  • 显示接地引脚->ESP32接地引脚
  • 显示SDA引脚->ESP32 D3引脚
  • 显示SCL引脚-> ESP32 D5引脚

gy - 521(加速度计):

  • GY-521 Vcc引脚->ESP32 3V3引脚
  • GY-521 Gnd引脚-> ESP32 Gnd引脚
  • GY-521 SDA引脚-> ESP32 SDA引脚
  • GY-521 SCL引脚->ESP32 SCL引脚

加速计不是强制性的。如果你愿意,你甚至可以取下它来节省一些电池。

步骤5:组装组件

打印外壳和焊接组件后,就可以组装这个小玩意了。我使用M2螺栓和螺母将电子设备连接到结构上。各部件的安装顺序如下:

  1. 电池
  2. 显示
  3. 加速计
  4. ESP32
  5. 按钮

在使用M2螺栓和螺母将ESP32连接至外壳之前,必须将电池连接至ESP32的电源连接器。由于空间限制,外壳和连接器之间存在干扰,一旦微控制器固定,您将无法插入/拔出电池。

按钮由连接到电线的螺栓+螺母制成。该电线焊接到ESP32的触摸销。

你可以用强力胶把钱包的前盖粘在钱包上。建议只有在上传代码并测试小工具之后才这样做,稍后将对此进行描述。

步骤6:使用谷歌电子表格

改善您的金融生活组织的第一步是开始记录您的收入,投资和开支。使用Google电子表格将是一个良好和自由的工具,特别是如果您正在处理股票市场或加密货币。

使用谷歌电子表格还可以创建一个数据库,gadget可以从中读取所有类型的数据。在这个项目中,我使用了一个互联网接入的ESP32来获取一些关于我的加密货币的信息(金额,价值等)。这些数据在谷歌电子表格内部更新,或者由用户手动更新(例如,如果我购买了更多的硬币)。虽然我是出于财务目的使用它,但您可以将这种方法用于所有类型的数据。

首先,我必须定义我的电子表格:例如,在每一列中应该输入哪些数据。

1.创建一个新的谷歌电子表格。去https://docs.google.com/spreadsheets/u/0/并添加一个新的空白电子表格。

2.您可以通过单击左上角的标题来重命名电子表格。由于我想追踪我的不同的股票(加密货币,股票等)我以我命名为'资产”。

3.安装Cryptofinance插件。它将用于获取各种加密货币的价值。

A.转到菜单上的附加组件,然后单击“获得附加组件“;

湾搜索 ”cryptofinance“然后点击”+免费“安装它;

4.我使用第一列存储资产的名称。使用加密货币或股票的市值。例如,比特币的BTC、以太币的ETH、谷歌股票的GOGL34等。第一个单元格保留为列(“资产”)的标题。

5.第二列存储该资产的数量。例如,如果你有0.1个比特币,在等值于BTC的线上输入这个值。和以前一样,列的标题('数量)在第一行就实现了。

6.第三列将存储每个资产的代码,即它们与给定货币的转换。这些值将使用特定的功能(CRYPTOFINANCE用于加密货币,GOOGLEFINANCE用于普通股票市场)从互联网加载。

7.第四列存储资产的价值,转换为您选择的货币。

第七步:分享谷歌电子表格

我项目的这一部分是基于José Morais的神奇教程。你可以在以下网站找到更多信息:https://portal.vidadesilicio.com.br/lendo-dados-do-google-planilhas-banco-de-dados/

  1. https://console.developers.google.com/apis并创建一个新项目。我把它命名为'加密电脑';
  2. 凭证“选择”创建凭证”。将该值复制到某个地方(你的代码中需要它);
  3. 回到https://console.developers.google.com/apis.点击 '图书馆”,选择“谷歌表API”和“启用”;
  4. 打开要用作数据库的电子表格;
  5. 点击 '分享'(右上角)然后'高级';
  6. 您的电子表格可能如下所示:私有的”。为了让其他电子设备读取它,你必须激活这个选项。与链接的任何人分享',并保存新设置;
  7. 复制您的电子表格的ID(您稍后将需要它来编写代码)。

例如,现在你可以从电子表格中读取数据。请注意,通过这种方式,您的数据将对任何拥有链接的人公开。它不会是真正的安全,所以我建议你不要使用它,如果你担心有人会使用它没有你的同意。另外,不要把电子表格的链接分享给任何人!你应该意识到,如果你的电子表格中有很多有用的信息,就不应该使用这个方法。

第8步:在Arduino IDE上设置ESP32

对于这个项目,我使用Arduino IDE来编程我的NodeMcu。如果您以前已经使用过Arduino,那么这是最简单的方法,您不需要学习新的编程语言,例如Python或Lua。

如果您以前从未这样做过,首先必须将ESP8266板支持添加到Arduino软件中。


1.下载并安装最新版本的Arduino IDE

你可以在Arduino的网站上找到Windows、Linux或MAC OSX的最新版本:https://www.arduino.cc/en/main/software

免费下载,安装在你的电脑上并启动它。

2.添加ESP32董事会

Arduino IDE已经支持很多不同的板:Arduino Nano, Mine, Uno, Mega, Yún等。不幸的是,ESP32并不是默认支持的开发板。因此,为了将代码上传到ESP32基板,你必须先将它的属性添加到Arduino的软件中。

  • 导航到文件>首选项(在Windows操作系统上按Ctrl+);
  • 添加以下URL到附加板管理器文本框(在偏好窗口的底部):

https://git.oschina.net/dfrobot/FireBeetle-ESP32/raw/master/package_esp32_index.json

  • 如果文本框不是空的,则表示之前已经在Arduino IDE上添加过其他板。在前面的URL和上面的URL的末尾添加一个逗号。
  • 点击“确定”按钮并关闭首选项窗口。
  • 导航的工具>单板>单板管理器用于添加ESP32单板。
  • 在“搜索”文本框中键入“Firebeetle-esp32”,选择“Firebeetle-ESP32 MainBoard By DFROBOT DFRDUINO”并安装它。

现在,您的Arduino IDE将准备好与ESP32 FireBeetle板一起工作。

如果您希望使用基于ESP8266的电路板,请添加相应的电路板。


3.添加库

以下库将用于我们的Arduino代码。下载以下库:

导航到素描 - >包括库 - >管理库......,并添加上面的库。

............

现在开发环境已经准备好了,让我们继续下一步!

步骤9:Arduino(ESP32)代码

此时,小工具差不多完成!

下载Arduino代码并在Arduino IDE上打开。需要更新一些参数(WiFi路由器SSID和密码,谷歌电子表格ID和密码等)。更新后将代码上传到ESP32。代码将立即开始运行。

ESP32进入深度睡眠模式。每当触摸按钮按下时,微控制器就会唤醒,连接WiFi网络,读取谷歌电子表格中的数据。在ESP开始再次休眠之前,你的硬币数量将显示,连同当前的代码和转换到你的货币的价值。这样我们可以节省一些电池。当钱包休眠时,显示器将是空白的。

如您所见,GY-521加速计将不用于此步骤。如果愿意,您甚至可以删除它。

第10步:奖金回合#1:省钱报价!

说到钱,有好的建议来帮你省钱总是好的!如果你的钱包能帮上忙,能引用一些伟大思想家的名言,这样你在花钱之前就能好好反思一下,不是很好吗?

正如您之前注意到的,到目前为止设计的代码并没有大量使用显示。在这一步中,我添加了一个新特性。每当你按下这个按钮,它就会在你继续前进之前给你一个随机的建议。

如图所示,下载Arduino代码,在Arduino IDE上打开。需要更新一些参数(WiFi路由器SSID和密码,谷歌电子表格ID和密码等)。更新后将代码上传到ESP32。代码将立即开始运行。

第11步:奖励圆#2:时间是金钱!

在任何电子设备的显示器上,你首先看到的是什么?无论是微波炉、电视接收器还是手机,你总能在某处找到一个隐藏的时钟!对于我的智能钱包来说,也不会有什么不同。

在这个步骤中,我增加了一个新功能,可以从互联网服务器获取当前时间,并将其显示在连接到ESP32的显示器上。这里使用的原则已经在我的另一个教程中介绍过了:

//www.sledutah.com/id/Minimalist-IoT-Cl...

下载Arduino代码并在Arduino IDE上打开它。更新参数(WiFi路由器SSID和密码、谷歌电子表格ID和密码等),并将代码上传至ESP32。

现在,您的IoT钱包将从Google Server定期汇集当前时间并在OLED显示屏上显示。请注意,这将消耗更多电池,一旦ESP将定期醒来,检查时间并更新显示。显示屏还将消耗一些毫安来一直显示时钟。

第十二步:奖金第三轮:提高你的健康水平,改善你的财务状况!

您可以制作的最佳长期投资是照顾您的健康。健康的生活可以导致药品,健康保险和奇迹饮食的费用较少,这可能导致更幸福和更经济稳定的生活。

在这一步中,我将向你展示如何将你的智能钱包变成一个计步器,能够记录你的身体活动。这可以激励你走更远的路,每一步都能省下几分钱。注册的数据将被发送到Thingspeak,因此您的数据将被安全地存储,并可用于其他设备。

有许多数据记录服务可用于微控制器与网络的通信。有了这些服务,你可以向云端上传/下载数据,做很多很酷的事情。看看我的教程,比如如何使用Arduino + ESP8266从Thinkgspeak的迷你气象站发送数据(链接).


创建Thingspeak通道

  • 标志在https://thingspeak.com/
  • 点击频道>新chanell添加并创建一个名为“步进计数器”的通道。它将创建一个数据库,我们将使用它不时存储步骤数。
  • 点击>键并复制键值。

下载Arduino代码并在Arduino IDE上打开它。更新参数(Thingspeak密钥、WiFi路由器SSID和密码、谷歌电子表格ID和密码等),并将代码上传至ESP32。您可能还需要更改代码上加速计的灵敏度,以获得更好的步长计数。

你的物联网钱包现在将能够测量你在给定时间内的步数,并将其发送到云。通过这种方式,您将能够绘制一些有趣的图表,甚至使用这些值来驱动其他事件。

注意,你的物联网钱包现在会消耗大量电池。它必须让微控制器和加速计始终处于开启状态。您可以定期关闭WiFi模块以节省一些电池,并增加与云同步的时间间隔。

步骤13:最后的考虑

我对这个项目的实现进行了很多努力,使其明确和教育。如果你喜欢它,请不要忘记'喜欢'和'分享'。您的支持非常重要,无法保留工作!:D.

如果您仍然不了解我的教程,请看一下其他项目,我在这些项目中介绍了物联网、机器人技术和3D打印。我希望你喜欢!

//www.sledutah.com/id/IoT-Air-Freshner-..。

//www.sledutah.com/id/Minimalist-IoT-Cl...

https://www.sledutah.com/id/3d-printeded-articu ...

//www.sledutah.com/id/Nunchuk-Controlle..。

//www.sledutah.com/id/3D-Printed-Tool-H...

喜欢我的项目吗?请考虑用小额比特币捐款支持我未来的项目!:D.

BTC存款地址:1 fiwfysjral7sldr5wr6h86qkma6pqxkxj

口袋大小的比赛

第一名
口袋大小的比赛

单片机竞赛

参加了
单片机竞赛

第一个分享

    建议书

    • Pi日速度挑战赛

      Pi日速度挑战赛
    • 从垃圾到宝藏大赛

      从垃圾到宝藏大赛
    • 单片机竞赛

      单片机竞赛

    8评论

    0.
    juropeki

    两年前

    干得好,谢谢分享!

    0.
    IgorF2

    2年前回复

    谢谢!:D.

    0.
    Tarantula3

    两年前

    搞定了

    0.
    IgorF2

    2年前回复

    谢谢!我很高兴你喜欢它。:)

    0.
    卡洛斯落羽杉

    两年前

    人,优秀!不断努力,不断进步。

    0.
    IgorF2

    2年前回复

    Obrigado,卡洛斯!:D.

    0.
    见证人梅诺

    两年前

    令人敬畏的项目伊戈尔!