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

Sigfox kWh Meter

组件和用品

Arduino MKR Fox 1200
× 1
面包板(通用)
× 1
跳线(通用)
× 1
70 元
× 1
电阻 221 ohm
× 1
电阻 10k ohm
× 1
电阻 100 ohm
× 1
旋转电位器(通用)
× 1
SparkFun 按钮开关 12mm
× 1
LED(通用)
× 1

应用和在线服务

Arduino IDE
Sigfox
ThingSpeak API

关于这个项目

1) 简而言之

本教程将帮助您创建一个将旧感应式功率计连接到 Internet 的设备。它究竟是一种什么样的仪表?它是最古老但仍在使用的功率计。它有一个转盘,它的四周涂有反光漆,并带有一点黑色条纹。每次看到那个黑色的部分经过,就代表完成了一个旋转。本项目120匝相当于消耗1度电。

2) 微控制器、物联网网络和其他使用的东西

所以,我们需要 Arduino MKRFOX1200 , 其中有 Sigfox (这就是网络)连接。 Sigfox 是 LPWAN 网络,允许将任何东西连接到互联网。该网络在 ISM 频段 868 MHz 下工作,允许我们每天上行发送 140 条消息(每条 12 字节的有效载荷)。但这不仅仅与网络有关。 Sigfox 为我们提供了自定义处理消息方式的机会。事实上,所有消息都存储在 Sigfox 云中,我们可以从那里通过定义它们的目的地 - 回调等来检索它们。

事情说:

ThingSpeak 是一个物联网平台,用于用户友好地显示数据。在这个项目中,Sigfox 回调目标在转移发生后立即使用图表显示收到的消费。

一个 更多 时间 - 哪个 电动 能源 力量 消费 我们 使用?

这个:

3) 实用的东西

  • 1. 连接 全部 列出 零件 作为 显示 接线 图表。 我不会解释连接背后的理论,如果有什么不清楚的,请随时提问。不要忘记给它一些果汁:)(USB 移动电源,或您的笔记本电脑 USB 输出等)。
  • 2. 代码。 您会在本页底部找到附加的代码。同样,如果您不清楚代码中的任何内容,请随时提问。
  • 3. 创建 事说 渠道 分析 .在 https://thingspeak.com/ 上注册并创建频道号。 1 通过为其命名、描述和字段 1 - Consumption. 创建频道号2 基于通道号1,但名称不同。然后在通道号上选择 Matlab 分析选项。 2 并编写以下代码:
readChannelID =TYPE_CHANNEL1_ID_HERE;readAPIKey ='TYPE_CHANNEL1_READ_API_KEY_HERE'; writeChannelID =TYPE_CHANNEL2_ID_HERE;writeAPIKey ='TYPE_CHANNEL2_API_KEY_HERE';data =thingSpeakRead(readChannelID, 'ReadKey', readAPIKey,'OutputFormat','table'); analysisData =data;analyzedData.('Consumption') =(data.('Consumption') + YOUR_CURRENT_CONSUMPTION_STATUS_IN_WH)/1000;thingSpeakWrite(writeChannelID,analyzedData, 'WriteKey', writeAPIKey); 
  • 4. 创建 Sigfox 回调。 我希望您已经在后端注册了您的 MKRFOX1200,所以我将跳过有关如何执行此操作的教程。登录 https://backend.sigfox.com/ 后,转到回调部分并按如下方式创建一个:
  • 类型:数据上行
  • 频道:网址
  • 自定义负载配置:status::uint:32:little-endian
  • 网址模式: https://api.thingspeak.com/update?api_key= EXPLAINED1 &field1={customData#status}
  • 使用 HTTP 方法:GET

*EXPLAINED1 - 将其替换为 Channel 1 ThingSpeak WriteApiKey

4) 设备安装&背后的逻辑

所以你已经完成了这个项目中最困难的部分。现在用双面胶带将 CNY70 传感器连接到功率计的玻璃上 - 注意将其放在旋转盘的中心(图安装 )。接下来,按两次设备按钮并进行校准 - 如果传感器读取磁盘的反射部分,则二极管应亮起。如果传感器读取黑色条纹,二极管应该熄灭。校准成功后,再按一次设备按钮。现在设备开始读取功耗并使用 Sigfox 每 30 分钟将此值发送到 Internet。读取精度设置为 25 Wh(在我们的例子中每 3 个磁盘转动一次)。

5) 最终输出

完成所有这些步骤后,您将能够在如下漂亮的 ThingSpeak 图表中看到您的实际电能消耗。

代码

  • Sigfox kWh 电能功率计
Sigfox kWh 电能功率计Arduino
这是使您的功率计智能化的 .ino 代码。
#include int DIODE =13;int BTN =12;int BTN_state =0;int BTN_prev =0;int BTN_NR_OF_PRESS =0;int CALC =0;unsigned long i =0;uint32_t CONSUMPTION =0;boolean SHINE =false;boolean KARDAN =false;void setup() { pinMode(DIODE, OUTPUT); pinMode(BTN,输入); Serial.begin(9600); if (!SigFox.begin()) { Serial.println("SigFox 模块不可用。"); }}void loop() { int senzor =analogRead(A3); BTN_state =digitalRead(BTN); if (BTN_state !=BTN_prev) { if (BTN_state ==HIGH) { BTN_NR_OF_PRESS++; } } BTN_prev =BTN_state; if (BTN_NR_OF_PRESS % 3 ==0) { if (senzor> 300 &&senzor <950) { digitalWrite(DIODE, HIGH); } else { 数字写入(二极管,低); } } if (senzor <1020 &&SHINE ==false) { SHINE =true; } if (senzor> 1020 &&SHINE ==true &&BTN_NR_OF_PRESS ==4) { CALC++;闪耀 =假; } if (CALC % 3 ==0 &&CALC !=0 &&KARDAN ==false) { KARDAN =true;消费 +=25; } if (CALC % 3 !=0) { KARDAN =false; } if (BTN_NR_OF_PRESS % 4 ==0) { digitalWrite(DIODE, LOW); if (SHINE ==false) { for (millis(); (millis() - i)> 1800000;) { i =millis(); SigFox.debug(); SigFox.beginPacket(); SigFox.write(消费); SigFox.endPacket(); } } }}

示意图

MKRFOX1200与CNY70等东西的连接示意图。

制造工艺

  1. 干渴警报植物警报
  2. 意大利字时钟
  3. 4x3 键盘只有三个引脚
  4. 蓝牙温度监视器
  5. DIY 简易自动量程电容计 (10pF-10000microF)
  6. 手势控制锁
  7. 伴侣 IC
  8. USB MIDI 适配器
  9. Arduino 的隔离模拟输入
  10. RGB 32-Band Audio Spectrum Visualizer
  11. Arduino TV 输出电缆
  12. 测量你的反应时间