Android · 離線資料收集 · 版本 1.5.2

一支手機,
就是一台真正的儀器。

Signal Collector 持續把手機能取得的感測器、無線電與網路資料直接記錄到手機裡——沒有雲端儲存,量測資料不會離開裝置。

實機截圖 · Pixel 10a

  1. 量測進行中,圓環已展開

    進行中的量測。圓環顯示陸續進來的衛星、網路與感測器。

  2. 選擇要量測的技術

    挑選要量測什麼。每個來源都是一列,說明它記錄什麼。

  3. 量測進行中的控制按鍵

    開始、重設與停止,上方是時長、距離與紀錄筆數。

  4. 收集狀況與匯出面板

    面板下半部:各個來源正在做什麼,以及要離開手機的那個檔案。

  5. 從頁首開啟的設定選單

    設定:傳送到你自己的伺服器、單位,以及停止之後會發生什麼。

本機 手機上的 Room / SQLite,不會自行送出任何東西
持續 螢幕鎖定時仍持續收集
隨手可及 四個小工具、一個快速設定方塊,以及通知欄
匯出 TXT 或 GZIP,依大小選擇

內部測試

下一個版本,在商店上架之前。

每個組建在進入正式版之前,都會先放上內部測試。用手機登入的 Google 帳號加入,之後更新就會像其他應用程式一樣送達。

走一趟,
拿到完整的環境。

每一個案例,
最後都是一個檔案。

量測儀器賣的不是來源清單,而是它能回答的問題。以下是這個應用程式所針對的十二種情境中的六種——每一種都是走一趟,最後留下一個檔案。

01

會議室裡的死角

把手機放進口袋走過整層樓,在每道門口口述一段備註。得到的是逐秒的吞吐量、手機當時真正連上的 AP,以及 一個具體的房間,而不是各說各話 ——兩個部門之間從此有了共同的依據。

02

不需要工程車的路測

兩張 SIM 同時掃描,GPS 每秒一次,手機固定在儀表板上。每一次技術、Cell ID 或 PCI 的變化都會記成一筆事件,因此 換手的位置可以精確到公尺.

03

GPS 完全幫不上忙的勘查

在倉庫裡,天空就是屋頂。用應用程式自己的取景器替每條走道拍一張照片做標記,同時收集 AP、MLO 連結與 RTT 距離—— 在買下第一台新 AP 之前就有一張覆蓋圖.

04

自己會回報的感測器

一棟樓裡有數十個 BLE 溫度計,沒有一個配對過。走過去,它們的溫度、濕度與電池電壓就會 帶著名稱、以 SI 單位抵達,就放在它們來源的位元組旁邊。

05

給房東看的證據

走十分鐘就會得到一個檔案,裡面有時間戳記、位置、訊號強度與各個房間的照片。「到處訊號都很好」於是變成 一句可以查證的說法.

06

不接受雲端的客戶

照常量測,然後傳送到你自己的 S3、WebDAV 或 SFTP——或者直接交出一個檔案。照片與語音備註絕不會進到手機相簿,因此 保密協議仍然簽得下去.

全部十二個案例,以及誰來讀這些資料

完整變更紀錄

看得見的
工作進度。

1.5.1 版在每次安裝時都附上全部十二種語言,讓你看得到長時間的匯出或重設正在進行,並加入隨手記事本,用來收沒有量測時記下的測點、照片與測試。

01

真的裝在裡面的語言

Google Play 過去只提供手機在安裝當下擁有的語言,因此各應用程式的語言選單雖然列出捷克文與其他語言, 背後卻沒有字串。現在每次安裝都會附上全部十二種翻譯。

02

按鍵上的彗星

在大型量測上,下載、分享與重設要花幾秒到幾分鐘。現在有一顆彗星沿著按鍵的邊緣繞行,尾巴隨著完成的部分變長,下方還有一行即時文字說明 完成了多少、已經執行多久,以及大約還要多久。寫入開始之前會先顯示可用空間——快不夠時是琥珀色,匯出放不下時是紅色。

03

隨手記事本

測點、照片、語音備註、一次性網際網路測試與 Wi-Fi 吞吐量循環,現在都不再需要先按「開始」。沒有量測進行時,它們會進入一份獨立的紀錄, 不啟動收集器、不佔用喚醒鎖,也不計入免費的一小時 ——它有自己的卡片、自己的分享檔案,以及自己的清空。

04

從圖示分享,系統原生控制項

量測停止之後長按應用程式圖示, 「分享」就在「開始」旁邊;點下去會開啟應用程式並立刻開始匯出。開關、文字欄位、選項與訊息現在都是標準的 Android 控制項——按鍵與儀器本身維持原樣。

只透過
Google Play 安裝。

版本1.5.2
平台Android 12+
供應範圍Play 允許的所有國家
在 Google Play 下載
  1. 1

    從 Google Play 安裝——不需要邀請、不需要測試者名單、不必等待。

  2. 2

    每年最多可以免費量測一小時。

  3. 3

    當這一小時不夠用時,隨時可以在應用程式裡解鎖無限量測。

