电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用Google表格监控温度

使用Google表格监控温度

2022-12-06 | zip | 0.19 MB | 次下载 | 免费

资料介绍

描述

概述

监测家中的温度和湿度是有帮助的,它使居民能够调节供暖,以创造一个完美的加热气氛。很高兴看到一个屏幕通知您当前的温度和湿度,但是如果您可以在 Google 电子表格上实时可视化它会怎样,这样您就可以通过在任何设备上单击一两次来随时检查您家的状态。

该项目旨在让任何人和每个人都可以轻松访问所有这些内容。利用 Temboo 的 Google 表格编排,您可以轻松地对您的 Arduino Yun 进行编程,以将包含您家的温度和湿度的值附加到 Google 表格中。

 
 
 
 
pYYBAGNsU5KAHtwzAAvoMdr1hL8531.jpg
 
1 / 2简易电路
 

功能性

TemperatureVisualiser 将从 DHT11 温度和湿度传感器读取读数并将数据发送到 Temboo。然后 Temboo 会将数据重定向到 Google API,然后是 Google Sheets,在电子表格上显示信息这是说明该过程的图像。

 
poYBAGNsU5WAIOhzAADE2WC5QZI038.png
传输过程
 

这是项目代码概述的图解图像。

 
pYYBAGNsU5iAbFCMAAB6-XFuJu0906.png
代码概述
 
  • 读取温度和湿度将从传感器读取温度和湿度,然后存储数据。
  • 过程数据将处理温度和湿度值,并将它们与发送所需的子格式一起输入缓冲区。
  • Parse Data to Temboo 会将缓冲区作为 choreo 发送到 Temboo。

Temboo 和 Google 要求以 json 格式与值一起发送数组数组。格式化的缓冲区将如下所示。

[ [ temp, hum, ] ]

Temp 是从 DHT11 传感器接收到的温度读数。Hum 是从 DHT11 传感器接收到的湿度读数。

好处

运营该项目的用户将受益于:

  • 随时随地轻松访问数据
  • 易于使用 - 只为 Arduino Yun 供电
  • 使用 Google 表格轻松实现可视化

建设项目

第 1 步:所需设备

该项目包含的硬件很少,因此很容易构建。对于这个项目,您将需要:

  • 跳线
  • 1 电源(我使用连接到 Mac 的 USB 电缆)
 
poYBAGNsU5yAUtpdAAvH6Iyi6MA793.jpg
所有组件
 

第 2 步:连接电路

只有 3 个组件 = 易于组装。以下是该项目的示意图:我要用 5v 为我的 DHT11 传感器供电,因此请确保您的传感器支持 5v,如果不支持,请使用 3.3v。

 
poYBAGNsU6OAaRPQAAJHo2fFRgI950.png
原理图
 

第 3 步:确认代码

代码分为三个部分:

  • 读取传感器
  • 创建缓冲区
  • 解析缓冲区

这些项目由两个草图组成,主代码和一个包含所有用户在 Google 和 Temboo 上的帐户数据的头文件。这里仔细看一下代码的各个部分,头文件将在下面的“设置变量”中设置。

  • 读取传感器值
overview = DHT.read11(11); // Read the sensor output 
temp = DHT.temperature,1; // store temperature 
hum = DHT.humidity,1; // store humidity 

这部分代码使用库从 DHT11 传感器读取数据。当读取结果时,它们存储在温度和湿度的单独变量中(temphum )。

  • 追加到缓冲区
sprintf(values,"[[%02d,%02d,]]",temp,hum); // insert temp and hum in the json packet required 

这是将传感器值附加到缓冲区的代码行,sprintf 会将字符添加到缓冲区。[[%02d,%02d,]] 是 Google 要求能够读取值的布局。

  • 将缓冲区解析为 Temboo
TembooChoreo AppendValuesChoreo; // initialise which choreo to begin 
 AppendValuesChoreo.begin(); // begin the choreo 
 // Set Temboo account credentials - Set in Acounts.h 
 AppendValuesChoreo.setAccountName(TEMBOO_ACCOUNT); 
 AppendValuesChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME); 
 AppendValuesChoreo.setAppKey(TEMBOO_APP_KEY); 
 // Set Choreo inputs - Set in Accounts.h 
 AppendValuesChoreo.addInput("RefreshToken", GOOGLE_CLIENT_REFRESH_TOKEN); 
 AppendValuesChoreo.addInput("ClientSecret", GOOGLE_CLIENT_SECRET); 
 AppendValuesChoreo.addInput("Values", values); 
 AppendValuesChoreo.addInput("ClientID", GOOGLE_CLIENT_ID); 
 AppendValuesChoreo.addInput("SpreadsheetID", GOOGLE_SPREADSHEET_ID); 
 AppendValuesChoreo.setChoreo("/Library/Google/Sheets/AppendValues");
 // identify choreo to run 
 AppendValuesChoreo.run(); // run the choreo 

