資料介紹
描述
?
該項目展示了如何將MKR FOX 1200和一堆 I2C 傳感器變成一個簡單的電池供電氣象站。
我們將使用:
- 板載溫度傳感器(低精度,± 1 °C)
- 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
)。
是時候使用 Arduino Create Editor 上傳草圖了。默認草圖允許您在現場部署之前廣泛測試所有基礎架構。
記得聲明:
oneshot = false
當您確信所有后端基礎架構設置正確時。草圖等待串口,所以我們現在不會啟動它。相反,打開SigFox 后端并配置回調:
單擊設備類型->列表-> 右鍵單擊??您的電路板,然后單擊編輯。
點擊左側菜單中的回調:
你會看到這樣的窗口:
點擊窗口右上角的新建按鈕:
選擇自定義回調:
?
相關配置報告如下。確保回調設置為:
-
類型:
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}
配置完成后,您的窗口應如下所示:
請記住將 API 密鑰更改為api_key
Thingspeak 提供的Write API Key
密鑰Channel1
。
保存并退出。我們現在可以打開串口并觀察正在發送的第一條消息。萬歲!
從原始到圖形
我們配置的設置會將我們的數據路由到 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 分鐘安排一次分析操作,否則將永遠不會執行!
?
?
我們終于有了精彩的圖表。
?
?
- XV4001BC車載用SPI/I2C輸出接口的數字輸出
- 帶BME280傳感器的Arduino簡易氣象站
- MKR FOX 1200運動觸發器開源分享
- 基于ESP8266的氣象傳感器—DubosAirNano2氣象站 1次下載
- 基于LoPy4的氣象站設計 0次下載
- 基于Particle Photon的氣象站 0次下載
- 基于Arduino的無線氣象站 0次下載
- 基于Arduino UNO的氣象站 2次下載
- 使用太陽能電池板的氣象站
- 使用DHT11傳感器和OLE顯示屏構建氣象站
- 使用dht傳感器、HC12模塊和I2C LCD顯示器制作遠程氣象站
- 硬件I2C與模擬I2C
- ADT7420:±0.25°C精度、16位數字I2C溫度傳感器
- 使用MPU6050傳感器讀取I2C總線數據的程序免費下載 15次下載
- 如何將I2C從地址左移1位
- I2C通信協議及其工作原理 4481次閱讀
- Linux I2C驅動入門知識科普 1516次閱讀
- 如何利用ESP8266實現防雨物聯網氣象站的設計 4963次閱讀
- 如何使用ESP32創建一個氣象站 3771次閱讀
- 如何使用兩個dht傳感器及HC12模塊制作遠程氣象站? 2792次閱讀
- 基于創建帶有空氣質量傳感器的室內氣象站 2186次閱讀
- 什么是I2C通信協議? 7572次閱讀
- 開源軟件opencores I2C master控制器控制I2C接口操作原理 6920次閱讀
- i2c總線用來做什么_i2c總線數據傳輸過程 7086次閱讀
- dfrobotSHT20 I2C防水型溫濕傳感器簡介 2920次閱讀
- dfrobotDIY智能氣象站套件簡介 1618次閱讀
- I2C總線的工作原理以及優缺點解析 1.4w次閱讀
- 詳細講解RT-Thread I2C設備驅動框架及相關函數 2w次閱讀
- 基于I2C接口與上級無線傳感器網絡通信的環境監測系統 3241次閱讀
- 基于STM32的自動氣象站控制模塊設計 8306次閱讀
下載排行
本周
- 1感應筆電路圖
- 0.06 MB | 6次下載 | 免費
- 2美的電磁爐維修手冊大全
- 1.56 MB | 4次下載 | 5 積分
- 3Cortex-M3/M4F指令集技術用戶手冊
- 2.28MB | 3次下載 | 免費
- 4基于PLC的拉絲機張力控制系統研究
- 0.14 MB | 2次下載 | 5 積分
- 5LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 1次下載 | 1 積分
- 6JL2233B集成電平轉換功能的LDO中文手冊
- 0.50 MB | 1次下載 | 免費
- 7如何PC訪問內網及VPN
- 19.15 MB | 1次下載 | 1 積分
- 8萬用表UT58A原理圖
- 0.09 MB | 1次下載 | 5 積分
本月
- 1使用單片機實現七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 2UC3842/3/4/5電源管理芯片中文手冊
- 1.75 MB | 17次下載 | 免費
- 3DMT0660數字萬用表產品說明書
- 0.70 MB | 13次下載 | 免費
- 43314A函數發生器維修手冊
- 16.30 MB | 13次下載 | 免費
- 5華瑞昇CR216芯片數字萬用表規格書附原理圖及校正流程方法
- 0.74 MB | 11次下載 | 3 積分
- 6TPS54202H降壓轉換器評估模塊用戶指南
- 1.02MB | 8次下載 | 免費
- 7STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 8HY12P65/HY12P66數字萬用表芯片規格書
- 0.69 MB | 6次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評論
查看更多