{"id":22859947,"url":"https://github.com/reelyactive/starling","last_synced_at":"2026-02-02T20:11:13.519Z","repository":{"id":26240446,"uuid":"29687352","full_name":"reelyactive/starling","owner":"reelyactive","description":"Emulator of wireless device transmissions in the IoT.  We believe in an open Internet of Things.","archived":false,"fork":false,"pushed_at":"2024-08-14T12:58:54.000Z","size":869,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-22T01:38:06.254Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/reelyactive.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}},"created_at":"2015-01-22T16:13:59.000Z","updated_at":"2024-08-14T12:58:57.000Z","dependencies_parsed_at":"2024-08-14T14:14:47.612Z","dependency_job_id":"ae052c22-154d-4666-a843-53423e11a685","html_url":"https://github.com/reelyactive/starling","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/reelyactive/starling","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fstarling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fstarling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fstarling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fstarling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reelyactive","download_url":"https://codeload.github.com/reelyactive/starling/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reelyactive%2Fstarling/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263244654,"owners_count":23436478,"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":[],"created_at":"2024-12-13T09:08:30.636Z","updated_at":"2026-02-02T20:11:13.477Z","avatar_url":"https://github.com/reelyactive.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"starling\n========\n\n\nEmulator of wireless device transmissions in the IoT\n----------------------------------------------------\n\n__starling__ is an emulator of decoded wireless device transmissions, providing a stream of [raddec](https://github.com/reelyactive/raddec) objects.\n\n\nInstallation\n------------\n\n    npm install starling\n\n\nHello starling!\n---------------\n\n```javascript\nconst Starling = require('starling');\n\nlet emulator = new Starling();\n\nemulator.emulate({}, function(emulations) {\n  console.log(emulations);\n});\n\nemulator.on('raddec', function(raddec) {\n  console.log(raddec);\n});\n```\n\n\n![starling logo](https://reelyactive.github.io/starling/images/starling-bubble.png)\n\n\nWhat's in a name?\n-----------------\n\nAs [Wikipedia explains](https://en.wikipedia.org/wiki/Starling#Mimicry), \"Starlings imitate a variety of avian species and have a repertoire of about 15–20 distinct imitations.\"  Actually, they can mimic plenty besides other avian species.  There are some great videos of starlings mimicking telephones, classical music and more.  \"Calls that are simple in frequency structure and calls that show little amplitude modulation are preferentially imitated\".  That's fitting given that the wireless devices currently supported by reelyActive hardware all communicate using [Frequency-Shift Keying (FSK)](https://en.wikipedia.org/wiki/Frequency-shift_keying) which involves no amplitude modulation.\n\nNot only are starlings natural emulators, they're also occasional food for Barn Owls.  Well how about that for a coincidence.\n\n\nWhat's next?\n------------\n\n__starling__ v1.0.0 was released in November 2019, superseding all earlier versions, the latest of which remains available in the [release-0.1 branch](https://github.com/reelyactive/starling/tree/release-0.1) and as [starling@0.1.0 on npm](https://www.npmjs.com/package/starling/v/0.1.0).\n\nIf you're developing with barnowl check out:\n* [diyActive](https://reelyactive.github.io/) our developer page\n* our [node-style-guide](https://github.com/reelyactive/node-style-guide) for development\n* our [contact information](https://www.reelyactive.com/contact/) to get in touch if you'd like to contribute\n\n\nLicense\n-------\n\nMIT License\n\nCopyright (c) 2015-2019 [reelyActive](https://www.reelyactive.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR \nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, \nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE \nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER \nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, \nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN \nTHE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freelyactive%2Fstarling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freelyactive%2Fstarling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freelyactive%2Fstarling/lists"}