电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>如何将MKR FOX 1200和I2C传感器变成电池供电气象站

如何将MKR FOX 1200和I2C传感器变成电池供电气象站

2023-06-15 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

注意:本教程可能已过时,请到此处获取更新版本。

 

该项目展示了如何将MKR FOX 1200和一堆 I2C 传感器变成一个简单的电池供电气象站。

我们将使用:

  • HTU21D I2C 传感器获取湿度水平
  • 博世 BMP280 获取大气压力和精确温度
  • TSL2561光传感器获取光度

硬件设置

该项目的硬件连接非常简单:所有传感器都使用 I2C 接口并在 3.3V 下运行。

它们需要来自 MKR FOX 1200 的四根线:GND、3.3V、引脚 11 上的 SDA 和引脚 12 上的 SCL。相同的四个连接可以与三个传感器并联共享,因为它们每个都有一个特定的 I2C 地址,因此相关的库和函数将负责区分它们中的每一个。

整个项目可以由两节AA或AAA碱性电池串联产生3V并接线到板上的螺丝接线端子块供电。

Sigfox 消息

由于 Sigfox 网络每天最多可以发送 140 条消息,因此我们将优化读数并以紧凑的二进制格式发送数据。

数据打包很重要,因为您可以发送的消息的最大大小为 12 个字节。一个浮点数占用 4 个字节,所以我们需要将我们的读数打包成一些更小的表示形式。

浮点格式非常宽(您可以表示大到 3.402823e+38 (!) 的数字),我们不需要整个数据空间;然后我们可以决定安全限制(基于我们将要部署站点的位置)并在后端恢复原始表示。

云服务的配置

我们将使用两种云服务:

使用FirstConfiguration 示例提供的 PAC 和 ID 在 Sigfox 后端注册您的开发板(如果您已经为之前的项目做过,可以跳过)。

两者都需要配置为相互交谈并以正确的格式解释数据。在 Thingspeak 上注册并创建几个频道。配置如下图所示。

我们配置的第一个通道将接收原始数据(readChannelID),而第二个将收集重新缩放的数据(writeChannelID)。

 
pYYBAGNgtomAaSG9AABjMA_7zgM139.png
 

是时候使用 Arduino Create Editor 上传草图了。默认草图允许您在现场部署之前广泛测试所有基础架构。

记得声明:

oneshot  = false

当您确信所有后端基础架构设置正确时。草图等待串口,所以我们现在不会启动它。相反,打开SigFox 后端并配置回调:

单击设备类型->列表-> 右键单击​​您的电路板,然后单击编辑。

 
pYYBAGNgtpCActIpAAGFrYZZ6t4236.png
 

点击左侧菜单中的回调:

 
pYYBAGNgtpSAME-hAAIHC4MS17M271.png
 

你会看到这样的窗口:

点击窗口右上角的新建按钮:

 
poYBAGNgtpmAI5lgAAIVLXk4tY4259.png
 

选择自定义回调:

 
poYBAGNgtqCAbsR3AAPbODHglIk453.png
 

 

 
pYYBAGNgtqOAcahIAAG8zLcSh6w641.png
 

相关配置报告如下。确保回调设置为:

  • 类型:DATA/UPLINK
  • 渠道:URL
  • 方法:GET

作为自定义有效负载,设置:

status::uint:8 temp1::int:16:little-endian temp2::int:16:little-endian press::uint:16:little-endian hum::uint:16:little-endian light::uint:16:little-endian lastMsg::uint:8 

这代表了我们在草图中打包的结构。我们为每个字段分配了一个变量,因此我们可以在 HTTP 回调中引用它们。

作为 URL 模式,设置:

https://api.thingspeak.com/update?api_key=XXXXXXXXXXXX&field1={customData#temp1}&field2={customData#press}&field3={customData#temp2}&field4={customData#hum}&field5={customData#light}&field6={customData#status}&field7={customData#lastMsg} 

配置完成后,您的窗口应如下所示:

 
poYBAGNgtqeAMX5SAADRU2_wH-Y831.png
SigFox 后端回调(使用您的 API 密钥!)
 

请记住将 API 密钥更改为api_keyThingspeak 提供的Write API Key密钥Channel1

 
poYBAGNgtruARDUFAAA-W6wKtdY118.png
 

保存并退出。我们现在可以打开串口并观察正在发送的第一条消息。万岁!

从原始到图形

我们配置的设置会将我们的数据路由到 Thingspeak 后端,但它们仍然是原始格式;要重新转换它们,让我们使用带有此代码段的Thingspeak 分析工具

% TODO - Replace the [] with channel ID to read data from: 
readChannelID = []; 
% TODO - Enter the Read API Key between the '' below: 
readAPIKey = 'T6UK7XO6A4H2AGT7';  
% TODO - Replace the [] with channel ID to write data to: 
writeChannelID = []; 
% TODO - Enter the Write API Key between the '' below: 
writeAPIKey = 'XU4TGY261P6B5USN';  
%% Read Data %% 
data = thingSpeakRead(readChannelID, 'ReadKey', readAPIKey,'OutputFormat','table');  
analyzedData = data;  
%% Analyze Data %% 
INT16_t_MAX = 32767; 
UINT16_t_MAX = 65536; 
analyzedData.('Temperature1') = data.('Temperature1') / INT16_t_MAX * 120 ; 
analyzedData.('Temperature2') = data.('Temperature2') / INT16_t_MAX * 120 ; 
analyzedData.('Pressure') = data.('Pressure') / UINT16_t_MAX * 200000 ; 
analyzedData.('Light') = data.('Light') / UINT16_t_MAX * 100000 ; 
analyzedData.('Humidity') = data.('Humidity') / UINT16_t_MAX * 110 ; 
%% Write Data %% 
thingSpeakWrite(writeChannelID, analyzedData, 'WriteKey', writeAPIKey); 
%% Schedule action: React -> every 10 minutes

通过用我们自己的替换通道 ID,我们最终可以将原始数据转换回实际值。请记住使用React每 10 分钟安排一次分析操作,否则将永远不会执行!

 
poYBAGNgttKACbYpAAFiCB7Y1kI639.png
 

 

 
pYYBAGNgttWANBZCAABHgOIt6hY292.png
 

 

 
poYBAGNgttqAJGkcAAB7l1oJ0JM122.png
 

我们终于有了精彩的图表。

 
pYYBAGNgtt2AXkAjAAAxs44e9FU575.png
 

 

 
pYYBAGNgtt-ARxBfAAAYfSJdqoI743.png
有人在 11.30 开暖气吗?:)
 

 


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

评论

查看更多

下载排行

本周

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