{"id":14971078,"url":"https://github.com/lab11/gateway","last_synced_at":"2025-10-10T08:35:53.821Z","repository":{"id":3124139,"uuid":"48512854","full_name":"lab11/gateway","owner":"lab11","description":"Hub for the Lab11 gateway projects","archived":false,"fork":false,"pushed_at":"2024-02-08T20:27:59.000Z","size":8339,"stargazers_count":20,"open_issues_count":5,"forks_count":9,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-01-31T20:19:18.634Z","etag":null,"topics":["802-15-4","ble","gateway","mqtt","sensors","university-of-michigan","university-project"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/lab11.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}},"created_at":"2015-12-23T21:59:44.000Z","updated_at":"2024-06-10T17:51:27.000Z","dependencies_parsed_at":"2024-02-08T21:24:36.493Z","dependency_job_id":"b535bb9e-6df4-4993-984f-dc13ac0f590d","html_url":"https://github.com/lab11/gateway","commit_stats":{"total_commits":727,"total_committers":12,"mean_commits":"60.583333333333336","dds":"0.31911966987620355","last_synced_commit":"df46bb8210d9eee9d81d50410750db405ba34382"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fgateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fgateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fgateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lab11%2Fgateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lab11","download_url":"https://codeload.github.com/lab11/gateway/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238347615,"owners_count":19456967,"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":["802-15-4","ble","gateway","mqtt","sensors","university-of-michigan","university-project"],"created_at":"2024-09-24T13:44:41.053Z","updated_at":"2025-10-10T08:35:48.790Z","avatar_url":"https://github.com/lab11.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Gateway\n=======\n\nGateways provide valuable networking, computational, and storage support for the\nInternet of Things. This gateway platform is an extensible architecture that\nsupports multiple communication protocols, backend storage options, system\nmonitoring tools, and user interaction options, while enabling rapid\nprototyping of new gateway services. Two core ideas underly this gateway\narchitecture: 1) devices should be automtically supported when in range of the gateways, and\n2) data streams provided by the gateway should be easily interpretable.\n\nThis gateway provides many common services for embedded devices and sensors,\nan environment for running applications local to the gateway,\nand standard MQTT topics for retreiving the data streams. To promote\nscalability, each node points to a method for interpreting its own data\nand appending metadata. This allows the gateway to automatically adapt\nto new devices without being manually configured. After devices are\ndiscovered and their data packets are interpretted, the gateway\ncreates a data stream which can be published to the cloud, displayed to users,\nor fed to an application.\n\n![Gateway Architecture](media/gateway_arch.png)\n\n\nInformation\n-----------\n\n### Goals\n\nThis project has several goals:\n\n1. Provide gateway layer functionality for a range of devices.\nIt should not be specific to just some projects.\n\n2. Be as generic as possible. All device specific logic\nshould be developed elsewhere and pulled in only when\na relevant device is discovered.\n\n3. Expose data streams in a low-friction manner.\nThis means making them available over common protocols\nand in a self-describing data format.\n\n4. Relay data streams to interested services. These could\nbe local to the gateway or cloud hosted endpoints.\n\n\n### Software Stack\n\nThe gateway stack is a series of discrete modules linked\nby MQTT. Roughly, each folder in `/software` is a\nseparate module.\n\n### Parent Project\n\nThe gateway is being developed as a part of the\n[Urban Heartbeat Kit Project](https://github.com/terraswarm/urban-heartbeat-kit).\nMore documentation on how to use a running gateway can be found there.\n\n\nSuper Quick Start\n--------------\n\nIf you have a SwarmGateway, you can get data from it quickly. Install\n[Mosquitto](https://mosquitto.org/), then:\n\n    mosquitto_sub -h swarmgateway.local -t gateway-data\n\nto get the full data stream. If you are not on the same network, pass `-h`\nthe correct IP address.\n\nYou can also see a load a status page in a web browser:\n[swarmgateway.local](http://swarmgateway.local).\n\n\n\n\nRelated Projects\n----------------\n\nThis is a list of other projects in the gateway vein. Some\nhave concepts that directly influenced this gateway design,\nsome are hardware platforms that this gateway supports, and others\njust play a role in the gateway tier.\n\n- **[IoT Gateway](https://github.com/lab11/iot-gateway)**: Leverage\nsmartphones to forward BLE advertisements.\n- **[CloudComm](https://github.com/lab11/opo/tree/master/node)**: Eventual\ndata delivery to the cloud over BLE.\n- **[PowerBlade](https://github.com/lab11/powerblade/tree/master/data_collection/advertisements)**:\nCollect BLE advertisements from PowerBlade devices.\n- **[GAP](https://github.com/lab11/gap)**: Add 802.15.4 hardware support\nto the BeagleBone Black.\n- **[Edison Based Gateway](https://github.com/lab11/IntelEdisonGateway)**: Gateway hardware\nbased on the Intel Edison.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab11%2Fgateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flab11%2Fgateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flab11%2Fgateway/lists"}