这部分代码初始化 Temboo,开始编排,设置 Temboo 帐户凭据和 Google 帐户凭据并运行编排。所有帐户的凭据都可以在 Accounts.h 文件中设置。

设置变量

所有变量都在项目主草图附带的 Accounts.h 头文件中设置,您所要做的就是在头文件中定义变量以使 choreo 运行。输入将在下面的“后端程序”中解释,我们将为项目设置 Temboo 和 Google API。

图书馆

Temboo - 版权所有 (c) 2017 Temboo Inc. 在 Apache 2.0 许可证下。查看此许可证

DHT - 作者 Rob Tillaart 这个库在公共领域

Bridge - Arduino LLC 这个库在公共领域

设置

对于这个项目,您需要一个已经设置和初始化的 Arduino Yun。查看有关开始使用 Yun 的指南这是一个链接,其中包含有关您的 Arduino Yun 上的Temboo和Running Choreos 的信息准备好后,将您的 Yun 连接到 PC/Mac 并运行下面的草图。

后端程序

要运行这个项目,我们需要配置两个平台:Temboo 和 Google API。我们将一步一步地做到这一点。如果设置不适合您,请再试一次(我花了一段时间才成功)。

  • 第 1 步:创建您的 Temboo 帐户

第一步是创建一个 Temboo 帐户,为此请访问此页面在页面中间的框中,写下用户名。单击“试用”并按照休闲页面上的说明设置您的帐户。Temboo 在基本计划中可免费使用,每月可为您提供 250 次舞蹈。

  • 第 2 步:创建和设置您的 Google 帐户

要创建 Google 帐户,请访问此页面设置帐户后。转到Google 帐户如果需要,请登录,现在您的窗口应如下所示。

 
poYBAGNsU6iANq_3AAMJZJClGRo496.png
 

现在,导航到登录和安全标题并选择登录您的 Google 帐户。现在确保在您的帐户中启用“两步验证”。完成后,您的页面应如下所示。

 
pYYBAGNsU6uADMO8AALmL8bFp8I335.png
 
  • 第 3 步:设置 Google API

这是最重要和最令人困惑的一步,慢慢来!访问谷歌控制台该页面可能会要求您登录,请这样做。您将看到一个空白页面,如果您没有创建项目,请单击“创建项目”按钮。现在放松为创建项目而实施的步骤。等待项目加载后,您应该会看到这样的窗口。

 
poYBAGNsU7iACHlsAAG5OLebzts382.png
 

现在我们要做的第一件事是单击左侧滑动条上的“凭据”。这应该将您带到这样的窗口。

 
poYBAGNsU7yAdJl3AAF7A9LdAQw428.png
 

现在单击“创建凭据”并从下拉菜单中选择 OAuth 客户端 ID。现在将询问您要创建哪种类型的应用程序。选择“网络应用程序”。现在给你的应用起个名字,我叫它 Temboo。在下面,您应该会看到一个标语“授权重定向 URI”,其中写道:

https://ACCOUNT_NAME.temboolive.com/callback/google

输入您的 Temboo 帐户名称而不是 ACCOUNT_NAME,完成后,您的 URL 应包含您的用户名,例如https://myaccount.temboolive.com/callback/google

现在你的窗口应该是这样的,不要填写“Authorized JavaScript origins”。

 
pYYBAGNsU8GAZY5CAAIu7M0rig0020.png
 

现在单击“创建”。当您这样做时,您将被重定向到您的仪表板,并会出现一个窗口,为您提供您的客户端 ID 和客户端密码。确保保留这些代码,因为它们在接下来的步骤中是必要的。现在再次单击“仪表板”,然后单击页面顶部的启用 API。现在你的窗口应该是这样的。

 
pYYBAGNsU8mAETGfAAMdK75K1UE715.png
 

在搜索字段中搜索“Google 表格”。现在点击 Google Sheets API。单击它后,您的窗口应如下所示。

 
poYBAGNsU8yAadQGAAIlOxk_YRI071.png
 

单击“启用”按钮。现在您将被重定向到您的仪表板。

  • 第 4 步:初始化 OAuth

现在转到 Temboo 并登录,您的页面应如下所示。

 
pYYBAGNsU9mAJpJXAAKBX4pGCr4459.png
 

现在在左侧的菜单上,向下滚动直到看到“Google”,然后单击它旁边的箭头。完成后,您将打开一个下拉菜单,打开 OAuth,然后单击 InitialiseAuth。你的窗口应该是这样的。

 
poYBAGNsU-yAe07PAALUgbmeL2g739.png
 

现在将您的 Google ClientID 放在“ClientID”字段中,然后向下滚动,直到看到标有“notes”的部分,您可以在那里找到项目所需的范围。我们将使用谷歌电子表格,所以复制盒子的所有内容,应该是:

https://spreadsheets.google.com/feeds/

https://docs.google.com/feeds/

https://docs.googleusercontent.com/

