{"id":19234863,"url":"https://github.com/yaqwsx/sensorstreamer","last_synced_at":"2025-08-27T04:11:53.702Z","repository":{"id":84124166,"uuid":"81966052","full_name":"yaqwsx/SensorStreamer","owner":"yaqwsx","description":"Stream sensor values from your Android device ","archived":false,"fork":false,"pushed_at":"2022-10-09T06:49:27.000Z","size":692,"stargazers_count":54,"open_issues_count":6,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-01T09:10:03.116Z","etag":null,"topics":["android","arduino","network","sensor"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yaqwsx.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-02-14T16:35:35.000Z","updated_at":"2025-04-02T15:07:44.000Z","dependencies_parsed_at":"2023-10-20T23:55:07.967Z","dependency_job_id":null,"html_url":"https://github.com/yaqwsx/SensorStreamer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yaqwsx/SensorStreamer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaqwsx%2FSensorStreamer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaqwsx%2FSensorStreamer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaqwsx%2FSensorStreamer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaqwsx%2FSensorStreamer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yaqwsx","download_url":"https://codeload.github.com/yaqwsx/SensorStreamer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaqwsx%2FSensorStreamer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272289495,"owners_count":24907799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","arduino","network","sensor"],"created_at":"2024-11-09T16:15:14.921Z","updated_at":"2025-08-27T04:11:53.671Z","avatar_url":"https://github.com/yaqwsx.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Header](media/main.png)\n\n# SensorStreamer\n\nOur phones are full of useful sensors - accelerometer, gyroscope,\nmagnetometer... Every hacker have surely experienced the need to test something\nwith one of these sensors. Usually you take Arduino with a sensor breakout board\nand you write a small piece of code, which send data to serial line.\n\nBut not always you have the sensors you need and the wires are sometimes a\nlimitation. Here comes SensorStreamer - lightweight Android app, which can log\nsensor data and send them over network to your computer, where you can analyze\nthem e.g. with a simple Python script.\n\nYou can download the app at the Play Store: [SensorStreamer](https://play.google.com/store/apps/details?id=cz.honzamrazek.sensorstreamer)\n\n## Supported Features\n\n- streaming of values from any sensor in the phone (as far as the sensor is\n  supported by Android API)\n- stream data over TCP sockets in\n    - client mode\n    - server mode\n- stream data in\n    - JSON object\n    - binary packet\n\n## Format of the JSON Packet\n\nThe packets contain a JSON object as the top level entity. This object contains\na field for each sensor. Each sensor supplies two values:\n\n- `timestamp` (in form of nano seconds)\n- `value` which is either a single float value or a 3D array of floats. For\n  precise meaning of these values, see [Android Sensor Reference](https://developer.android.com/guide/topics/sensors/sensors_motion.html#sensors-motion-accel).\n\nAs it is impossible to capture value from multiple sensor at the same time,\ntime-stamp is included for each sensor independently. There should be only small\ndifferences in this timestamps, however, if you application requires precise\ntiming, this value might come handy.\n\n## Format of the Binary Packet\n\nBinary packet is designed to be as simple and as compact as possible. The format\nis following:\n\n```\n[0x80] [timestamp 8 bytes] [sensor values 1 or 3 float] ... [sensor values 1 or 3 float]\n```\n\nTimestamp is optional and can be omitted. The sensors are in the exact same\norder as the configuration in app says. This packet contains only one timestamp\nin order to be as compact as possible.\n\n## Timing\n\nDue to the restrictions of Android API, it no possible to specify an exact\nfrequency for sensor reading. Only 4 modes are available with frequencies\nroughly 5 Hz, 16 Hz, 100 Hz and the fastest possible mode. Note, that there no\nguarantee on the timing - the sensor might not be able to deliver values faster.\nIn such a case, the frequency is limited by the slowest sensor in the packet.\n\n## Python Client\n\nThere is a 3rd party Python tool to capture data:\n[PhoneSensor](https://github.com/nup002/PhoneSensors).\n\n## Author\n\nDeveloped as a quick dirty hack by Jan \"yaqwsx\" Mrázek, graphics made by [Martin\nMikšík](https://github.com/mamiksik).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaqwsx%2Fsensorstreamer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyaqwsx%2Fsensorstreamer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaqwsx%2Fsensorstreamer/lists"}