亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘

组件与物料

Arduino Yun × 1
舵机 (Tower Pro MG996R) × 1
M3 螺母与螺栓 × 3
4mm 胶合板 × 1

所需工具

激光切割机
热熔胶枪
Android 或 iOS 手机

应用与在线服务

IFTTT Maker 服务

项目简介

基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘

(源自 Instructables)

本项目演示如何构建一个基于 Arduino 的 Web 化 IoT 仪表盘,通过 REST API 与 IFTTT 平台联动,借助 Yaler.net 中继服务实现远程访问。

亮点在于: IFTTT 的 Maker Channel 支持自定义 Webhook,让 DIY 物联网项目能无缝接入云端自动化流程——这是自 2011 年以来期待已久的特性。

灵感来源于经典 DIY 物联网项目 WhereDial,该仪表盘可显示主人的当前位置,有点像《哈利·波特》中的韦斯莱家族时钟。设计与代码具有通用性,亦可用于显示天气等其他信息——逻辑在云端,仪表盘本质只是一个带 API 的舵机。

下载资源(针对 Uno)

注:作者为 Yaler 创始人之一。 Zapier 等平台早已支持自定义 Webhook。

步骤 1:激光切割与组装 IoT 仪表盘

基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘

零件制作

组装步骤

步骤 2:上传 IoT 仪表盘 Web 服务代码

基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘

简易 Web 服务

控制 IoT 仪表盘非常简单:一个 Web 服务(REST API)监听请求并设置舵机位置。仪表盘只是一个“哑”舵机,将逻辑放在云端,未来可随时切换“大脑”(如改为显示天气)。

实现 Arduino 远程访问

为让 IFTTT 云服务访问仪表盘,Arduino REST API 必须可从公网寻址。专家可配置防火墙/路由器端口映射,但较麻烦,本项目采用中继服务。

Arduino Uno 部署(Yun 方案见下)

Arduino Yun 部署(Uno 方案见上)

为何 Yun 代码与 Uno 不同?

Yun 内置名为 Mailbox 的 REST API。为使其可从公网访问,我们使用 YalerTunnel Linux 守护进程(支持 SSL 加密,Uno 不支持)。复用现有基础设施可简化代码,节省宝贵的 Arduino 端内存。Yun 的 Mailbox API 并不完美(不完全符合 REST,允许 GET 修改状态),但基于 Linux 侧脚本运行,优势明显。请对比两份代码自行抉择。

若不愿用中继服务,可移除并(针对 Uno)取消注释本地服务器代码。

步骤 3:用 Curl 测试 Arduino Web 服务

基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘

安装 Curl

启用 Arduino Yun API(Uno 跳过)

用 Curl 测试仪表盘

为何用 Curl 测试?

Curl 是标准 HTTP 客户端。浏览器适合测试 GET,在线工具可测 POST/PUT,但浏览器可能自动跟随重定向等“魔法”行为。若要确保 IFTTT 等第三方 Webhook 能正常调用你的 API,Curl 最可靠。

注:Uno 代码对请求解析较宽容,POST /mailbox/pos/3 与 PUT /servo?pos=3 均有效。

步骤 4:接入 IFTTT Maker Channel

基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘
基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘

创建新 IFTTT 配方

IFTTT 通过“配方”连接触发器与动作。

添加现成配方

IFTTT 允许发布配方,以下两个可直接用于控制 IoT Gauge:

注:IFTTT 搜索似乎暂未收录 Maker Channel 配方。

步骤 5:创建 IFTTT Do Button 控制仪表盘

基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘

IFTTT Do 应用

IFTTT 提供 iOS/Android 版 Do 应用,可手动触发动作,适合测试其他配方。Do 应用配方暂不支持分享/公开,需自行创建。

创建 Do Button

大功告成!感谢阅读,欢迎提问或建议。

代码仓库

Bitbucket 托管完整代码。

自定义零件与外壳

IoT_Gauge.zip 包含激光切割设计文件。

原理图

基于 Arduino、Yaler 与 IFTTT 构建 Web 化 IoT 仪表盘

制造工艺

  1. 复古 Numitron 管时钟:Arduino Nano 驱动,低温可靠省电
  2. Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
  3. 物联网 + AI 守护水生态:多参数水质监测系统
  4. MotionSense:基于 Arduino 与 ESP8266 的智能入侵检测系统
  5. 自制高精度测距轮:Arduino Nano + 旋转编码器 + 1602 LCD
  6. Arduino 简易排斥式磁悬浮:电路与 DIY 指南
  7. 高性能 Arduino 气象气球数据记录器
  8. ArduFarmBot 第二部分:构建远程 IoT 控制站
  9. Arduino 8×8 LED 矩阵翻页时钟 - DIY 实时时钟项目
  10. 进阶微控制器实验平台:ESP32、Arduino、PIC 与多传感器模块集成
  11. Arduino Nano 手持盖革计数器:DIY 核辐射检测仪
  12. Arduino Nano 与 WS2812 灯带打造 1D 乒乓球游戏——分步 DIY 教程