Android · 오프라인 데이터 수집 · 버전 1.5.2

휴대전화가
진짜 계측기가 됩니다.

Signal Collector는 휴대전화가 닿을 수 있는 센서와 무선, 네트워크 데이터를 휴대전화 안에 곧바로 계속 기록합니다. 클라우드 저장소도 없고, 측정 데이터가 기기를 떠나지도 않습니다.

실제 촬영 · Pixel 10a

  1. 고리를 펼친 채 진행 중인 측정

    진행 중인 측정. 고리는 위성과 네트워크, 센서가 들어오는 대로 보여 줍니다.

  2. 측정할 기술 선택

    무엇을 측정할지 고르는 화면. 소스마다 무엇을 기록하는지 한 줄로 적혀 있습니다.

  3. 측정 중의 조작 키

    시작, 초기화, 중지. 그 위에 지속 시간과 거리, 레코드 수가 있습니다.

  4. 수집 상태와 내보내기 패널

    패널 아래쪽: 소스마다 무엇을 하고 있는지, 그리고 휴대전화를 떠나는 파일.

  5. 머리글에서 연 설정 메뉴

    설정: 자체 서버로 전송, 단위, 그리고 중지한 뒤에 일어날 일.

로컬 휴대전화 안의 Room / SQLite, 스스로 아무것도 보내지 않음
연속 화면이 잠겨도 계속 수집
손닿는 곳 위젯 네 개, 빠른 설정 타일, 알림 창
내보내기 크기에 따라 TXT 또는 GZIP

내부 테스트

상점에 오르기 전의 다음 버전.

모든 빌드는 프로덕션으로 가기 전에 내부 테스트를 거칩니다. 휴대전화에 로그인된 Google 계정으로 참여하면 그 뒤로는 다른 앱과 똑같이 업데이트가 들어옵니다.

한 번의 측정.
맥락 전부.

모든 사례의 끝은
하나의 파일입니다.

계측기는 소스 목록이 아니라 그것이 답하는 질문으로 팔립니다. 이 앱이 상정한 열두 가지 상황 가운데 여섯 가지입니다. 하나하나가 한 번의 걷기이고, 그 끝에는 파일이 있습니다.

01

회의실의 사각지대

휴대전화를 주머니에 넣고 층을 걸으며 문마다 메모를 남기십시오. 초 단위 처리량과 휴대전화가 실제로 접속해 있던 AP가 나오고, 그러면 논쟁 대신 방 하나가 남습니다 — 두 부서 사이의 다툼이 그렇게 정리됩니다.

02

차량 없는 드라이브 테스트

SIM 두 장이 모두 스캔하고, GPS는 1초 간격, 휴대전화는 대시보드에 고정합니다. 기술이나 Cell ID, PCI가 바뀔 때마다 이벤트로 남으므로 핸드오버가 미터 단위 위치와 함께 나옵니다.

03

GPS가 잡히지 않는 곳의 조사

창고에서는 하늘이 곧 지붕입니다. 앱 자체 뷰파인더로 통로마다 사진을 찍어 표시하고 AP와 MLO 링크, RTT 거리를 모으십시오 — 새 AP를 한 대 사기 전에 커버리지 지도가 나옵니다.

04

스스로 알리는 센서

건물 곳곳에 BLE 온도계 수십 개가 있지만 어느 것과도 페어링되어 있지 않습니다. 지나가기만 하면 온도와 습도, 배터리 전압이 이름이 붙은 SI 단위로 들어옵니다. 그 값이 나온 바이트와 나란히 기록됩니다.

05

임대인에게 내놓을 증거

10분만 걸어도 시각과 위치, 신호 세기, 방 사진이 담긴 파일이 남습니다. 「어디서나 신호는 괜찮다」던 말이 확인할 수 있는 주장이 됩니다.

06

클라우드를 받아들이지 않는 고객

평소처럼 측정하고 자신의 S3, WebDAV, SFTP로 전송하거나 파일로 건네주십시오. 사진과 음성 메모는 휴대전화 갤러리에 닿지 않으므로 NDA를 그대로 지킬 수 있습니다.

열두 가지 사례 전부와, 데이터를 읽는 도구

전체 변경 내역

작업이
눈에 보입니다.

