{"id":13343833,"url":"https://github.com/Pieloaf/IoT-Lab","last_synced_at":"2025-03-12T06:30:32.654Z","repository":{"id":200292369,"uuid":"413759744","full_name":"Pieloaf/IoT-Lab","owner":"Pieloaf","description":"IoT Elective Module","archived":false,"fork":false,"pushed_at":"2022-03-04T17:48:00.000Z","size":289,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-24T16:49:28.460Z","etag":null,"topics":["bbc-microbit","full-stack","iot","sdc30","sensor","zephyr-rtos"],"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/Pieloaf.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}},"created_at":"2021-10-05T09:51:32.000Z","updated_at":"2023-08-18T06:15:05.000Z","dependencies_parsed_at":"2023-10-16T13:16:48.700Z","dependency_job_id":null,"html_url":"https://github.com/Pieloaf/IoT-Lab","commit_stats":null,"previous_names":["pieloaf/iot-lab"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pieloaf%2FIoT-Lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pieloaf%2FIoT-Lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pieloaf%2FIoT-Lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pieloaf%2FIoT-Lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pieloaf","download_url":"https://codeload.github.com/Pieloaf/IoT-Lab/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243171378,"owners_count":20247876,"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":["bbc-microbit","full-stack","iot","sdc30","sensor","zephyr-rtos"],"created_at":"2024-07-29T19:32:01.469Z","updated_at":"2025-03-12T06:30:32.266Z","avatar_url":"https://github.com/Pieloaf.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DT021A/4 IoT Module\n\n### The IoT module is broken down into 3 sections:\n\n- Low Level Interfacing (BBC Micro:Bit \u0026 ZephyrOS) [3 weeks] ✅\n- BTLE \u0026 MQTT Node JS [3 weeks] ✅\n- Databases (MariaDB \u0026 InfluxDB)[2 weeks] ✅\n\n*Final Module Grade: 97%*\n\n---\n\n### Low Level Interfacing:\n\nThe low level interfacing section runs for the first 3 weeks and is focused on low level interfacing using the RTOS [Zephyr OS](https://www.zephyrproject.org/) with a [BBC Micro:Bit V2](https://tech.microbit.org/hardware/) which has a [Nordic nRF52833](https://infocenter.nordicsemi.com/pdf/nRF52833_PS_v1.4.pdf) at its core and a range of sensors and peripherals on board to interface with.\n\nIn the final week of the Low Level Interfacing section of the module a [Sensirion SDC30](https://www.sensirion.com/en/environmental-sensors/carbon-dioxide-sensors/carbon-dioxide-sensors-scd30/) CO2, temperature and humidity sensor was added. Which was interfaced using I2C from the BBC Micro:Bit V2 and debugged using a small USB logic analyser.\n\n[Video Presentation](https://youtu.be/HiOYgh9fNAg)\n\n---\n\n### BLE \u0026 MQTT Node JS:\n\nThis section of the module focused on interfacing with the BBC Micro:Bit V2 over Bluetooth and sending the data to an MQTT broker using [Node JS](https://nodejs.org/en/) and the [node-ble](https://github.com/chrvadala/node-ble#readme) and [mqtt](https://github.com/mqttjs/MQTT.js#readme) modules and a [HiveMQ](https://www.hivemq.com/) broker.\n\n[Video Presentation](https://youtu.be/j2mL2JlNXfU)\n\n---\n\n### Databases (MariaDB \u0026 InfluxDB):\n\nIn the final section of the module, the focus was on database design and paradigms. It looked intially at relational databases and MariaDB and later shifted to noSQL databases and more specifically time series databases using influxDB. This was integrated with the Node JS application written in the previous section using the [mariaDB](https://github.com/mariadb-corporation/mariadb-connector-nodejs#readme) and [node-influx](https://github.com/node-influx/node-influx#readme) modules. The data was later presented in a [Grafana](https://grafana.com/) dashboard.\n\n[Video Presentation](https://youtu.be/CKmI0SHRXfc)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPieloaf%2FIoT-Lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPieloaf%2FIoT-Lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPieloaf%2FIoT-Lab/lists"}