{"id":22968401,"url":"https://github.com/irc-sphere/elsts2017-temperature-data","last_synced_at":"2026-01-30T20:02:49.960Z","repository":{"id":71292360,"uuid":"111551586","full_name":"IRC-SPHERE/elsts2017-temperature-data","owner":"IRC-SPHERE","description":"Accompanying datasets for the paper \"Temperature-Resilient Time Synchronization for the Internet of Things\"","archived":false,"fork":false,"pushed_at":"2018-04-05T17:29:05.000Z","size":22758,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-14T06:02:15.787Z","etag":null,"topics":["dataset","synchronization","temperature-sensor","tsch"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IRC-SPHERE.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-11-21T13:20:10.000Z","updated_at":"2018-04-05T17:29:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"468a9906-dcc1-4553-ad39-700bd0b73f13","html_url":"https://github.com/IRC-SPHERE/elsts2017-temperature-data","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/IRC-SPHERE/elsts2017-temperature-data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRC-SPHERE%2Felsts2017-temperature-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRC-SPHERE%2Felsts2017-temperature-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRC-SPHERE%2Felsts2017-temperature-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRC-SPHERE%2Felsts2017-temperature-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IRC-SPHERE","download_url":"https://codeload.github.com/IRC-SPHERE/elsts2017-temperature-data/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IRC-SPHERE%2Felsts2017-temperature-data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28918235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T19:10:10.838Z","status":"ssl_error","status_checked_at":"2026-01-30T19:06:40.573Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["dataset","synchronization","temperature-sensor","tsch"],"created_at":"2024-12-14T21:18:59.415Z","updated_at":"2026-01-30T20:02:49.955Z","avatar_url":"https://github.com/IRC-SPHERE.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"This contains accompanying datasets for the paper:\n\n\u003e Atis Elsts, Xenofon Fafoutis, Simon Duquennoy, George Oikonomou, Robert Piechocki and Ian Craddock, *Temperature-Resilient Time Synchronization for the Internet of Things*, IEEE Transactions on Industrial Informatics.\n\nIt contains both temperature measurements (by on-board HDC temperature sensors) in `.csv` files and the resulting drifts, in form of log outputs generated by the embedded devices.\n\n\nThe experiments used the microsecond-accuracy TSCH branch (source code available at https://github.com/atiselsts/contiki/tree/ptsch). The method is described in:\n\n\u003e Elsts, A., Duquennoy, S., Fafoutis, X., Oikonomou, G., Piechocki, R. and Craddock, I., 2016. Microsecond-Accuracy Time Synchronization Using the IEEE 802.15.4 TSCH Protocol. In Local Computer Networks Workshops (LCN Workshops), IEEE 41st Conference on (pp. 156-164). IEEE.\n\n\n# File formats\n\nThe **CSV files** contain the temperature measurements on the sensor nodes.\n\nThe **log files (.txt)** are just the raw logging output of nodes.  There are three types of lines one needs to extract:\n\n```\n1494298887.2 \u003e TSCH: {asn-0.575016 link-0-0-0-0 ch-26} drift -65\n1494298887.2 \u003e TSCH: {asn-0.575016 link-0-0-0-0 ch-26} bc-0-0 35 rx 131, dr -2 (-24562), edr 2 (24562)\n1494298887.4 \u003e TSCH: {asn-0.57502b link-0-0-0-0 ch-20} bc-0-0 35 rx 131, edr 1 (-299)\n```\n\n- The `1494298887.2` is server time, in seconds.\n- `asn-0.575016` is the ASN slot number, in the 5 byte hex notation.\n- `drift -65` is the drift estimate of the sensor node, printed in ppm (parts per million) multiplied by 1024. I.e. `-65` is approximately `-0.065` parts per million. It is only printed after its updated, and it's only updated on synchronization events.\n- `dr -2 (-24562), edr 2 (24562)` shows that EB packet was received and used for synchronization.  `24562` is the corrected synchronization error. It is printed custom units, 1/1024 of a microsecond. Time correction also triggers update of the `drift` value (which was already printed, in the line before this one). `-2` is also the corrected synchronization error, but using rtimer ticks timing. It can be ignored when the more accurate estimate in brackets is available. (There are 5^6 = 15625 units per rtimer tick. `-24562 / 15625 = -1.57`, which when rounded to integer gives -2).\n- `edr 1 (-299)` shows that EB packet was received, but not used for syncronization. `-299` is the estimated error.\n\nIn the experiment, beacons were sent around once per second, but sync only once per several minutes (at least after the initial learning period). So we have few synchronization events, definitely much less than temperature sensing events.\n\nWe use these regular expressions to parse the lines (the server time is ignored):\n```\nregex_drift_value = \".*TSCH: {asn-([0-9a-f])\\.([0-9a-f]+) .*} drift (-?[0-9]+)$\"\nregex_edr_line = \".*TSCH: {asn-([0-9a-f])\\.([0-9a-f]+) .*} bc-.* rx 131, edr -?[0-9]+ \\((-?[0-9]+)\\)$\"\nregex_dr_line = \".*TSCH: {asn-([0-9a-f])\\.([0-9a-f]+) .*} bc-.* rx 131, dr -?[0-9]+ \\((-?[0-9]+)\\), edr -?[0-9]+ \\((-?[0-9]+)\\)$\"\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firc-sphere%2Felsts2017-temperature-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firc-sphere%2Felsts2017-temperature-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firc-sphere%2Felsts2017-temperature-data/lists"}