×

如何在通知程序上以动画的形式显示来自手机的通知

消耗积分:0 | 格式:zip | 大小:0.11 MB | 2023-02-08

好名字

分享资料个

描述

远离亲人呆在家里?在这个困难时期,这个有趣的小项目一定会让您的脸上露出笑容。

在本教程中,我将向您展示如何在通知程序上以动画的形式显示来自手机的通知。

让我们开始吧!

补给品:

ESP12E WiFi 模块 x1

WS2812B LED x27

AMS1117 3.3V 稳压器 x1

10k SMD (0805) 电阻 x4

100nF 贴片 (0805) 电阻 x1

用于 ESP12E 编程的 NodeMCU

第 1 步:计划

 
 
 
 
FYOHB6CK84NK4B3.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 
1 / 2
 

计划是使用IFTTT (If This Then That)扫描手机上发生的特定事件,然后触发 Web 请求。Dweet用于从 IFTTT 发布数据,然后使用 ESP12E 获取相同的数据。

当我开始这个项目时,我的想法是制作一个通知程序,让我知道是否有来自特定人的消息、电话等。但后来我意识到使用 IFTTT 可以做更多的事情。因此,我决定添加低电量、按钮小部件和 Twitter 等通知。您可以从 IFTTT 添加更多事件。

第 2 步:它是如何工作的?

如果发生事件(消息、电池电量不足、通话等),则向 Dweet 发出 Web 请求并以 JSON 格式“发布”数据

例如,如果电池电量下降到 15% 以下,则会触发一个向http://dweet.io/dweet/for/mythingname?发出 Web 请求的事件。注意=电池这会将 "Noti":"batt" 添加到 JSON 代码中。Noti是“键”,batt是它的“值”。

{
"this":"succeeded",
"by":"getting",
"the":"dweets",
"with":
[{
"thing":"mythingname",
"created":"2020-03-25T09:13:17.566Z",
"content":{
"Noti":"batt"
}
}]
}

ESP12E 然后连接到 Dweet 并使用http://dweet.io/get/latest/dweet/for/mythingname “获取”发布的数据,并解析上述 JSON 以检查“ Noti ”的值。每个事件都被分配了一个不同的值,这就是 ESP12E 知道触发了哪个事件的方式。

然后 ESP-12E 会连续显示动画,直到您按下后面的按钮。

第 3 步:设置 IFTTT 和 Dweet

 

 
 
 
3_EDLC9T8beP.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 
1 / 7
 

设置微博:

要检查它是否可用,

  • 你只需要为事物想一个名字。
  • 如果你得到如图所示的响应,那么它是可用的。

设置 IFTTT Applet:

网址 - http://dweet.io/dweet/for/indoorgeek?Noti=batt

  • 访问IFTTT并创建一个帐户
  • 单击“探索”,然后单击“从头开始制作您自己的小程序”
  • 单击“This”并从列表中选择“Android Battery”
  • 选择触发器 - “电池电量低于 15%”
  • 单击“那个”并从列表中选择“Webhooks”
  • 选择操作 - “发出网络请求”
  • 方法 - POST
  • 内容类型 - 文本/纯文本
  • 点击“创建动作”

下载 IFTTT Android/iOS 应用程序并登录您的帐户。该应用程序会根据创建的小程序自动要求您允许访问各种服务。否则,您必须手动授予权限。

在应用程序中,转到“设置”>“同步选项”并启用“更快地运行位置、Android 电池和 WiFi 连接”。

同样,您制作了许多小程序。只需更改粗体的 URL 

安卓电池 - batt

推特 - 推特

按钮 - 按钮

第 4 步:PCB 设计

 

 
 
 
dsc_5420_B28ByycVlC.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
 
1 / 5
 

您可以使用任何您喜欢的软件来设计 PCB。我用的是EasyEDA ,因为它适合像我这样的新手。我附上了原理图。单击此处下载 PCB 的 Gerber 文件。

确保 ESP-12E 模块的 WiFi 天线下方没有地平面。

出于编程目的,为 TX、RX、RST、D3 和 GND 提供了焊盘。

完成 PCB 设计后,从您选择的制造商那里制造它。我选择JLCPCB是因为它的快速服务。

我使用布烙铁通过回流焊焊接了 27 个 LED。我不得不手工焊接 ESP-12E 模块以及电路板背面的一些其他 SMD 组件。

我做的错误:

  • 没有检查原理图,因此错过了与 LED 的 GND 连接。我不得不刮掉平面图上的阻焊层并桥接焊点。
  • 我没有在稳压器的输出端加一个100nF 的电容。ESP-12E 在连接 WiFi 时会消耗更多电流。在没有电容器的情况下,电压下降刚好足以重置 ESP-12E。

不用担心!我已经上传了PCB的修正文件。

第 5 步:编码时间

 

 
 
 
codeedit_P08vQfGowu.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 
1 / 3
 

ESP-12E 可以通过多种方式进行编程。你可以在这里阅读它我将使用 NodeMCU 对其进行编程,这就是我为 RX、TX、RST、D3 和 GND 制作焊盘的原因。确保电路板已通电(5V),以便 ESP-12E 可以使用 3.3V。按照电路板上的标记连接到 NodeMCU。将 NodeMCU 的 EN(启用)引脚连接到 GND。这将禁用 NodeMCU 上的模块,以便可以对我们板上的模块进行编程。将 NodeMCU 连接到您的计算机并打开此处附加的 .ino 文件。

在上传之前,进行以下更改:

  • 输入您的 WiFi SSID
  • 输入您的 WiFi 密码
  • 输入您独特的 dweet“事物”名称。

从库管理器安装ArduinoJsonFastLED库。

注意:安装ArduinoJson时选择低版本(5.13.5)。

选择 Board>NodeMCU 1.0 并点击上传!

第 6 步:3D 打印

这里没什么好看的。只是一个简单的支架,身体呈心形。

支架包含一个通道,USB 电缆从该通道从底座移动到电路板。我将主体设计为摩擦配合。

我仍在努力改进设计。完成后我会更新文件。

第 7 步:享受吧!

将它插入移动充电器,不错过任何通知!

谢谢你坚持到最后。希望你们都喜欢这个项目并且今天学到了一些新东西。如果你自己做一个,请告诉我。订阅我的YouTube 频道以了解更多此类项目。再一次谢谢你!

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !