Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benmeehan/iot-cloud
A collection of event-driven Golang microservices to manage, monitor, command, update and store IoT device data in TimescaleDB, integrated with the IOT Agent.
https://github.com/benmeehan/iot-cloud
cloud golang iot iot-platform mqtt time-series timescaledb
Last synced: 25 days ago
JSON representation
A collection of event-driven Golang microservices to manage, monitor, command, update and store IoT device data in TimescaleDB, integrated with the IOT Agent.
- Host: GitHub
- URL: https://github.com/benmeehan/iot-cloud
- Owner: BenMeehan
- License: apache-2.0
- Created: 2024-09-06T09:36:52.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-03T05:00:42.000Z (about 1 month ago)
- Last Synced: 2024-10-12T23:20:10.158Z (25 days ago)
- Topics: cloud, golang, iot, iot-platform, mqtt, time-series, timescaledb
- Language: Go
- Homepage:
- Size: 68.4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IOT - Cloud
IOT Cloud is a collection of Golang microservices that operate as event-driven systems, designed to work seamlessly with the IOT Agent to command, monitor, and track devices.
Pre-Alpha Discussions: [Here](https://github.com/BenMeehan/iot-cloud/discussions/5)
## Services
### Heartbeat Service
This service receives device heartbeats through MQTT and stores them in TimescaleDB.### Registration Service
This service listens for device registration requests over MQTT, validates device secrets, generates unique device IDs, and stores device information in a PostgreSQL (TimescaleDB) database.### Metrics Service
This service collects and processes system and process metrics from IoT devices via MQTT. It stores the collected metrics in TimescaleDB for monitoring and analysis.## Running the Project
To run the project, execute:
```bash
go run cmd/main.go
```## To Add a New Service
1. Create a new folder at the root of the project and add your service there.## Useful URLs
- [Public MQTT Broker](https://www.emqx.com/en/mqtt/public-mqtt5-broker)
- [TimescaleDB](https://www.timescaledb.com)