電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網>電子資料下載>電子資料>如何將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 地址,因此相關的庫和函數將負責區(qū)分它們中的每一個。

整個項目可以由兩節(jié)AA或AAA堿性電池串聯產生3V并接線到板上的螺絲接線端子塊供電。

Sigfox 消息

由于 Sigfox 網絡每天最多可以發(fā)送 140 條消息,因此我們將優(yōu)化讀數并以緊湊的二進制格式發(fā)送數據。

數據打包很重要,因為您可以發(fā)送的消息的最大大小為 12 個字節(jié)。一個浮點數占用 4 個字節(jié),所以我們需要將我們的讀數打包成一些更小的表示形式。

浮點格式非常寬(您可以表示大到 3.402823e+38 (!) 的數字),我們不需要整個數據空間;然后我們可以決定安全限制(基于我們將要部署站點的位置)并在后端恢復原始表示。

云服務的配置

我們將使用兩種云服務:

使用FirstConfiguration 示例提供的 PAC 和 ID 在 Sigfox 后端注冊您的開發(fā)板(如果您已經為之前的項目做過,可以跳過)。

兩者都需要配置為相互交談并以正確的格式解釋數據。在 Thingspeak 上注冊并創(chuàng)建幾個頻道。配置如下圖所示。

我們配置的第一個通道將接收原始數據(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 

這代表了我們在草圖中打包的結構。我們?yōu)槊總€字段分配了一個變量,因此我們可以在 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
?

保存并退出。我們現在可以打開串口并觀察正在發(fā)送的第一條消息。萬歲!

從原始到圖形

我們配置的設置會將我們的數據路由到 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 分鐘安排一次分析操作,否則將永遠不會執(zhí)行!

?
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開發(fā)指南
  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次下載  |  免費