Google Play 是唯一的散布通路:更新鏈由它簽章,任何地方都不提供直接下載的 APK。應用程式本身不需要我們的帳號,也不需要我們的伺服器才能運作。

每年一小時,
讓你想清楚。

現場儀器沒辦法只看螢幕截圖就判斷,因此 Signal Collector 給每支手機每年一小時的量測時間——足夠走完一條路線、看著圓環填滿、打開匯出檔案。這一小時計算的是量測時間,不是次數,所以可以分成好幾天、在好幾個地點用掉。用完之後,解鎖是一次性的應用程式內購買,價格依你所在國家的 Google Play 定價:沒有訂閱、沒有續約日期,而且會延伸到每一支用同一個帳號登入的手機。

1 小時免費量測時間,每年更新
一次購買此後不受限制,在你所有的手機上
24 小時從一則評論到分類完成的議題

意見回饋透過 Google Play 的評論進行;每則新評論都會在一天之內被讀到、轉成議題並得到回覆,修正則搭上下一次更新。付費的應用程式在量測過程中沒有廣告、沒有分析,也沒有任何第三方 SDK——開發是由售價支撐的。

從實體感測器,
到你周圍的網路。

每個來源都可以在量測之前個別開啟或關閉,部分技術還可以設定間隔。

01

行動網路

服務中與鄰近的基地台、LTE/NR/3G/2G 參數、註冊變更,以及實驗性的主動掃描。

02

GNSS 與位置

1 Hz 的 GPS、衛星、GNSS 原始量測值、時鐘、AGC、導航訊息、NMEA 與天線資訊。

03

Wi‑Fi 與 RTT

目前的連線、附近的 AP、Wi‑Fi 7 MLO、能力資訊,以及到支援的存取點的 RTT/FTM 測距。

04

Bluetooth

傳統裝置探索與 BLE 廣播負載,包含製造商資料與服務資料。

05

感測器與噪音

動作、磁場、氣壓、光線、接近、旋轉向量,以及參考性的 dBFS 值,且不儲存任何音訊。

06

網路與傳輸

每秒一次的實際下載、上傳、RTT、抖動與逾時取樣,30 秒的容量突發,以及同時綁定特定的 Wi‑Fi 與行動網路。

07

SIM 與 eSIM

卡槽、電信業者、MCC/MNC、漫遊,以及哪張卡承載數據——基地台本身指出的是發射端,不是誰在看它。ICCID 與 EID 都不記錄:那是固定不變的門號編號,連換手機都不會改變。

不在手機裡的
感測器。

手機量測它搆得到的東西。牆上的探頭、接在纜線上的儀表、屋頂上的接收器——這些得靠別的途徑進來。進來的途徑有四條,第一條已經可以用了。

01

會廣播的感測器 · 現已可用

BTHome、Ruuvi、ATC 與 pvvx、Eddystone 遙測。不必配對,也不必連線:感測器把讀數喊進空間裡,正在進行的掃描就聽得到。溫度、濕度、氣壓、CO₂、懸浮微粒、電壓——帶著名稱、以 SI 單位,寫在和其他資料同一個檔案裡。

02

Bluetooth LE 設定檔 · 規劃中

Environmental Sensing 會描述自己的量測值,因此就算是沒人聽過的儀表,也能連同單位一起讀出來。旁邊還有標準設定檔——電池、溫度計、位置——以及 Nordic UART 服務,自製探頭多半就是用它說話。

03

纜線上的序列埠 · 規劃中

CDC-ACM、FTDI、CP210x、PL2303、CH340。這五類晶片幾乎涵蓋所有插上 USB 而又不是磁碟的裝置:Arduino 與 ESP32 開發板、u-blox 接收器、頻譜分析儀,以及用 SCPI 回應的儀表。

04

區域網路上的裝置 · 規劃中

透過 mDNS 找到,用 HTTP 或單純的 TCP 串流讀取。請求會綁定到 Wi-Fi 網路,因此不會從行動數據送出,也不會在前往隔壁房間那台機器的路上迷路。

什麼都不用猜。感測器自己標記為無效的讀數會被略過,而不是寫成一個數字;加密的負載會記為加密,而不是被解讀成虛構的內容;應用程式不認得的格式會以原始位元組留在檔案裡。所有鍵值都列在 資料字典.

不必先開啟應用程式的
按鍵。

在現場量測,往往一隻手拿手機,另一隻手忙別的。因此每一個重要的控制項在應用程式之外都有位置,而且送出的指令與畫面上按下去的完全相同。

01

量測面板

這個小工具會啟動存在它裡面的來源組合與間隔。執行時它會如實顯示,並帶著這次量測的數字;再點一下會先詢問,然後才停止。按鍵保留自己啟動內容的副本,因此之後在應用程式裡切換預設組合,不會悄悄改變主畫面量測的東西。

