步驟1:硬件
以下是我們決定用于設計工作站的組件:
- STM32 NUCLEO-F303K8
- HPMA115S0-XXX(粒子傳感器PM2.5& PM10)
- SHT11或SHT10或STH15或DHT11(溫度和相對濕度)
- MICS2714(NO2傳感器,二氧化氮傳感器) )
- 太陽能電池板x2(2W)
- 電池LiPo 3,7 V 1050 mAh
- 調節器LiPo Rider Pro(106990008)
- BreakOut SigFox BRKWS01 + 1許可證
- 7個電阻器(86,6; 820; 1K; 1K; 4,7K; 10K; 20K)
- 1個電容(100nF)
- 1個晶體管(2N222)。
! ! !您必須在stm32核板上移除SB16和SB18,以防止HPMA和SHT11之間的干擾! ! !
基本上,這就是連接組件的方法:
并行焊接太陽能電池板。
將它們連接到LiPo Rider Pro并將電池連接到LiPo Rider Pro。
與上面的照片一樣,將所有元素連接到STM32。僅連接一個溫度和濕度傳感器而不是2個!不要忘記電阻器,電容器和晶體管。
最后,使用USB電纜將STM32連接到LiPo Rider Pro。
下一步是此有線的替代方案。
步驟2:硬件 - PCB
我們決定使用Autodesk Eagle設計印刷電路板(PCB)。
您可以選擇連接DHT或SHT,我們選擇為這兩個傳感器設計兩個指紋,以便在需要時更換傳感器。
在附件中,您可以下載Eagle概念文件,以便您可以輕松地自行創建。
我們使用stm32的5V引腳為設備供電。在此配置中,只有stm32內核供電。
因此,我們可以使用MCU的深度睡眠模式,提供低睡眠電流。在待機狀態下,整個休眠電流低于XXμA。
步驟3:LPWAN協議:Sigfox通信
Sigfox 是法國電信公司創建的LPWAN協議 - SIGFOX
它使遠程設備能夠使用超窄帶(UNB)技術進行連接。其中大多數只需要低帶寬來傳輸少量數據。網絡每個消息只能處理大約12個字節,同時每個設備每天不超過140個消息。
對于許多物聯網應用,傳統的蜂窩電話系統太復雜,不允許對于許多小型低成本節點而言,操作功耗極低且成本太高。..。.. SIGFOX網絡和技術針對需要廣域覆蓋的低成本機器到機器應用領域。
對于AirCitizen,檢測到的數據格式很簡單,數據量正確,可以使用Sigfox將傳感器檢測到的數據轉換為IOT平臺 - ThingSpeak。
我們將介紹如何使用Sigfox步驟4:軟件配置
在實現我們的電路后,讓我們動關于STM32 F303K8微控制器的開發。
為了更簡單,您可以選擇在Arduino中編程。
第1步:如果您還沒有安裝Arduino IDE,請從此鏈接下載并安裝它。確保選擇正確的操作系統。
鏈接:下載Arduino
步驟2:安裝Arduino IDE后打開并下載所需的軟件包STM32板。這可以通過選擇文件 - 》首選項來完成。
步驟3:單擊首選項將打開下面顯示的對話框。在其他Boards Manager URL文本框中粘貼以下鏈接:
https://github.com/stm32duino/BoardManagerFiles/ra 。..
然后按確定。
第4步:現在轉到工具 - 》電路板 - 》電路板管理器。這將打開Boards管理器對話框,搜索“STM32 Cores”并安裝出現的軟件包(STMicrolectronics軟件包)。
步驟5:包裝完成后,安裝完成。轉到工具并向下滾動以找到“Nucleo-32 series”。然后確保變體是“Nucleo F303K8”并將上傳方法更改為“STLink”。
第6步:現在,將您的主板連接到計算機,并使用設備管理器檢查主板連接到哪個COM端口。然后,在工具 - 》端口中選擇相同的端口號。
您現在可以使用Arduino對STM32 F303K8進行編程了!
步驟5:編程您的STM32
完成配置后,您需要對微控制器進行編程以收集和發送數據。
步驟1:檢查I/O的影響并測量代碼“Define”部分的時間戳。
Step2:將上面的代碼上傳到stm32,打開串口監視器并重置設備。 “AT”命令應該出現在屏幕上,如果沒有,請檢查I/O聲明。
通過查閱附件中的法國法規標準,您可以了解數據的準確性。
讓我們繼續進行儀表板的配置。
第6步:ThingSpeak - 1
在配置如何將數據從我們的工作站重定向到ThingSpeak平臺之前,您必須創建一個ThingSpeak帳戶。
注冊:ThingSpeak網站
第1步:現在點擊“新頻道”。這將打開一個表格。輸入名稱和描述(如果需要)。
創建5字段:
字段1:pm2,5
字段2:pm10
字段3:溫度
字段4:濕度
字段5:NO2
這些標題不是標題我們的圖表。
如果您需要一個示例,請參見上面的照片。
您不需要填寫更多字段,但如果您輸入某個位置可能會很有趣。
向下滾動并“保存頻道”。
第2步: AirCitizen電臺頻道。
現在,你可以看到一個包含5個圖表的頁面。通過單擊鉛筆符號,您可以更改圖形的屬性。
結果是上面的第二張圖片。
在這一步,這些圖是私有的。收到數據后,您將能夠公開它們。
第3步:配置圖表后。轉到“API密鑰”標簽。查看API請求部分,更準確地說是第一個字段“更新頻道提要”。 請注意API KEY。
您將擁有以下內容:
GET https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXX&field1=0
您現在可以進入下一章。
第7步:Sigfox模塊與ThingSpeak平臺之間的通信
請注意每張Sigfox模塊卡在卡上寫有一個唯一的號碼和一個PAC號碼。
要接收ThingSpeak上的數據,您應該重定向它們。
數據從站點轉到Sigfox后端,并將重定向到ThingSpeak服務器。
請參閱上面的第一張圖片以獲取解釋。
第1步:由于互聯網上的許多教程,我們不會解釋如何在Sigfox上注冊。
繼續使用Sigfox后端。
點擊“設備類型“,然后點擊套件的行并選擇”編輯“。
現在,進入”Callbacks“部分并單擊“新建”,“自定義回調”。
第2步:
您應該在配置頁面上:
輸入: DATA 和 UPLINK
頻道:網址
發送重復:無
自定義有效負載配置:設置數據源并確定數據格式。你應該這樣寫:
VarName::Type:NumberOfBits
在這種情況下,我們有5個名為pm25,pm10,溫度,濕度和NO2的值。
pm25::int:16 pm10::int:16 temperature::int:8 humidity::uint:8 NO2::uint:8
Url模式:這是語法。使用以前找到的API密鑰并在“api_key =”之后插入它。
https://api.thingspeak.com/update?api_key=XXXXXXXXXXXXXXXX&field1={customData#pm25}&field2={customData#pm10}&field3={customData#temperature}&field4={customData#humidity}&field5={customData#NO2}
使用HTTP方法: GET
發送SNI:ON
標題:無
現在點擊“確定”。
你的回調現在配置了ThingSpeak API! (上面第二張圖片的表示)。
第8步:ThingSpeak - 2
現在,你可以更挑剔修改軸的最小值和最大值。
如有必要,單擊圖表右上角的鉛筆徽標。
典型值:
PM 2,5& PM 10 = ug/m ^ 3
溫度=°C
濕度=%
二氧化氮= ppm
您應該有類似上面兩張圖片的內容。
您還可以添加其他一些小部件,例如 “數字顯示”或“Gauge”。
最后,要公開您的頻道,請轉到“分享”標簽,選擇“與所有人共享頻道視圖”。
第9步:獎勵 - ThingTweet和React
可選:如果滿足條件,則發送推文!
步驟1:創建推特帳戶或者使用您的個人推特賬號。
注冊 - 推特
第2步:在Thingspeak中,進入“應用”然后點擊“ThingTweet”。
點擊“鏈接Twitter帳戶”鏈接您的Twitter帳戶。
第3步:現在,返回“Apps”,然后點擊“React”。
點擊“New R”創建一個新的React eact“。
例如:
反應名稱:溫度超過15°C
條件類型:數字
測試頻率:O n數據插入
條件,如果頻道:
字段: 3(溫度)
簽名:大于
價值: 15
行動: ThingTweet
然后發推文:哦!溫度高于15°C!
使用Twitter帳戶:
選項:每次滿足條件時運行操作
然后單擊“Save React”。
如果是,您現在將發推文滿足條件,并且可以配置許多其他條件,例如取決于PM10的級別。
步驟10:現在輪到你了!
最后,你現在擁有重現您自己的AirCitizen Station的所有元素!
-
監測器
+關注
關注
0文章
174瀏覽量
38802
發布評論請先 登錄
相關推薦
評論