29204| 31
|
[项目] 用ESP8266 开发板,制作WiFi物联网智能体重秤 |
如果你居住的地方已经是夏天,那么可能正是户外健身活动的好时节。跑步、骑行或者慢跑都是非常棒的运动,可以让您保持体形。 准备工具和材料 硬件清单
我是采用了FireBeetle ESP8266作为主板,一方面它用Arduino IDE编程方便,还配备内置的Wi-Fi模块,该主板带有一个用于3.7V电池的连接器,这对于本项目的组装是非常有用的。此外它还配备一个内置的电池充电器,当连接USB插头时,该充电器可以为电池充电。 体重计的显示部分,我是用了FireBeetle 24x8 LED矩阵,它的显示颜色很多,可以自己选择,我用它显示微控制器的测量值,以及显示一些状态等。 HX711模块:它被用作称重传感器放大器。四个应变式称重传感器被连接到该模块,并通过串行通信与FireBeetle ESP8266控制器进行通信。 50kg称重传感器(x4):它们被用于测量用户的体重。4个称重传感器可测量的最大重量为200kg。 3D建模 智能体重秤采用Fusion 360 CAD软件设计。模型由3个不同的3D打印零件组成:盖板、机箱和支脚。 机箱为电子元件提供了保护外壳,防止它们受到物理接触影响。电子元件被安装在盖板中(使用螺栓),盖板上配有一个前护罩,其中安装了显示器。称重传感器被安装在支脚中,这使得传感器能够与基座连接。 3D打印 下载所有STL文件我在PLA中打印了全部结构件,使用了两种不同颜色。整个打印工作花费了我大约5个半小时,使用0.2mm分辨率和10%填料率。无需支架。 这是一个实验模型。请注意,该模型是专为FireBeetle ESP8266 设计的。 STL文件下载:DIY_Wi-Fi_Smart_Scale.zip 木工 我们体重秤的基座由两块15mm 30 x 30 cm胶合板制成。 我用一把螺丝刀钻出了一些开孔,用于穿过称重传感器的电线,以及连接3D打印零件。 1、将FireBeetle ESP8266 和LED矩阵进行焊接 我将一个插头-插座引脚板焊接到FireBeetle ESP8266模块上 通过这种方式,我可以通过连接插座连接罩在该模块上方的LED矩阵,并通过插头引脚连接HX-711模块(用于传感器) 我还必须在LED矩阵上焊接了一个插头引脚板,以便它可以连接到FireBeetle ESP8266模块。 2、HX711和称重传感器进行焊接 大多数HX711板上没有焊接引脚,我焊接了一个插头引脚板,用于随后连接ESP8266开发板和称重传感器。 焊接称重传感器信号端子称重传感器通常配有三根导线(黑色,白色和红色)。红色导线是信号线,我将其连接到HX711模块。为此,我使用两根插座-插座跳线。我切开跳线一端,并将其焊接到称重传感器红色导线上。随后使用一段热缩管包裹焊接接头,以实现更好的隔离。我还必须焊接称重传感器的白色和黑色导线,但是只有在传感器安装并固定在结构件上之后才能完成。 组装体重秤-Pt1 首先我必须将称重传感器装入3D打印的支脚内,它们被锁定在这个支脚架内,然后通过一些螺钉固定在结构件上。 我使用了4个M2x1.6mm螺钉来将显示器安装到3D打印的盖板上,另外两个螺栓用于连接HX-711模块,ESP8266通过插座引脚板与显示器模块连接,一跟四芯导线将HX-711连接到ESP8266模块,更多细节请参见后续步骤。 盖板组件安装在3D打印机箱内,机箱上还有另外两个矩形孔:一个用于HX-711模块与称重传感器之间的电缆,另一个用于给电路供电和上载代码的USB电缆。 机箱只有在传感器连接完成后(如下个步骤所示)才能够封闭。 组装体重秤 - Pt2 一旦3D打印零件和木板准备就绪,就是时候组装结构件了,按照以下步骤进行: 1.安装称重传感器到第一块木板上。我使用螺钉固定各个称重传感器。 2.每个传感器正上方的木板上已经提前开孔。电缆穿过这些开孔连接到木板的另一侧。 3.按照下一个步骤9中所示的接线图焊接电线。
使用一些热缩管来隔离电线。 4.连接3D打印机箱。将红色导线穿过机箱上的一个开孔,然后连接到HX711模块。 5.在第一块木板上方安装第二块木质面板,使用4个螺钉紧固。 HX711—输入:
HX711- 输出 (使用双母头跳线):
显示模块:
当完成所有接线后,封闭机箱,将一根USB电缆插入ESP8266并准备好上载代码。 在Arduino IDE上设置FireBeetle ESP8266 对于本项目,我使用Arduino IDE来编程我的ESP8266开发板。如果你以前曾经使用过Arduino,那就要简单许多,你无需学习新的编程语言,例如Python或者Lua。 如果你从未用过Arduino,那么首先你需要在Arduino软件中添加ESP8266开发板支持。 1.下载并安装最新版本的Arduino IDE 你可以在Arduino网站上找到适用于Windows、Linux或者MAC OSX的最新版本。 免费下载后安装在你的计算机上并启动软件。 Arduino IDE现已支持多种不同主板:Arduino Nano、Mine、Uno、Mega、Yún等等。不幸的是ESP8266并不属于这些默认支持的开发板。因此为了上载代码到ESP8266主板,你必须首先在Arduino软件中增加ESP8266的属性。
3、添加资源库 以下资源库将被用于我们的Arduino代码。下载下列资源库:
在Arduino IDE软件中导航到略图-> 包括资源库 -> 管理资源库(Sketch -> Include Library -> Manage Libraries...),然后添加上述资源库。 Adafruit.IO配置 有许多数据记录服务可以用于微控制器与网络间的通信。通过这些服务,你可以上载/下载数据到云,并做到很多有趣的事情。请观看我的其他教程,例如关于如何使用Arduino + ESP8266从迷你气象站发送到Thinkgspeak。 Adafruit.IO就是这些免费服务之一。它非常易于使用,并致力于将物联网带给所有人! 创建Adafruit IO Web反馈
复制你的Adafruit.IO密钥,该密钥稍后将用于允许你的设备访问数据库。导航到设置 > 显示AIO密钥(Settings > View AIO key)并复制激活密钥代码。后面你的Arduino(NodeMCU)代码将需要使用该密钥代码。 IFTTT配置 IFTTT是一个免费平台,可帮助你连接app应用程序与装置。例如,你可以使用该平台连接你的智能手机与其他装置,或者在你喜欢的网络服务(如Google、Facebook、Twitter、Instagram等)与其他物理设备之间共享数据。最棒的一点是它真的非常易于使用!IFTTT采用“if this then that如果那么”逻辑,其中“this”代表触发“that”指定动作的服务。通过这种方式,你可以创建连接网络服务与设备的小程序。 在本项目中,我使用IFTTT将测量的体重值从Adafruit.io数据库推送到Fitbit。 首先,你必须在网站登录:https://ifttt.com/https://ifttt.com/ 然后在你的手机上安装IFTTT应用程序。你可以在Google Play Store中找到该应用:你也可以在Apple store(对于iPhone用户)中找到该应用: 在网站上,进入新程序(点击你用户名旁边的箭头按钮进入菜单)。在接下来的步骤里,我将向你展示我是如何创建我的小程序的。 IFTTT Applet - IOS Health 在网站上创建程序:
测试:
IFTTT Applet - Fitbit
测试:
这时候,小程序已经基本完成了! 下载Arduino带吧,并在Arduino IDE软件中打开。一些参数将必须更新(WIFI_SSID、WIFI_PASS、IO_USERNAME、IO_KEY以及 calibration_factor)。更新这些参数,然后上载代码到ESP8266。代码将立即开始运行。 为了校准体重秤,在体重秤上放置一个砝码,然后调整校准系数直到显示正确的重量值。你可以在另一台可信的体重秤上测量自己的体重,然后在智能秤上再次测量体重并相应调整校准系数。 智能秤将尝试连接WiFi网络并开始进行测量。如果测量的体重值超过阈值(THRESHOLD),则它将读取给定次数(NUM_MEASUREMENTS)的重量值并计算平均重量。如果两次连续测量的重量变化超过阈值(THRESHOLD),则过程将重新开始。 确定平均值后,它将显示在LED矩阵上,并被传送给Ardafruit.io。体重秤将等待用户离开,然后重启。开始使用 智能秤将尝试连接WiFi网络并开始进行测量。如果测量的体重值超过阈值(THRESHOLD),则它将读取给定次数(NUM_MEASUREMENTS)的重量值并计算平均重量。如果两次连续测量的重量变化超过阈值(THRESHOLD),则过程将重新开始。确定平均值后,它将显示在LED矩阵上,并被传送给Ardafruit.io。体重秤将等待用户离开,然后重启。 作者:IgorF2 代码: |
Axinice 发表于 2019-6-20 16:22 我试了一下都可以的,如果实在不行,你可以点击英文原版找一下文件:https://www.instructables.com/id ... rduino-IDE-Adafrui/ |
诚心询问 东西很棒 为什么代码编译有问题 In file included from E:\Documents\Arduino\libraries\Adafruit_IO_Arduino-master\src/wifi/AdafruitIO_ESP8266.h:18:0, |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed