{"id":16508614,"url":"https://github.com/osteele/imu-client-examples","last_synced_at":"2025-05-05T02:31:14.866Z","repository":{"id":47550805,"uuid":"254799584","full_name":"osteele/imu-client-examples","owner":"osteele","description":"Example web programs that use the imu-tools npm package to connect via BTLE or MQTT to an ESP32 + BNO055","archived":false,"fork":false,"pushed_at":"2022-04-14T07:53:02.000Z","size":100,"stargazers_count":2,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-30T20:03:22.897Z","etag":null,"topics":["bno055","btle","mqtt","p5js","physical-computing"],"latest_commit_sha":null,"homepage":"https://osteele.github.io/imu-client-examples/","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/osteele.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":"2020-04-11T05:28:20.000Z","updated_at":"2022-11-04T07:57:40.000Z","dependencies_parsed_at":"2022-09-24T14:51:14.807Z","dependency_job_id":null,"html_url":"https://github.com/osteele/imu-client-examples","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/osteele%2Fimu-client-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osteele%2Fimu-client-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osteele%2Fimu-client-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osteele%2Fimu-client-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osteele","download_url":"https://codeload.github.com/osteele/imu-client-examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252427812,"owners_count":21746277,"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":["bno055","btle","mqtt","p5js","physical-computing"],"created_at":"2024-10-11T15:46:35.346Z","updated_at":"2025-05-05T02:31:14.491Z","avatar_url":"https://github.com/osteele.png","language":"JavaScript","readme":"# IMU Web Client Examples\n\nThis directory contains example programs that use the\n[imu-tools](https://www.npmjs.com/package/imu-tools) npm package to connect to\nan ESP32 that is running either the MicroPython code in\n[imu-tools](https://github.com/osteele/imu-tools), or the Arduino (C++) code in\n[Arduino-BLE-IMU](https://github.com/osteele/Arduino-BLE-IMU).\n\n## Running these examples\n\nTo run these examples, run a server such as:\n\n* (Atom) [atom-live-server package](https://atom.io/packages/atom-live-server)\n* (Visual Studio Code) [Live Server\n  extension](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer).\n  CLick the Live Server icon in the status bar at the bottom of the window.\n* (Command line) `python -m SimpleHTTPServer 5500`. (The inclusion of `5500` is\n  not necessary, but makes this compatible with the URLs in the Guide section\n  below.)\n\nA device can be connected either via BLE (\"Bluetooth Low Energy\"), or an MQTT\nbroker.\n\nTo connect to a device via Bluetooth, click the \"BLE Connect\" button.\nUnfortunately, this needs to be repeated each time the page is loaded.\n\nTo connect to an MQTT server (\"broker\"), click \"Open Controls\" and enter the\nhostname of the MQTT broker, and enter the username and password. If several\ndevices are connected to the same server, the programs will display data from\nall of them. Enter a device id in the controls to restrict them to only a single\ndevice.\n\n## A Guide to the examples\n\n(If you run a server at port 5500, as above, you can click on the example names\nbelow in order to open them in a browser.)\n\n[`index.html`](http://127.0.0.1:5500) displays a list of examples in this directory.\n\n[`3d-model.html`](http://localhost:5500/3d-model.html) is a p5.js sketch that displays the\n[Stanford bunny](https://en.wikipedia.org/wiki/Stanford_bunny). The 3d\norientation of the bunny is yolked to the IMU orientation. The model is red\nbefore the sensor is minimally calibrated, and it fades out when sensor data is\nnot being received. (With the Gravity BNO055, the model mostly stays red.)\n\nThis sketch has a lot of features, that make it useful for interaction but\ndifficult to read the code. See `3d-example`, below.\n\nThe \"Calibrate\" button resets tells the software that the IMU is currently in\nhome position (rightside up). It is not related to the IMU's built-in\ncalibration feature, that synchronizes the IMU's sensors to each other.\n\n[`3d-example.html`](http://localhost:5500/3d-example.html) is a simpler  sketch\nthat also displays the bunny. It assumes that only a single IMU is connected.\n\n[`sketch.html`](http://localhost:5500/sketch.html) is simple p5.js sketch that\ndisplays the Euler angles. Use it as a starter templtate for writing p5.js\nsketches that use the IMU.\n\n[`dashboard.html`](http://127.0.0.1:5500/dashboard.html) displays a directory of web pages in the\n`web` directory directory. It is written in [React](https://reactjs.org), with\n[Babel](https://babeljs.io) to process JSX.\n\n[`barchart.html`](http://127.0.0.1:5500/barchart.html) displays a live bar chart of sensor data.\nThis is implemented as a [p5.js](https://p5js.org) sketch.\n\n[`chart.html`](http://127.0.0.1:5500/chart.html) uses [HighCharts](https://www.highcharts.com)\nto display another live graph, that automatically scales the *y* axis as data\narrives.\n\n## Additional reading\n\nSee the [npm imu-tools README](https://www.npmjs.com/package/imu-tools) for\nadditional documentation for the IMU connection code.\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosteele%2Fimu-client-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosteele%2Fimu-client-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosteele%2Fimu-client-examples/lists"}