{"id":15060814,"url":"https://github.com/ulisesgascon/node-zowi","last_synced_at":"2025-04-10T06:12:22.250Z","repository":{"id":41895990,"uuid":"193214472","full_name":"UlisesGascon/node-zowi","owner":"UlisesGascon","description":"Nodejs wrapper for BQ Zowi Robot","archived":false,"fork":false,"pushed_at":"2023-01-22T00:57:13.000Z","size":1179,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T13:17:43.536Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/node-zowi","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UlisesGascon.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-22T09:12:43.000Z","updated_at":"2023-03-04T03:43:35.000Z","dependencies_parsed_at":"2022-08-11T20:31:31.026Z","dependency_job_id":null,"html_url":"https://github.com/UlisesGascon/node-zowi","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UlisesGascon%2Fnode-zowi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UlisesGascon%2Fnode-zowi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UlisesGascon%2Fnode-zowi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UlisesGascon%2Fnode-zowi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UlisesGascon","download_url":"https://codeload.github.com/UlisesGascon/node-zowi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166925,"owners_count":21058481,"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-09-24T23:04:55.250Z","updated_at":"2025-04-10T06:12:22.227Z","avatar_url":"https://github.com/UlisesGascon.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ch1 align=\"center\"\u003e\n  node-zowi\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  Nodejs wrapper for BQ Zowi Robot\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.org/package/node-zowi\"\u003e\u003cimg src=\"https://badgen.net/npm/v/node-zowi\" alt=\"npm version\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.org/package/node-zowi\"\u003e\u003cimg src=\"https://badgen.net/npm/license/node-zowi\" alt=\"license\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.org/package/node-zowi\"\u003e\u003cimg src=\"https://badgen.net/npm/dt/node-zowi\" alt=\"downloads\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://snyk.io/test/github/ulisesgascon/node-zowi\"\u003e\u003cimg src=\"https://snyk.io/test/github/ulisesgascon/node-zowi/badge.svg\" alt=\"Known Vulnerabilities\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./.github/zowi.jpg\" alt=\"Zowi promotional banner\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Thanks \u003ca href=\"https://github.com/kooltheba\"\u003eTeba Gómez\u003c/a\u003e and \u003ca href=\"https://github.com/feliun\"\u003eFelipe Polo\u003c/a\u003e my amazing students for your support 😊\n\u003c/p\u003e\n\n\u003c/p\u003e\n\n\n# About\n\nNodejs wrapper for [BQ Zowi Robot](https://www.xataka.com/analisis/probamos-zowi-un-robot-con-cerebro-arduino-que-puede-dar-mas-de-lo-que-aparenta)\n\n\n## ❤️ Awesome Features:\n\n\n- Out of the box simple Interface. 🔥\n- USB Support (including auto-port selection) 🍺\n- Commands library mapped out (gestures, sounds, buzzer, movements...)  🎉\n- Direct support to listen Bus communications 🔊\n- General information available with a configurable interval (distance, noise, battery level...) 👾\n- `debug` is supported 💪\n- Refresh time is customizable 🧐\n- Easy to use and great test coverage ✅\n\n\n## Installation\n\n```bash\nnpm install node-zowi\n```\n\n## Usage\n```js\nconst zowi = require('./lib')()\n\n;(async () =\u003e {\n  const { commands } = zowi\n  const { getHealth, onClaim, obey } = await zowi.start({ checkVitals: true })\n\n  // Let's check the health in 5 segs\n  setTimeout(() =\u003e {\n    console.log('Health:', getHealth())\n  }, 5000)\n\n  // Log all the messages from the serial comms\n  onClaim(console.log)\n\n  // Let's send some commands\n  await obey(commands.buzzer.tone(3000, 1000))\n  console.log('Sent Tone Request!')\n\n  await obey(commands.sounds.ohOoh2())\n  console.log('Sent OhOhh Sound Request!')\n\n  await obey(commands.gestures.superHappy())\n  console.log('Sent Gesture Request!')\n})()\n```\n\n\n## Making off :muscle:\n\nThis project was under development for a very long time across engineering clasess with my students and software events.\n\nFinally I managed to finish the library and publish a solid initial version.\n\n#### Fictizia Master'19\n\n![Node-zowi demo wirh my students](.github/node_zowi.jpg)\n\n_[Full video](https://twitter.com/KoolTheba/status/1142429134750191617)_\n\n#### JsDayCanarias 2019 \n![Node-zowi development during the JsDayCanarias 2019. Ulises Gascon and Felipe Polo](.github/jsday_canarias.jpg)\n\n\n\n## Built With\n\nDevelopment only:\n\n- [Standard](https://www.npmjs.com/package/standard) - Linting propuses\n- [Husky](https://www.npmjs.com/package/husky) - Git Hooks\n- [commitlint](https://www.npmjs.com/package/@commitlint/cli) - Linting commit messages\n- [jest](https://www.npmjs.com/package/jest) - Testing\n- [standard](https://www.npmjs.com/package/standard) - Linting\n- [standard-version](https://www.npmjs.com/package/standard-version) - Manage changelog and releases\n\nProduction only:\n\n- [debug](https://www.npmjs.com/package/debug) - Debug the app\n- [serialport](https://www.npmjs.com/package/serialport) - Access serial ports with JavaScript\n- [@serialport/parser-readline](https://www.npmjs.com/package/@serialport/parser-readline) - Transfirmation\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/ulisesGascon/node-zowi/tags).\n\n## Authors\n\n- **Ulises Gascón** - Initial work- - [@ulisesGascon](https://github.com/ulisesGascon)\n\nSee also the list of [contributors](https://github.com/ulisesGascon/node-zowi/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the GNU AGPL3.0 License - see the [LICENSE.md](LICENSE.md) file for details\n\n## Acknowledgments\n\n- This project is under development, but you can help us to improve it! We :heart: FOSS!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fulisesgascon%2Fnode-zowi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fulisesgascon%2Fnode-zowi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fulisesgascon%2Fnode-zowi/lists"}