{"id":13338109,"url":"https://github.com/kasperl/toit-qubitro","last_synced_at":"2026-03-10T16:30:18.818Z","repository":{"id":157991879,"uuid":"437740949","full_name":"kasperl/toit-qubitro","owner":"kasperl","description":"Qubitro connector for the ESP32 based on the Toit language.","archived":false,"fork":false,"pushed_at":"2024-04-20T06:02:41.000Z","size":40,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-31T15:04:38.492Z","etag":null,"topics":["esp32","qubitro","toit"],"latest_commit_sha":null,"homepage":"","language":"Toit","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/kasperl.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}},"created_at":"2021-12-13T04:56:54.000Z","updated_at":"2024-04-20T06:02:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"acb32483-c83c-452b-bd8e-c3523e56be42","html_url":"https://github.com/kasperl/toit-qubitro","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasperl%2Ftoit-qubitro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasperl%2Ftoit-qubitro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasperl%2Ftoit-qubitro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kasperl%2Ftoit-qubitro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kasperl","download_url":"https://codeload.github.com/kasperl/toit-qubitro/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239908191,"owners_count":19716755,"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":["esp32","qubitro","toit"],"created_at":"2024-07-29T19:15:31.505Z","updated_at":"2026-03-10T16:30:18.752Z","avatar_url":"https://github.com/kasperl.png","language":"Toit","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qubitro connector for the ESP32\n\nConnect your devices to [Qubitro](https://www.qubitro.com/) and visualize your data in the\n[Qubitro Portal](https://portal.qubitro.com/).\n\nThis [Toit](https://toitlang.org) package provides an easy and convenient way to\nconnect to Qubitro via MQTT from devices running on the ESP32-family of chips.\n\n## Architecture\n\nThe Qubitro connector runs as a separate micro-service isolated from the rest of the\nsystem through [Toit containers](https://github.com/toitlang/toit/discussions/869).\n\n## Installing the Qubitro connector\n\nTo install the Qubitro connector service on your device, we recommend that you\nuse [Jaguar](https://github.com/toitlang/jaguar). Jaguar makes it easy to experiment\nwith the Qubitro services because it allows you to upload new services and\napplications via WiFi without having to restart your device.\n\nThe Qubitro credentials easily be provided to the service at install time, so you\ndon't have to write it into your source code:\n\n```sh\njag container install qubitro src/service.toit \\\n     -D qubitro.device.id=\u003cPASTE_DEVICE_ID\u003e \\\n     -D qubitro.device.token=\u003cPASTE_DEVICE_TOKEN\u003e\n```\n\nThis install the Qubitro connector service in a separate container and it sticks\naround across device restarts:\n\n```\n$ jag container list\nDEVICE      IMAGE                                  NAME\nlunar-bet   3fb76dd5-5842-57ff-b19c-857669906b04   jaguar\nlunar-bet   d04371a2-bb38-54cb-9124-5e48d06ff3d1   qubitro\n```\n\n## Publishing data\n\nOnce the service is installed, you do not need to provide credentials to publish\ndata from individual applications, although you still can by providing arguments\nto `qubitro.connect`. The code for publishing data is reasonably straight forward:\n\n```\nimport qubitro\nmain:\n  client ::= qubitro.connect\n  10.repeat:\n    client.publish { \"MyData\": random 1000 }\n    sleep (Duration --s=2)\n  client.close\n```\n\nTo run code like the above, you can use `jag run`:\n\n```sh\njag run examples/publish.toit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasperl%2Ftoit-qubitro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkasperl%2Ftoit-qubitro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasperl%2Ftoit-qubitro/lists"}