資料介紹
描述
?
該項目展示了如何將MKR FOX 1200和一堆 I2C 傳感器變成一個簡單的電池供電氣象站。
我們將使用:
- 板載溫度傳感器(低精度,± 1 °C)
- HTU21D I2C 傳感器獲取濕度水平
- 博世 BMP280 獲取大氣壓力和精確溫度
- TSL2561光傳感器獲取光度
硬件設置
該項目的硬件連接非常簡單:所有傳感器都使用 I2C 接口并在 3.3V 下運行。
它們需要來自 MKR FOX 1200 的四根線:GND、3.3V、引腳 11 上的 SDA 和引腳 12 上的 SCL。相同的四個連接可以與三個傳感器并聯(lián)共享,因為它們每個都有一個特定的 I2C 地址,因此相關的庫和函數(shù)將負責區(qū)分它們中的每一個。
整個項目可以由兩節(jié)AA或AAA堿性電池串聯(lián)產(chǎn)生3V并接線到板上的螺絲接線端子塊供電。
Sigfox 消息
由于 Sigfox 網(wǎng)絡每天最多可以發(fā)送 140 條消息,因此我們將優(yōu)化讀數(shù)并以緊湊的二進制格式發(fā)送數(shù)據(jù)。
數(shù)據(jù)打包很重要,因為您可以發(fā)送的消息的最大大小為 12 個字節(jié)。一個浮點數(shù)占用 4 個字節(jié),所以我們需要將我們的讀數(shù)打包成一些更小的表示形式。
浮點格式非常寬(您可以表示大到 3.402823e+38 (!) 的數(shù)字),我們不需要整個數(shù)據(jù)空間;然后我們可以決定安全限制(基于我們將要部署站點的位置)并在后端恢復原始表示。
云服務的配置
我們將使用兩種云服務:
使用FirstConfiguration 示例提供的 PAC 和 ID 在 Sigfox 后端注冊您的開發(fā)板(如果您已經(jīng)為之前的項目做過,可以跳過)。
兩者都需要配置為相互交談并以正確的格式解釋數(shù)據(jù)。在 Thingspeak 上注冊并創(chuàng)建幾個頻道。配置如下圖所示。
我們配置的第一個通道將接收原始數(shù)據(jù)(readChannelID
),而第二個將收集重新縮放的數(shù)據(jù)(writeChannelID
)。
是時候使用 Arduino Create Editor 上傳草圖了。默認草圖允許您在現(xiàn)場部署之前廣泛測試所有基礎架構。
記得聲明:
oneshot = false
當您確信所有后端基礎架構設置正確時。草圖等待串口,所以我們現(xiàn)在不會啟動它。相反,打開SigFox 后端并配置回調(diào):
單擊設備類型->列表-> 右鍵單擊??您的電路板,然后單擊編輯。
點擊左側菜單中的回調(diào):
你會看到這樣的窗口:
點擊窗口右上角的新建按鈕:
選擇自定義回調(diào):
?
相關配置報告如下。確保回調(diào)設置為:
-
類型:
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 回調(diào)中引用它們。
作為 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
。
保存并退出。我們現(xiàn)在可以打開串口并觀察正在發(fā)送的第一條消息。萬歲!
從原始到圖形
我們配置的設置會將我們的數(shù)據(jù)路由到 Thingspeak 后端,但它們?nèi)匀皇窃几袷剑?/font>要重新轉(zhuǎn)換它們,讓我們使用帶有此代碼段的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,我們最終可以將原始數(shù)據(jù)轉(zhuǎn)換回實際值。請記住使用React每 10 分鐘安排一次分析操作,否則將永遠不會執(zhí)行!
?
?
我們終于有了精彩的圖表。
?
?
- XV4001BC車載用SPI/I2C輸出接口的數(shù)字輸出
- 帶BME280傳感器的Arduino簡易氣象站
- MKR FOX 1200運動觸發(fā)器開源分享
- 基于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位數(shù)字I2C溫度傳感器
- 使用MPU6050傳感器讀取I2C總線數(shù)據(jù)的程序免費下載 15次下載
- 如何將I2C從地址左移1位
- I2C通信協(xié)議及其工作原理 4481次閱讀
- Linux I2C驅(qū)動入門知識科普 1516次閱讀
- 如何利用ESP8266實現(xiàn)防雨物聯(lián)網(wǎng)氣象站的設計 4963次閱讀
- 如何使用ESP32創(chuàng)建一個氣象站 3771次閱讀
- 如何使用兩個dht傳感器及HC12模塊制作遠程氣象站? 2792次閱讀
- 基于創(chuàng)建帶有空氣質(zhì)量傳感器的室內(nèi)氣象站 2186次閱讀
- 什么是I2C通信協(xié)議? 7572次閱讀
- 開源軟件opencores I2C master控制器控制I2C接口操作原理 6920次閱讀
- i2c總線用來做什么_i2c總線數(shù)據(jù)傳輸過程 7086次閱讀
- dfrobotSHT20 I2C防水型溫濕傳感器簡介 2920次閱讀
- dfrobotDIY智能氣象站套件簡介 1618次閱讀
- I2C總線的工作原理以及優(yōu)缺點解析 1.4w次閱讀
- 詳細講解RT-Thread I2C設備驅(qū)動框架及相關函數(shù) 2w次閱讀
- 基于I2C接口與上級無線傳感器網(wǎng)絡通信的環(huán)境監(jiān)測系統(tǒng) 3241次閱讀
- 基于STM32的自動氣象站控制模塊設計 8306次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多