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