{"id":20846661,"url":"https://github.com/opencmm/hakaru","last_synced_at":"2026-05-09T06:07:39.414Z","repository":{"id":194727676,"uuid":"690570447","full_name":"OpenCMM/hakaru","owner":"OpenCMM","description":"Stream the sensor data","archived":false,"fork":false,"pushed_at":"2024-01-16T01:39:21.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-19T05:10:17.613Z","etag":null,"topics":["cmm","cnc","esp32","iot","laser","mosquitto","mqtt","sensor"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenCMM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-09-12T12:58:08.000Z","updated_at":"2024-05-07T07:29:52.000Z","dependencies_parsed_at":"2023-09-14T22:40:43.753Z","dependency_job_id":"9c13527b-19db-46d6-866c-f6c54ef08be1","html_url":"https://github.com/OpenCMM/hakaru","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"d6be92c9387ef17c427e83a2a10cfa0e7869bfe3"},"previous_names":["opencmm/hakaru"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenCMM%2Fhakaru","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenCMM%2Fhakaru/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenCMM%2Fhakaru/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenCMM%2Fhakaru/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenCMM","download_url":"https://codeload.github.com/OpenCMM/hakaru/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243213850,"owners_count":20254879,"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":["cmm","cnc","esp32","iot","laser","mosquitto","mqtt","sensor"],"created_at":"2024-11-18T02:17:21.408Z","updated_at":"2026-05-09T06:07:34.375Z","avatar_url":"https://github.com/OpenCMM.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hakaru\nStream the sensor data\n\n```mermaid\nsequenceDiagram\n    participant ESP32 as ESP32\n    participant Client as MQTT Client\n    participant TouchSensor as Touch Sensor\n\n    ESP32-\u003e\u003e+Client: Start streaming data\n    Client-\u003e\u003eESP32: Send message to sleep\n    ESP32-\u003e\u003e+ESP32: Enter deep sleep mode\n    TouchSensor-\u003e\u003eESP32: Touch GPIO 4\n    ESP32--\u003e\u003e-ESP32: Wake up from deep sleep\n    ESP32-\u003e\u003e+ESP32: Start booting\n```\n\n## Set up WiFi\n1. Connect to the ESP32's WiFi AP\n2. Open http://192.168.1.1\n3. Select the SSID and enter the password of the WiFi network\n\nThen the ESP32 will connect to the WiFi network and start streaming data.  \nThe WiFi configuration will be saved in the flash memory.\n\nCheck if the ESP32 is connected to the WiFi network\n```bash\nping opencmm.local\n```\n\n## Install Mosquitto MQTT Broker\n\nref. https://www.vultr.com/docs/install-mosquitto-mqtt-broker-on-ubuntu-20-04-server/\n\n/etc/mosquitto/conf.d/default.conf\n```\nlistener 1883 0.0.0.0\nallow_anonymous false\npassword_file /etc/mosquitto/passwd\n```\n\n### Receive data\n\n```bash\nmosquitto_sub -t 'sensor/data' -v -h 192.168.10.104 -u opencmm -P opencmm\n```\n\n### Send command to ESP32\n\nUpdate configuration\n```bash\nmosquitto_pub -t 'sensor/control' -h 192.168.10.104 -u opencmm -P opencmm -m '{\"command\": \"config\", \"interval\": 1000, \"threshold\": 100 }'\n```\n\nGo to sleep\n```bash\nmosquitto_pub -t 'sensor/control' -h 192.168.10.104 -u opencmm -P opencmm -m '{\"command\": \"deepSleep\" }'\n```\n\nReset WiFi\n```bash\nmosquitto_pub -t 'sensor/control' -h 192.168.10.104 -u opencmm -P opencmm -m '{\"command\": \"resetWifi\" }'\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencmm%2Fhakaru","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopencmm%2Fhakaru","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencmm%2Fhakaru/lists"}