{"id":24929977,"url":"https://github.com/happycodelucky/rocket-nuimo-node","last_synced_at":"2025-04-09T21:51:21.463Z","repository":{"id":43001867,"uuid":"122578988","full_name":"happycodelucky/rocket-nuimo-node","owner":"happycodelucky","description":"Nuimo Control device discovery, connection manager, and interface control for Node.js","archived":false,"fork":false,"pushed_at":"2023-01-07T04:33:19.000Z","size":1020,"stargazers_count":13,"open_issues_count":8,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T21:51:12.967Z","etag":null,"topics":["ble","bluetooth","node","nodejs","nuimo","senic","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/happycodelucky.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}},"created_at":"2018-02-23T05:49:39.000Z","updated_at":"2025-01-30T11:12:50.000Z","dependencies_parsed_at":"2023-02-06T12:00:55.270Z","dependency_job_id":null,"html_url":"https://github.com/happycodelucky/rocket-nuimo-node","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happycodelucky%2Frocket-nuimo-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happycodelucky%2Frocket-nuimo-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happycodelucky%2Frocket-nuimo-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happycodelucky%2Frocket-nuimo-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/happycodelucky","download_url":"https://codeload.github.com/happycodelucky/rocket-nuimo-node/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119402,"owners_count":21050754,"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":["ble","bluetooth","node","nodejs","nuimo","senic","typescript"],"created_at":"2025-02-02T13:52:35.324Z","updated_at":"2025-04-09T21:51:21.441Z","avatar_url":"https://github.com/happycodelucky.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Rocket Nuimo](https://github.com/pryomoax/rocket-nuimo-node/raw/main/assets/rocket-nuimo.png)\n\n[![License](https://img.shields.io/github/license/pryomoax/rocket-nuimo-node.svg?style=for-the-badge)](./LICENSE)\n![Node](https://img.shields.io/npm/v/rocket-nuimo.svg?style=for-the-badge\u0026label=version)\n[![Maintained](https://img.shields.io/badge/Maintained%3F-yes-green.svg?style=for-the-badge)](https://github.com/pryomoax/rocket-nuimo-node/graphs/commit-activity)\n\n🚀 Rocket Nuimo, a Node.js client package for Senic's [Numio Control](https://www.senic.com/nuimo-control) BLE device.\n\n----\n\n# Installation\nTo install `rocket-nuimo` for use within your project use [yarn](https://yarnpkg.com) or [npm](https://npmjs.com)\n\n```bash\n$ yarn add rocket-nuimo\n```\n\n----\n\n# APIs\n\nDocumentation for the `rocket-nuimo` API are under [docs/api](./docs/api).\n\n# Getting Started\n\nCheck out [examples](./examples) to see how to use everything from discovering, display, and eventinbg.\n\n## Getting Connected\n\n```javascript\nimport { DeviceDiscoveryManager } from 'rocket-nuimo'\n\n// Device connection manager\nconst manager = DeviceDiscoveryManager.defaultManager\n\n/**\n * Main application entry point\n */\nasync function main() {\n    console.log('Starting Numio Control discovery')\n\n    // Create a new discovery session\n    const session = manager.startDiscoverySession()\n\n    console.log('Waiting for device...')\n\n    // Convenience to await the first discovered Nuimo device\n    const device = await session.waitForFirstDevice()\n\n    console.log(`Found device '${device.id}'`)\n    console.log('Connecting...')\n\n    // Establish device connection\n    if (await device.connect()) {\n        console.log('Connected to Nuimo Control')\n\n        //\n        // You're connected, observe events and get started...\n        //\n\n        // If the device gets disconnected, exit the app\n        device.on('disconnect', () =\u003e {\n            console.log('Disconnected! Exiting.')\n\n            // On a disconnect, exit\n            process.exit(0)\n        })\n    }\n}\n\n// Boot strap async function\nmain().catch((err) =\u003e {\n  console.log(err)\n})\n```\n\n## Examples\n\nClone `rocket-nuimo-node` and run the examples to try things out. [package.json](./package.json) contains many example scripts. Alternatively, for [Visual Sudio Code](https://code.visualstudio.com/) users you have access to the pre-configured launch configurations to run the examples.\n\n```bash\n$ git clone https://github.com/pryomoax/rocket-nuimo-node.git\n$ cd rocket-nuimo-node\n$ yarn install\n```\n\nRun one of the following scripts\n\n```bash\n# Device discovery\n$ yarn device-discovery\n\n# Simple display of custom glyphs\n$ yarn display\n\n# Example of simple animation\n$ yarn animation\n\n# Selection events\n$ yarn select-events\n\n# Touch/Long Touch events\n$ yarn touch-events\n\n# Swipe (on device) and through the \"fly\" touchless gesture\n$ yarn swipe-events\n\n# Hover proximity events, through \"fly\" touchless gestures\n$ yarn hover-events\n\n# Dial rotate events\n$ yarn rotate-events\n```\n\n# Toubleshooting\n\nThere can be troubles connecting to a Nuimo when playing around with the device. To give you some leads in trouble shooting, try the following:\n\n- Click the center screen button to wake up Nuimo Control\n- Power cycle Nuimo Control\n- [Reset bluetooth](https://macpaw.com/how-to/fix-bluetooth-not-available-problem) if on your Mac\n- Check if there are any current issue with [noble](https://github.com/noble/noble) related to the OS/Node.js version you are using.\n\n# Special Thanks\n\nThanks to those making things better with PRs:\n\n* [@Mitch90](https://github.com/Mitch90)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhappycodelucky%2Frocket-nuimo-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhappycodelucky%2Frocket-nuimo-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhappycodelucky%2Frocket-nuimo-node/lists"}