02

標記測點

最多四個你自己的標籤並排——門口、轉角、窗戶各點一下,立刻寫進測點。沒有量測進行時,這個按鍵會一次完成開始量測與標記測點。

03

來源方塊

一個來源,一個大數字:範圍內的存取點、定位中的衛星、音量。沒有量測進行時點一下,就只用這個來源開始一次量測。

04

來源讀數

最多六個來源,每個一行,照你挑選的順序排列——這份清單是拿來一眼讀完的,不是拿來找的。

05

快速設定裡的方塊

在任何應用程式中、在鎖定畫面上都能開始與停止。它會沿用應用程式上次量測的設定。在有安全鎖的鎖定畫面上,它會要求先解鎖手機:畢竟啟動的是位置加上麥克風。

06

圖示底下的捷徑

沒有量測進行時,長按應用程式圖示會提供「開始」;有量測進行時則是「停止」與「標記測點」。這樣標記的測點沒有標籤——標籤在小工具按鍵上,那裡才有位置放。

07

通知

量測時,它帶著時長、紀錄筆數與已走距離,下方是「標記測點」與「停止」。沒有量測進行的整段時間裡,「開始」都可以留在通知欄,因此分段進行的量測不必每次都去找應用程式。

按鍵由量測本身每五秒重繪一次——小工具不可能比餵給它資料的應用程式更即時。因此每個按鍵都標著讀取數字的時間;碼錶是例外,它自己走。這些全都在同一個地方設定, 主畫面按鍵 ,就在設定選單裡,說明則在 說明.

來自一支真實
手機的資料。

以下的一切都是在執行 Android 16 的 Google Pixel 10a 上量測的。在 0.7.2 版上,一次分成三段進行的量測收集了 87,597 筆紀錄:時長從 2:49 經過 7:21 增加到 8:12,量測編號始終沒變,三段之間超過二十分鐘的停頓也沒有計入時長。距離數字來自同一支手機上 0.7.1 版的九分鐘量測——距離濾除的規則自此沒有改變。

429 m被距離濾除丟掉的 GPS 雜訊
0 m一支從未移動的手機「走」出的距離
9/9起始與結果成對的突發次數

最初的 274 次定位精度介於 9 到 114 公尺之間。把相鄰定位之間的距離全部相加會得到 429 公尺,濾掉粗略定位之後是 28 公尺;把錨點移過門檻值之後得到零。測試手機沒有 SIM,因此測繪的行動網路分支正確地回報網路無法使用。

安裝、變更
與原始碼。

儲存庫維持私有。已登入的協作者可以在裡面找到原始碼、標記過的版本與 APK 檢查碼。

量測資料絕不離開手機。

應用程式離線運作,不含任何分析、廣告、歸因或當機回報 SDK——將來也不會加入。應用程式所使用的每一個函式庫都 列在隱私權政策裡,每一個都固定在確切的版本,因此內部的任何變動都一定伴隨一次載明此事的發行。選用的傳輸品質連續測繪,會使用公開的 Cloudflare Speedtest 端點進行小量的測試 HTTPS 傳輸與定期突發;它不是最高網速的量測。這個模組預設關閉。如果你購買解鎖,會有一份購買回報離開手機,其中不含任何量測資料;相關說明在 隱私權政策。匯出檔案可能包含敏感的位置資料與附近網路的識別碼。

從一個感測器,
到檔案裡的一列。

每個來源都以自己的節奏執行。取樣會蓋上時間與最後已知位置,通過不阻塞的佇列,再分批寫入本機資料庫。圖中加底線的鍵值會連到 資料字典.

資料路徑示意圖:來源、SampleSink、佇列、寫入器、Room/SQLite、心跳與匯出

收集設定

這些就是應用程式在量測開始之前,為每個來源提供的參數。範圍與資料量估計與實作一致;有任何變動都會立刻反映在上方的圖裡。

ms

範圍 10–1000 ms

ms

範圍 100–60000 ms

s

範圍 5–300 秒

s

範圍 5–60 秒

s

範圍 5–300 秒

網際網路測繪連續量測使用的網路

兩者都選時,會同時使用兩個各自獨立的 Android Network 控制代碼。

ms

範圍 500–5000 ms

KiB

範圍 1–1024 KiB

KiB

範圍 1–256 KiB

s

範圍 10–300 秒

KiB

範圍 64–10240 KiB

KiB

範圍 8–2048 KiB

407 MB每 30 分鐘測繪的資料用量上限估計
8 400七個感測器每分鐘的取樣數
120網際網路測繪每分鐘的取樣數
20每 10 分鐘的 Wi-Fi 與行動網路掃描次數

這個估計是上限:連線較慢時,每次取樣花的時間較長,同樣的時間裡取樣數較少,傳輸的資料也較少。這不是最高速度的量測—— 原因.

變更紀錄 1.0.0

以 TXT 開啟 ↗