{"id":18778714,"url":"https://github.com/ramsailopal/yottadb-iot","last_synced_at":"2025-12-17T17:30:16.315Z","repository":{"id":127742730,"uuid":"448870896","full_name":"RamSailopal/YottaDB-IoT","owner":"RamSailopal","description":"A repo demonstrating YottaDB as a time series database within an IoT (Internet of Things) setting","archived":false,"fork":false,"pushed_at":"2022-03-23T11:20:47.000Z","size":392,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-29T10:25:44.380Z","etag":null,"topics":["iot","raspberry-pi","time-series","yottadb"],"latest_commit_sha":null,"homepage":"","language":"M","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/RamSailopal.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-17T11:44:29.000Z","updated_at":"2022-02-04T04:58:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"50004360-5100-4628-9731-1f19c33d0646","html_url":"https://github.com/RamSailopal/YottaDB-IoT","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/RamSailopal%2FYottaDB-IoT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-IoT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-IoT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-IoT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RamSailopal","download_url":"https://codeload.github.com/RamSailopal/YottaDB-IoT/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239690074,"owners_count":19681035,"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":["iot","raspberry-pi","time-series","yottadb"],"created_at":"2024-11-07T20:17:02.163Z","updated_at":"2025-12-17T17:30:16.240Z","avatar_url":"https://github.com/RamSailopal.png","language":"M","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YottaDB-IoT\n\n![Alt text](raspberrypi.jpg?raw=true \"Raspberry Pi\")\n\nThis repo demonstates the use of YottaDB as a time series database that is then used to present data to Grafana.\n\nAs an example, placing YottaDB in a relevant Internet of Things (IoT) setting, a Raspberry Pi is used and an attached D11 temperature/humidity sensor utilised to read data, and publish the data to an MQTT message broker. Another process then subscribes to the message broker, reading from the message topic before sending the data to Yottadb.\n\nThe YottaDB mg-webserver is then used to present data from YottaDB as JSON based API endpoints. These endpoints are then \"consumed\" by Grafana via the infinity plugin.\n\n![Alt text](yottadb.iot-arch.png?raw=true \"Architecture\")\n\n# Installation\n\n# Raspberry Pi\n\nYou can run this demo without a Raspberry Pi using dummy sensor data. If you don't have a Raspberry Pi or equivalent hardware, skip this step.\n\nConnect the DHT11 (D11) sensor to your Raspberry Pi using the following guide:\n\nhttps://www.circuitbasics.com/how-to-set-up-the-dht11-humidity-sensor-on-the-raspberry-pi/\n\nInstall git:\n\n    sudo apt-get update\n    sudo apt-get install -y git\n\nClone the repo:\n\n    cd /usr/local\n    git clone https://github.com/RamSailopal/YottaDB-IoT.git\n   \nInstall the neccesary packages for the sensor:\n\n    cd /usr/local/YottaDB-IoT\n    sudo ./installpi.sh\n    \n # Gitpod\n \n [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/RamSailopal/YottaDB-IoT)\n   \n1) Create a free/paid Gitpod account - https://www.gitpod.io/\n2) Log into the account\n3) Open a new browser tab and add **gitpod.io/#https://github.com/RamSailopal/YottaDB-IoT** to the address - This will create a new Gitpod cloud instance.\n4) Let the containers fully load\n5) Without a Raspberry Pi, open a new terminal and run:\n\n      **python3 mqttsend.py**\n    \n   This will send dummy data to two public mqtt broker topics, **yotta/db/humid** and **yotta/db/temp** \n    \n   With a Raspberry Pi, go to your Pi terminal and:\n    \n      **cd /usr/local/YottaDB-IoT**\n      \n      **python3 mqttsendpi.py**\n    \n   This will send actual sensor data to two public mqtt broker topics, **yotta/db/humid** and **yotta/db/temp**\n    \n 6) Open a new tab as below, substituting the unique Gitpod address (ramsailopal-yottadbiot-pz86r4t05uu.ws-eu27.gitpod.io) for the one you are running\n\n ![Alt text](sensor-glob.JPG?raw=true \"Global View\")\n \n This shows the key value data as written to YottaDB in time series form\n \n 7) Open a new tab as below, substituting the unique Gitpod address (ramsailopal-yottadbiot-pz86r4t05uu.ws-eu27.gitpod.io) for the one you are running\n \n ![Alt text](sensor-api.JPG?raw=true \"API View\")\n \n This shows the key value data in JSON format presented as a REST API endpoint (more details - https://github.com/RamSailopal/YottaDB-Demo)\n \n 8) Open a new tab and naviagate to https://3001-ramsailopal-yottadbiot-pz86r4t05uu.ws-eu27.gitpod.io substituting the unique Gitpod address (ramsailopal-yottadbiot-pz86r4t05uu.ws-eu27.gitpod.io) for the one you are running.\n\n 9) Log in with username **admin** and password **admin**\n \n 10) Change the admin password when prompted\n \n 11) On the left hand side, click on **Manage**, **dashboards**, **Sensors**\n \n ![Alt text](sensors-graf.JPG?raw=true \"Grafana View\")\n \n This shows the API endpoint data consumed by the Grafana Infinity plugin and presented in graphical format.\n \n # Using docker-compose on Prem\n \n    git clone https://github.com/RamSailopal/YottaDB-IoT.git\n    cd YottaDB-IoT/Docker\n    export glbviewadd=\"\u003caddressofserverrunningdocker\u003e\"\n    docker-compose up\n    \n   **Global View** - http://addressofserverrunningdocker:8001/SENSORS\n    \n   **API view** - http://addressofserverrunningdocker:8080/api/temp\n    \n   http://addressofserverrunningdocker:8080/api/humid\n    \n   **Grafana** -  http://addressofserverrunningdocker:3001\n   \n   Additional steps are the same as for Gitpod.\n   \n\n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framsailopal%2Fyottadb-iot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Framsailopal%2Fyottadb-iot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framsailopal%2Fyottadb-iot/lists"}