1.5.1 버전은 열두 가지 언어를 모든 설치본에 담고, 오래 걸리는 내보내기나 초기화가 어디까지 진행됐는지 보여 주며, 측정을 켜지 않고 남긴 지점과 사진, 테스트를 담는 자유 노트를 더했습니다.

01

정말로 들어 있는 언어

예전에는 Google Play가 설치 시점에 휴대전화에 있던 언어만 내려주었습니다. 그래서 앱별 언어 선택에는 체코어를 비롯한 언어가 뒤에 문자열 없이 이름만 올라 있었습니다. 이제는 열두 가지 번역이 모든 설치본에 들어갑니다.

02

키 위의 혜성

큰 측정에서는 내려받기와 공유, 초기화에 수 초에서 수 분이 걸립니다. 이제 키 가장자리를 혜성이 돌며 끝난 만큼 꼬리가 길어지고, 그 아래 줄이 얼마나 끝났는지, 얼마나 돌았는지, 대략 얼마나 남았는지 알려 줍니다. 쓰기가 시작되기 전에 남은 공간이 보이고, 빠듯하면 호박색, 내보내기가 들어가지 않으면 빨간색이 됩니다.

03

자유 노트

측량 지점과 사진, 음성 메모, 일회성 인터넷 테스트와 Wi-Fi 처리량 주기에 더는 시작이 필요하지 않습니다. 측정이 돌고 있지 않으면 이것들은 별도의 기록으로 들어갑니다. 수집기도, 웨이크 록도, 무료 1시간 차감도 없습니다 — 자체 카드와 자체 공유 파일, 자체 비우기를 가집니다.

04

아이콘에서 공유, 시스템 컨트롤

측정이 멈춘 뒤 앱 아이콘을 길게 누르면 시작 옆에 공유가 있습니다; 앱이 열리며 곧바로 내보내기가 시작됩니다. 스위치와 텍스트 입력, 선택, 메시지는 이제 표준 Android 컨트롤입니다 — 키와 계측기는 그대로입니다.

설치 경로는
Google Play뿐입니다.

버전1.5.2
플랫폼Android 12+
제공 범위Play가 허용하는 모든 국가
Google Play에서 받기
  1. 1

    Google Play에서 설치하십시오. 초대도, 테스터 명단도, 기다림도 없습니다.

  2. 2

    해마다 최대 1시간까지 아무것도 내지 않고 측정할 수 있습니다.

  3. 3

    1시간으로 모자라면 언제든 앱 안에서 무제한 측정의 잠금을 해제하십시오.

배포 경로는 Google Play뿐입니다. Play가 업데이트 사슬에 서명하며, 어디에서도 APK를 직접 내려받을 수 없습니다. 앱 자체는 저희 계정도, 저희 서버도 필요로 하지 않습니다.

한 해에 한 시간,
판단하기에 충분합니다.

현장 계측기는 화면 사진만으로 판단할 수 없습니다. 그래서 Signal Collector는 모든 휴대전화에 해마다 1시간의 측정 시간을 줍니다. 한 구간을 걸어 보고, 고리가 차오르는 것을 지켜보고, 내보내기를 열어 보기에 충분한 시간입니다. 이 1시간은 실행 횟수가 아니라 측정 시간으로 세므로 여러 날 여러 장소에 나누어 쓸 수 있습니다. 다 쓰고 나면 잠금 해제는 국가별 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

알림

측정 중에는 지속 시간과 레코드 수, 걸은 거리를 담고 그 아래에 지점 표시와 중지를 둡니다. 아무것도 돌고 있지 않은 동안에는 알림 창에 시작을 계속 둘 수 있어, 구간을 나누어 재더라도 매번 앱을 찾지 않아도 됩니다.

키는 측정 자체가 5초에 한 번씩 다시 그립니다 — 위젯은 자기를 먹여 살리는 앱보다 새로울 수 없습니다. 그래서 키마다 그 수치를 읽은 시각을 함께 적습니다. 스톱워치만은 예외로 스스로 흘러갑니다. 모두 한곳에서, 설정 메뉴의 홈 화면 키 항목에서 설정하며, 자세한 설명은 도움말에 있습니다.

실제 휴대전화에서
나온 데이터.

