{"id":19022759,"url":"https://github.com/bertrik/sensor-data-bridge","last_synced_at":"2025-04-23T08:22:35.009Z","repository":{"id":42204144,"uuid":"182652926","full_name":"bertrik/sensor-data-bridge","owner":"bertrik","description":"Bridge software for receiving airborne particulate matter measurements from TheThingsNetwork and forwarding them to sensor.community and opensensemap","archived":false,"fork":false,"pushed_at":"2025-03-29T23:00:27.000Z","size":1019,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-17T22:10:08.716Z","etag":null,"topics":["luftdaten","particulate-matter","sensor-community","thethingsnetwork"],"latest_commit_sha":null,"homepage":"https://revspace.nl/sensor-data-bridge","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/bertrik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-04-22T08:06:19.000Z","updated_at":"2025-03-29T23:00:31.000Z","dependencies_parsed_at":"2023-10-11T00:27:44.436Z","dependency_job_id":"cfb864c6-d77a-4425-ab13-e3c65aa2dffb","html_url":"https://github.com/bertrik/sensor-data-bridge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertrik%2Fsensor-data-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertrik%2Fsensor-data-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertrik%2Fsensor-data-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertrik%2Fsensor-data-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bertrik","download_url":"https://codeload.github.com/bertrik/sensor-data-bridge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250395986,"owners_count":21423526,"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","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":["luftdaten","particulate-matter","sensor-community","thethingsnetwork"],"created_at":"2024-11-08T20:27:33.556Z","updated_at":"2025-04-23T08:22:34.994Z","avatar_url":"https://github.com/bertrik.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sensor-data-bridge\nBridge software for receiving airborne particulate matter data from TheThingsNetwork\nand forwarding it to sensor.community, opensense\n\nForwarding to sensor.community and other dashboards is controlled through TTN device attributes,\nwhich can be configured for each device in the TheThingsNetwork console: \n* sensor.community\n  *   attribute 'senscom-id' contains the sensor.community hardware id\n* opensense.org\n  *   attribute 'opensense-id'\n\nSeveral data encodings are supported:\n* Cayenne encoding, PM is encoded as analog data, PM10 in channel 1, PM2.5 in channel 2, PM4.0 in channel 4 and PM1.0 in channel 0.\n* JSON encoding, the configuration file specifies how JSON fields map to measurement properties\n* SPS30 encoding, a custom encoding for SPS30 sensors, includes the particle count\n\nExperimental support for Helium LoRaWAN, NB-IOT. Possible future support for Sigfox.\n\n## Configuration\n\n### TheThingsNetwork configuration\nThe application requires an application API key with the following individual rights:\n\n* View devices in application\n* View application information\n* Read application traffic (uplink and downlink)\n\n![TTN API key](ttn-api-key.png)\n\nMake sure to copy/save it to another place immediately after creating in on the TTN console.\n\n### Application configuration\nApplication example config file (YAML):\n\n~~~~\n---\nttn:\n  mqtt_url: \"tcp://eu1.cloud.thethings.network\"\n  identity_server_url: \"https://eu1.cloud.thethings.network\"\n  identity_server_timeout: 30\n  apps:\n  - name: \"particulatematter\"\n    key: \"secret\"\n    decoder:\n      encoding: \"CAYENNE\"\n      properties: \"\"\n  - name: \"ttn-hittestress\"\n    key: \"secret\"\n    decoder:\n      encoding: \"JSON\"\n      properties:\n      - path: \"/pm10\"\n        item: \"PM10\"\n      - path: \"/pm2p5\"\n        item: \"PM2_5\"\n      - path: \"/rh\"\n        item: \"HUMIDITY\"\n      - path: \"/temp\"\n        item: \"TEMPERATURE\"\n  - name: \"ttn-soundkit\"\n    key: \"secret\"\n    decoder:\n      encoding: \"JSON\"\n      properties:\n      - path: \"/la/min\"\n        item: \"NOISE_LA_MIN\"\n      - path: \"/la/avg\"\n        item: \"NOISE_LA_EQ\"\n      - path: \"/la/max\"\n        item: \"NOISE_LA_MAX\"\nnbiot:\n  port: 9000\nsenscom:\n  url: \"https://api.sensor.community\"\n  timeout: 30\nopensense:\n  url: \"https://api.opensensemap.org\"\n  timeout: 30\ngeolocation:\n  url: \"https://location.services.mozilla.com\"\n  timeout: 30\n  apikey: \"test\"\n~~~~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertrik%2Fsensor-data-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbertrik%2Fsensor-data-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertrik%2Fsensor-data-bridge/lists"}