现在将它们粘贴到顶部的范围框中。你的窗口应该是这样的。

 
pYYBAGNsU--AHH5CAAMd3qdcKXA432.png
 

现在单击“立即运行”以运行您的代码。代码运行完毕后,您将收到两个字段,一个 URL 和一个 callbackID,请确保您还保存了您的 callbackID 以供进一步使用。现在访问上面框中显示的 URL。您应该收到来自 Google 的请求,要求您登录,这样做。现在谷歌可能会通知您该网站不安全,如果是,请点击页面底部的“高级”,然后点击下方的“打开 temboolive.com”。现在您将收到另一个通知,告诉您该应用程序想要访问文档和文件,单击“允许”。现在您应该会看到一个空白页,如果看到,请继续进行下一部分设置,如果您没有看到空白页,请从头开始此步骤。

  • 第 5 步:完成 OAuth

要完成您的 OAuth,请访问 Temboo。在左侧菜单中选择 Google - OAuth - Finalize OAuth。你的窗口应该是这样的。

 
pYYBAGOINEaAPYnAAALUhqrKJDU413.png
 

使用之前收集的数据填写字段,然后单击“立即运行”,如果代码有效,您应该会收到一个访问令牌和一个 RefreshToken,确保将它们都保存起来,因为下一步将需要它们。干得好,困难的部分结束了。如果成功,您可以继续下一步,如果不成功,请从头再试此步骤,确保 Google 上“授权重定向 URL”字段中的 URL 输入正确,并且您的 clientID 和客户端秘密是正确的。

  • 第 6 步:运行探针

为了检查您的配置是否正确,我们将尝试测试草图。访问 Temboo 并转到 Google - Sheets - AppendValues,您的页面应该如下所示。

 
pYYBAGOINIOACouGAAMImiWqudc881.png
 

现在填写之前设置中收到的 ClientID、Client Secret 和 Refresh Token。接下来,转到Google 文档创建一个新文档,在你这样做之后,给它一个名字。电子表格 ID 位于电子表格的 URL 中。例如。如果电子表格的 URL 是

https://docs.google.com/spreadsheets/d/1wn9R5vPJLIulgxKjDflqnN6X84Xe7zu6925mRQO-tVo/edit#gid=0

然后 ID 是 1wn9R5vPJLIulgxKjDflqnN6X84Xe7zu6925mRQO-tVo,现在复制您的电子表格 ID 并将其粘贴到 Temboo 的电子表格 ID 框中。最后,复制此数组并将其放在“值”字段中。

[ [ "100", "200", "300" ] ]

有关如何格式化值的更多数据,请向下滚动到页面上的注释。你的窗口应该是这样的。

 
pYYBAGOINIeAZcd_AAMsCkwUQKs939.png
 

现在向下滚动,直到您看到一个标有“代码”的框,复制该框的所有内容并将其粘贴到 Arduino IDE 中。在该框下方是另一个标有“头文件”的框,复制该框的内容,然后在 Arduino IDE 中,创建一个新选项卡并将其命名为“TembooAccount.h”并将内容粘贴到新选项卡中,编译代码。

 
 
 
 
pYYBAGOINIuAOTezAAJwTEYHxo0605.png
 
1 / 4粘贴数据
 

通过 USB 类型 A 到 C 电缆将您的 Arduino Yun 连接到您的 PC/Mac,并等待您的 Yun 连接到 wifi,这由标有 WLAN 的蓝色 LED 快速闪烁指示。当您的 Yun 连接到 wifi 时,上传代码并打开串行监视器。如果该项目成功,您应该在 Temboo 的监视器中得到响应。现在返回 Google 文档,然后单击您之前创建的电子表格。 您应该在单独的单元格中看到打印的三个值。100 200 300

 
poYBAGOINI-AaXMMAAJiFIY1zk8144.png
响应
 

如果这行得通,那么您离成功仅一步之遥。

  • 第 7 步:最后一步

现在打开下面的代码,确保根据您的喜好编辑 Header 文件,包括之前收到的值。编排运行之间的默认延迟是一分钟,您可以根据需要更改它。我建议在第一次尝试时打开 proDebug(将其设置为 1)并打开串行监视器以接收进度数据和调试信息。在不连接计算机的情况下使用此项目需要将 proDebug 设置为 0(其初始值)。就是这样,只需将草图上传到 Yun 就可以了。任何地方的温度和湿度。

最后

由于该项目几乎没有硬件,我决定不建造一个外壳,但如果你愿意,可以随意制作一个。这是成品。

 
 
 
 
pYYBAGOINJWAVWC2AAFQo7cnhDQ126.png
 
1 / 2回应
 

背景

我创建了这个项目作为一个教程,以使 IOT 更容易理解,就个人而言,我花了一些时间来解决它,所以我想为你节省一些时间。我认为在电子表格上检查温度和湿度非常好,也很容易,所有数据都在一起并且易于访问。


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

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