아래 내용은 모두 Android 16이 도는 Google Pixel 10a에서 쟀습니다. 0.7.2 버전에서 한 번의 측정을 세 구간으로 나누어 87,597개의 레코드를 모았습니다. 지속 시간은 2:49에서 7:21을 거쳐 8:12로 늘었고 측정 번호는 한 번도 바뀌지 않았으며, 구간 사이의 20분이 넘는 멈춤은 지속 시간에 세지 않았습니다. 거리 수치는 같은 휴대전화에서 0.7.1 버전을 9분 동안 돌린 결과이며, 거리 필터는 그 뒤로 바뀌지 않았습니다.

429 m거리 필터가 걸러 낸 GPS 잡음
0 m한 번도 움직이지 않은 휴대전화가 걸은 거리
9/9시작과 결과가 짝지어진 버스트

처음 274개의 측위는 정확도가 9 m에서 114 m 사이였습니다. 이웃한 측위 사이의 거리를 모두 더하면 429 m가 되고, 거친 측위를 걸러 내면 28 m가 됩니다. 기준점을 임계값 너머로 옮기자 0이 나왔습니다. 시험한 휴대전화에는 SIM이 없어 매핑의 이동통신 쪽은 망을 쓸 수 없다고 올바르게 보고했습니다.

설치와 변경 내역,
그리고 소스 코드.

저장소는 비공개입니다. 로그인한 협력자는 그 안에서 소스 코드와 태그가 붙은 릴리스, APK 체크섬을 찾을 수 있습니다.

측정 데이터는 휴대전화를 떠나지 않습니다.

앱은 오프라인으로 동작하며 분석, 광고, 어트리뷰션, 오류 보고 SDK를 하나도 담고 있지 않습니다 — 앞으로도 넣지 않습니다. 앱을 이루는 모든 라이브러리는 개인정보 처리방침에 이름이 적혀 있으며, 각각 정확한 버전으로 고정되어 있으므로 그 사실을 알리는 릴리스 없이는 안에 있는 무엇도 바뀌지 않습니다. 선택 사항인 전송 품질 연속 매핑은 작은 시험용 HTTPS 전송과 주기적인 버스트에 공개 Cloudflare Speedtest 엔드포인트를 씁니다. 이는 인터넷 최대 속도 측정이 아닙니다. 이 모듈은 기본적으로 꺼져 있습니다. 잠금 해제를 구매하면 구매 보고 하나가 휴대전화를 떠나지만 측정 데이터는 담기지 않습니다. 자세한 내용은 개인정보 처리방침에 적혀 있습니다. 내보낸 파일에는 민감한 위치 정보와 주변 네트워크 식별자가 담길 수 있습니다.

센서에서
파일의 한 행까지.

소스마다 자기 속도로 돕니다. 샘플에는 시각과 마지막으로 알려진 위치가 찍히고, 막히지 않는 큐를 지나 로컬 데이터베이스에 묶음으로 저장됩니다. 도표에서 밑줄 친 키의 설명은 데이터 사전에 있습니다.

데이터 경로 도표: 소스, SampleSink, 큐, 라이터, Room/SQLite, 하트비트, 내보내기

수집 설정

측정을 시작하기 전에 앱이 소스마다 제공하는 것과 같은 파라미터입니다. 범위와 데이터 추정치는 구현과 일치하며, 값이 바뀌면 위 도표에 곧바로 나타납니다.

ms

범위 10–1000 ms

ms

범위 100–60000 ms

s

범위 5–300 s

s

범위 5–60 s

s

범위 5–300 s

인터넷 매핑연속 측정에 쓸 네트워크

둘 다 고르면 서로 다른 Android Network 핸들 두 개가 동시에 돕니다.

ms

범위 500–5000 ms

KiB

범위 1–1024 KiB

KiB

범위 1–256 KiB

s

범위 10–300 s

KiB

범위 64–10240 KiB

KiB

범위 8–2048 KiB

407 MB매핑 30분당 사용 데이터 상한 추정
8 400센서 일곱 개에서 나오는 분당 샘플
120인터넷 매핑에서 나오는 분당 샘플
2010분당 Wi-Fi와 이동통신 스캔

이 추정치는 상한입니다. 느린 회선에서는 샘플 하나에 시간이 더 걸려 같은 시간에 들어가는 샘플이 줄고 전송량도 적어집니다. 이것은 최대 속도 측정이 아닙니다 — 이유.

변경 내역 1.0.0

TXT로 열기 ↗