Skip to main content

fog-computing

Fog computing architecture and IoT integration

Source facts

Repository
ffsshhttiikk/opencode-agents-skills
Last source activity
February 28, 2026 at 22:51
Detected SKILL.md language
English
Stars
3
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
fog-computing
description
Fog computing architecture and IoT integration
license
MIT
compatibility
opencode
metadata
{"audience":"architect, iot-engineer, devops-engineer","category":"devops"}
## What I do - Design fog computing architectures for IoT - Implement hierarchical processing layers - Configure data filtering and aggregation - Build latency-optimized pipelines - Manage distributed fog node clusters - Implement offline operation capabilities ## When to use me - When processing large volumes of IoT data - When network connectivity is limited - When implementing smart city infrastructure - When building industrial IoT solutions - When processing time-sensitive data - When reducing cloud bandwidth costs ## Key Concepts ### Fog Architecture Layers ``` ┌─────────────────────────────────────────┐ │ Cloud (Tier 3) │ │ Long-term storage, ML training │ └─────────────────┬───────────────────────┘ │ ┌─────────────────▼───────────────────────┐ │ Fog Layer (Tier 2) │ │ Regional data centers, analytics │ └─────────────────┬───────────────────────┘ │ ┌─────────────────▼───────────────────────┐ │ Edge Layer (Tier 1) │ │ Gateways, local processing │ └─────────────────┬───────────────────────┘ │ ┌─────────────────▼───────────────────────┐ │ IoT Devices (Tier 0) │ │ Sensors, actuators, controllers │ └─────────────────────────────────────────┘ ``` ### MQTT with QoS ```python import paho.mqtt.client as mqtt # Fog node configuration class FogNode: def __init__(self, broker, node_id): self.client = mqtt.Client(client_id=node_id) self.client.on_connect = self.on_connect self.client.on_message = self.on_message self.broker = broker def on_connect(self, client, userdata, flags, rc): # Subscribe with QoS levels # QoS 0: At most once (fire and forget) # QoS 1: At least once (acknowledged delivery) # QoS 2: Exactly once (assured delivery) client.subscribe("sensors/#", qos=1) client.subscribe("alerts/#", qos=2) def on_message(self, client, userdata, msg): # Process at fog layer payload = json.loads(msg.payload) # Filter and aggregate if self.should_process(payload): result = self.process_locally(payload) # Forward important data to cloud if result.important: client.publish("cloud/data", json.dumps(result)) def should_process(self, payload): # Local processing decisions return payload.get('priority') == 'high' ``` ### Data Aggregation ```python class DataAggregator: def __init__(self, window_size=60): self.window_size = window_size self.buffer = [] def aggregate(self, data_points): # Time-windowed aggregation aggregated = { 'count': len(data_points), 'avg': sum(d['value'] for d in data_points) / len(data_points), 'min': min(d['value'] for d in data_points), 'max': max(d['value'] for d in data_points), 'sum': sum(d['value'] for d in data_points), 'window': self.window_size } # Downsampling for cloud if aggregated['count'] > 1000: return self.downsample(aggregated) return aggregated def downsample(self, data): # Keep statistical summary return { 'count': data['count'], 'avg': data['avg'], 'std': self.calculate_std(data), 'min': data['min'], 'max': data['max'] } ``` ### Edge-Fog-Cloud Integration ```yaml # Kubernetes deployment for fog apiVersion: apps/v1 kind: Deployment metadata: name: fog-collector spec: replicas: 3 selector: matchLabels: app: fog-collector template: spec: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 preference: matchLabels: tier: fog containers: - name: collector image: fog-collector:latest env: - name: CLOUD_ENDPOINT valueFrom: configMapKeyRef: name: fog-config key: cloud.endpoint - name: OFFLINE_MODE value: "true" volumeMounts: - name: local-storage mountPath: /data volumes: - name: local-storage persistentVolumeClaim: claimName: fog-local-pvc ``` ### Use Cases - **Smart Cities**: Traffic management, environmental monitoring - **Industrial IoT**: Predictive maintenance, quality control - **Healthcare**: Patient monitoring, emergency response - **Agriculture**: Crop monitoring, irrigation control - **Retail**: Inventory tracking, customer analytics - **Energy**: Smart grid, consumption optimization ### Offline Operation ```python class OfflineBuffer: def __init__(self, max_size=10000): self.buffer = [] self.max_size = max_size def store(self, data): self.buffer.append(data) if len(self.buffer) >= self.max_size: self.flush() def flush(self): if not self.buffer: return # Try to sync with cloud try: self.cloud_client.batch_upload(self.buffer) self.buffer = [] except NetworkError: # Keep buffering pass ``` ### Key Characteristics - Hierarchical architecture - Geographic distribution - Low latency processing - Context awareness - Real-time analytics - Reduced bandwidth usage
View on GitHub