關於 Arduino Ameba 的 100 篇 - 空氣盒子 (8/100)


收到了空氣盒子 , 在台北市連結中提到

    本計畫由華碩雲端、瑞昱半導體與中研院資訊所合作,提供300個空氣盒子給市民與學校,用於感測PM2.5、溫度與濕度,並將這些環境資訊上傳至華碩OmniStore雲端物聯網平台,並在使用者同意下將環境數據開放給研究機構分析汙染來源以及Makers進行創新加值應用




很奇怪的, 在我住處, APP 設定後, 可以看到 PM2.5  和相關數值.


但是在 觀測站 上 一直看不到 相關資料. 




於是興起了追朔資料的念頭. 

在 這篇 AirBox API 中提到的兩個, 可以幫助找尋. 

  • GET airbox/messages/
  • Description: 取得所有合法 AirBox 裝置最近一次通報紀錄

  • GET airbox/device/:id
  • Description: 取得單一合法 AirBox 裝置一週內所有通報資料
  • parameter:
  • id: AirBox 的 device id (required)


但沒有看到任何資料. 那他是怎麼傳到華碩雲的呢?

本想抓 wifi 封包, 看看空氣盒子怎麼傳的, 可是忘了帶 wifi sniffer card. 

後來 想到一個方法. 

    把 iphone 設成 hot spot , 並連 usb 線到 macbook 或 iMac, 
    讓 空氣盒子 來連 iphone 手機, 並透過 iMac 抓 iphone 封包. 

具體怎麼做呢, 找到這篇文章 : 

(1) 首先先用 xcode , Windows -> Devices, 會顯示 Device information
      可以找到 identifier 

(2) 開 terminal, 
         $ rvictl -s [identifier]
         $ rvictl -l 
      會有一個 interface rvi0

(3) 安裝 wireshark, 選擇監聽 rvi0 介面. 

選擇改用 iphone hot spot 之後, 幸運地, server 上有資料了, 
看來是我住處 AP 和 大廈網路設定問題.. 之後把空氣盒子搬到台北辦公室來量測好了. 

--

在使用 wireshark 時, 發現一個有趣的現象, 

他並不是直接走 MQTT, 而是走 HTTP POST 把資料傳給 Edimax 網站. 
( 難怪 Edimax 說是先透過他的 server ^_^ , 
  也難怪如果出 Arduino 版本 走原本 LASS 的 MQTT 路可能會 歸類不到 市府空氣盒子... 
  但不確定 )

資料大概是每五分多鐘送一次. ( 用 Asus Airbox API 也可以看到該 device 傳送資料時間 )




$ping airbox.myedimax.com
PING airbox.myedimax.com (54.251.97.30): 56 data bytes

如果會用 nslookup 查找的話, 會發現一個有趣的事, 這個網站可能也和 
Amazon AWS server 有關 

   Non-authoritative answer:

      30.97.251.54.in-addr.arpa name = 
      ec2-54-251-97-30.ap-southeast-1.compute.amazonaws.com.


所以他並不像 LASS 範例 - Ameba 官網 Arduino MQTT - LASS 範例
直接 走 MQTT 到  gpssensor.ddns.net 






但用 MQTTLens 還是可以收到 空氣盒子的資料, 看來 後台 有條路會再透過 LASS server broadcast  MQTT data





目前觀測站就有資料啦





看來新竹得弄台除濕機和空氣清淨機了.. 


Ref: 



AirBox MAC 和 各點對照表



留言

熱門文章