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

特朗普按钮

组件和用品

Arduino MKR Fox 1200
× 1

应用和在线服务

Sigfox
Twilio SMS Messaging API

关于这个项目

简介

我们都听说过特朗普用来点健怡可乐的按钮吧? (http://time.com/4758059/donald-trump-coke-nuclear-button/)

好吧,我们认为我们可以使用 Sigfox 网络构建一个更好的版本。您只需要一个笨重的按钮、一个 Arduino MKRFox1200 开发板和一个 Twilio 帐户即可发送短信。

什么是 Sigfox?

Sigfox 为物联网提供了一个全球性、简单且节能的网络。 Sigfox 网络目前在 32 个国家/地区可用或正在推出。该网络通过提供经济的、低功率的、长距离少量数据的双向传输来补充现有的高带宽系统。 Sigfox 技术得到数百家硬件和解决方案合作伙伴的支持。

1. 硬件要求

  • Arduino MKRFox1200
  • 一个大按钮
  • LiPo 电池或 2 节 AA/AAA 电池
  • 一个按钮开关
  • thethings.io 贴纸
  • 当然还有特朗普面具

我们正在使用连接到 Arduino 引脚 7 和 GND 的按钮开关。在正常状态下,开关是闭合的。当按下按钮时,它会打开开关。开关状态可以很容易地在 Arduino 代码中反转。

2. Arduino代码

您可以在 GitHub 上检索 Arduino 代码:https://github.com/aureleq/TrumpButton

我们使用低功耗库让开发板进入深度睡眠。中断用于唤醒板并发送 Sigfox 消息:

// 连接开关管脚并启用电压上升事件中断 pinMode(SWITCH_PIN, INPUT_PULLUP); LowPower.attachInterruptWakeup(SWITCH_PIN, buttonPressed, RISING); // 开关默认关闭,按下按钮时打开void loop(){ // 休眠直到识别到事件 LowPower.sleep(); // 如果我们到达这里,则表示收到了一个事件 Serial.println("Button push!");延迟(100); sendString(payload);} 

3. Twilio

  • 这里免费注册
  • 在“已验证的来电显示”(接收通知的电话号码)中添加新号码
  • 记下您生成的 Twilio 电话号码 , 帐户 SID授权令牌:

4.Sigfox回调配置

  • 连接到您的 Sigfox 后端帐户。如果你还没有注册你的 Arduino 板,你可以在这里激活它:https://backend.sigfox.com/activate/
  • 选择设备类型 您的 Arduino 设备。链接到设备类型 可在信息下找到 类别。

使用以下参数创建一个新的自定义回调:

  • 类型:数据上行
  • 频道:网址
  • 网址格式:https://[AccountSID]:[AuthToken]]@api.twilio.com/2010-04-01/Accounts/[AccountSID]/Messages.json
  • 使用 HTTP 方法:POST
  • 内容类型:application/x-www-form-urlencoded
  • 正文:From=[YourTwilioPhonenumber]]&To=[PhoneNumber]&Body= covfefe!

短信 covfefe! 每次按下按钮时都会发送。

5. 验证

用力按下按钮,等管家给你端来一杯!

代码

  • Arduino 源代码
Arduino 源代码Arduino
/* * @aureleq * * 描述:按下按钮时发送 Sigfox 消息 * 默认情况下,按钮需要连接到 GND 和引脚 7 之间 * 中断用于启用低功耗模式。 * 由于电路板大部分时间处于睡眠模式,因此需要执行电路板重置以上传新草图(双击重置按钮)*/#include #include const uint8_t SWITCH_PIN =7;const String payload ="COKE NOW!";const uint8_t debug =false;void setup() { if (debug ==true) { Serial.begin(9600); while (!Serial) {}; } if (!SigFox.begin()) { Serial.println("屏蔽错误或不存在!");返回; } // 启用调试指示灯并禁用自动深度睡眠 // 在交付项目时注释此行 :) //SigFox.debug(); Serial.println("检测到 Sigfox 屏蔽");字符串 ID =SigFox.ID(); Serial.println("ID =" + ID);延迟(100); // 发送模块到最深睡眠 SigFox.end(); // 连接开关引脚并启用电压上升事件中断 pinMode(SWITCH_PIN, INPUT_PULLUP); LowPower.attachInterruptWakeup(SWITCH_PIN, buttonPressed, RISING); // 默认关闭开关,按下按钮时打开}void loop(){ // 休眠直到识别到事件 LowPower.sleep(); // 如果我们到达这里,则表示收到了一个事件 Serial.println("Button push!");延迟(100); sendString(payload);}void sendString(String str) { // 启动模块 SigFox.begin(); // 第一次配置后至少等待 30 毫秒(之前 100 毫秒)延迟(100); // 清除所有挂起的中断 SigFox.status();延迟(1); SigFox.beginPacket(); SigFox.print(str); int ret =SigFox.endPacket(); // 将缓冲区发送到 SIGFOX 网络 if (ret> 0) { Serial.println("No Transmission"); } else { Serial.println("传输正常"); Serial.println(SigFox.status(SIGFOX)); Serial.println(SigFox.status(ATMEL)); SigFox.end();}void buttonPressed() {}
Github
https://github.com/aureleq/TrumpButton

制造工艺

  1. 按钮
  2. 私有区域网络建立在 Sigfox 公共网络上
  3. 使用按钮通过 PWM 调光灯光
  4. 用 Arduino 捕捉水滴
  5. Giftduino - 完美的 Arduino 礼品盒
  6. 如何制作可自定义的打孔键盘按钮
  7. 如何使用 Arduino 测量地球质量
  8. 使用 MAX30100 可穿戴脉搏传感器和 Arduino
  9. 使用 Nextion Display 构建 Fridgeye 应用程序
  10. 使用 YL-39 + YL-69 土壤湿度传感器和 Arduino
  11. 使用 SmartThings ThingShield 构建 IR 桥
  12. 健康手环——老人智能助手