| title | IoT Systems - Collaboration Guide | ||
|---|---|---|---|
| description | Contributing guide for IoT Systems course content | ||
| tableOfContents | true | ||
| sidebar |
|
Read this course at: https://siliconwit.com/education/iot-systems/
A hands-on course covering IoT architecture from protocol selection through production monitoring. You will build secure MQTT pipelines, real-time dashboards, and a complete edge-to-cloud system.
| # | Title |
|---|---|
| 1 | IoT Architecture and Protocol Comparison |
| 2 | MQTT Broker Setup and Secure Connections |
| 3 | MQTT Clients on ESP32 Pico and STM32 |
| 4 | Real-Time Dashboards and Data Visualization |
| 5 | REST APIs Webhooks and Device Integration |
| 6 | Alerts Automation and Rule Engines |
| 7 | Device Security TLS and Provisioning |
| 8 | Production IoT Monitoring System |
iot-systems/
├── lesson-0.mdx # Course introduction
├── lesson-1.mdx # IoT Architecture and Protocol Comparison
├── lesson-2.mdx # MQTT Broker Setup and Secure Connections
├── lesson-3.mdx # MQTT Clients on ESP32 Pico and STM32
├── lesson-4.mdx # Real-Time Dashboards and Data Visualization
├── lesson-5.mdx # REST APIs Webhooks and Device Integration
├── lesson-6.mdx # Alerts Automation and Rule Engines
├── lesson-7.mdx # Device Security TLS and Provisioning
├── lesson-8.mdx # Production IoT Monitoring System
└── README.md
All commands below work on Linux, macOS, and Windows (using Git Bash, PowerShell, or Command Prompt with Git installed).
First time setup (clone the repo once):
git clone https://github.com/SiliconWit/iot-systems.git
cd iot-systemsEvery time you start working:
git pull origin mainAlways pull before making changes. This avoids conflicts with other contributors.
After making your changes:
git add .
git commit -m "Brief description of what you changed"
git push origin mainIf you get a push error (someone pushed before you):
git pull origin mainGit will merge the changes automatically in most cases. If there is a conflict, Git will mark the conflicting lines in the file. Open the file, choose which version to keep, then:
git add .
git commit -m "Resolve merge conflict"
git push origin mainTips to avoid conflicts:
- Always
git pull origin mainbefore you start working - Push your changes as soon as you are done, do not hold onto uncommitted work for long
- Coordinate with other contributors so two people are not editing the same file at the same time
- Fork the repository: SiliconWit/iot-systems
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/iot-systems.git cd iot-systems - Make your changes and commit:
git add . git commit -m "Brief description of what you changed" git push origin main
- Open a Pull Request against
mainon the original repository - Describe what you changed and why in the PR description
- All lesson files use
.mdxformat - Do not use
<BionicText>in this course - Code blocks should include a title attribute:
```python title="mqtt_client.py" import paho.mqtt.client as mqtt ```
- Use Starlight components (
<Tabs>,<TabItem>,<Steps>,<Card>) where appropriate - Keep paragraphs concise and focused on practical application
- Include working code examples that readers can run directly
Clone the main site repository and initialize submodules:
git clone --recurse-submodules <main-repo-url>
cd siliconwit-com
npm install
npm run devTo test a production build:
npm run buildThis course content is released under the MIT License.