低成本空氣質量傳感器(AQE)將其數據發送到opensensors.io服務器。每x秒發送一串信息(時間戳,污染物濃度等)。數據可以被檢索爲一個json文件。 Opensensors術語使用devices
,topics
,organizations
和payloads
。我已經想出瞭如何設置一個捲曲手柄並使用curl包下載一個csv文件。下面的代碼將opensensors json文件轉換爲數據幀(或表格)
curl_download(url = myURL2, destfile = "curlDownloadTest.csv", mode = "w", handle = myCurlHandle)
下載的數據的一個例子是在https://github.com/GeraldCNelson/AQEAnalysis/commit/c6ee29545d07835c5a920bf2b37625adb78462aa
我用fromJSON
在jsonlite包來改造這個
temp <- fromJSON("curlDownloadTest.csv", simplifyDataFrame = FALSE)
輸出(temp
)是一個大名單與2個元素 - 消息和下一個。 messages
包含所有數據; next
是一個鏈接,用於獲取下一組數據(它不是一次全部下載)。
消息列表由多組列表組成(每組上傳數據一個);每套具有五個元件 - device
,owner
,topic
,date
和。有效負載是3列表 - encoding
(總是chr utf-8),content-type
(總是chr「application/json」)和text
。文本列表看起來像它的json格式(這是一個字符串片段 - 「{\」serial-number \「:\」egg00802aaa019b0111 \「,\」converted-value \「:69.52,\」converted-units \「: 「degF \」)
欲重組這個數據到一個數據幀,其具有 日期信息作爲一列,並從有效載荷作爲剩餘列(serial-number
,converted value
等測試信息(或數據表) ..
我無法弄清楚如何將文本列表從當前轉換的有效載荷列表(JSON?)結構的東西,我可以rbind到的數據幀。
來自OpenSensors的Yodit在這裏,我們正在編寫一個R-Stats庫,因爲我們需要它來滿足我們自己的需求。在接下來的幾周內會推動並提高你的頭腦,所以應該讓你的生活更輕鬆。 – yods
Hi @JerryN - 我已經開始在這裏研究R包 - https://github.com/lgatto/rosio。小插圖給出了一個概述。 – Laurent