I Pointed My Industrial IoT Platform at My Dog β Here's What Happened
Dog Days Challenge Entry πΆ
My company builds industrial IoT infrastructure β 928 gateways monitoring oil wells, UAV testing lines producing 60 drones a day, maritime safety platforms with 99.9999% uptime.
This weekend, I pointed that entire stack at a Golden Retriever.
The Stack
Meet PawTrack β a dog health monitoring demo built on DGIOT, our open-source industrial IoT platform:
Smart Collar (PawCollar-V2)
β MQTT Β· 2-second sampling
βΌ
DGIOT Platform (Erlang/OTP)
β 300+ protocol adapters Β· Shadow devices Β· Rule engine
βββ TDengine (time-series storage)
βββ DLAS Ontology Engine (OWL reasoning)
βββ Dashboard (real-time vitals)
The collar streams four metrics every 2 seconds:
- Heart rate (bpm)
- Body temperature (Β°C)
- Activity level (%)
- Battery + RSSI
Why Industrial IoT Makes Sense for Pets
Here's the part that surprised me: a dog is just another telemetry source.
The industrial world has spent decades solving problems that pet tech startups are rediscovering:
| Industrial Problem | Pet Equivalent |
|---|---|
| Gateway goes offline in a remote oil field | Dog runs out of Wi-Fi range |
| Sensor drift on a pressure gauge | Collar temperature calibration |
| False alarms flooding operators | "Your dog is dying" notification at 3am |
| 928 gateways to manage | Multiple pets, multiple collars |
We already solved all of these for oil fields. A Golden Retriever is just a smaller, fluffier oil well.
The Ontology Layer β Why It Matters
The interesting part is our DLAS ontology engine. Instead of hard-coded thresholds ("if temp > 39.5, alert"), we model knowledge:
GoldenRetriever β Dog β βhasRisk.HipDysplasia
ActivityDrop(dog, 40%) β§ BreedRisk(dog, High) β Alert(medium)
This means the system knows that a Golden Retriever's activity drop is more concerning than a Border Collie's β hip dysplasia is breed-specific. The ontology compiles to Erlang pattern matches, so reasoning happens at runtime speed.
The Shadow Device
Every physical device gets a digital twin β a gen_statem process that mirrors its lifecycle:
init β auth β online β {active, inactive, alert}
When the collar drops offline, the shadow holds state and retries silently. The dashboard doesn't scream "DOG IS GONE" β it waits, because shadows absorb network chaos. This is the same mechanism that keeps oil field gateways calm during sandstorms.
The Demo
The live demo simulates the MQTT stream with real-time vitals, ontology inference, and the alert closed-loop (discover β confirm β handle β verify):
dgiot/pets/wanCai/telemetry β {"temp":38.6,"hr":88,"activity":62}
dgiot/pets/wanCai/shadow β {"state":"active","battery":87,"rssi":-62}
Watch for the activity-drop alert β when activity falls below 35%, the ontology fires a hip dysplasia risk warning for the Golden Retriever, generates a work order, and closes the loop when activity recovers.
What's Real vs. What's Demo
Real: DGIOT platform, DLAS ontology engine, shadow device architecture, MQTT pipeline, alert closed-loop β all production code from our industrial deployments.
Demo: The collar hardware (simulated), the dog (borrowed), the vitals (synthetic values).
The point: the platform is production-grade. Building pet monitoring on it took one afternoon, because the hard parts β protocol handling, shadow state, ontology reasoning β were already done for 300+ industrial use cases.
The Code
- Platform: github.com/dgiot/dgiot β Apache 2.0, 4.8K stars
- Demo: Single HTML file simulating the MQTT stream
Want to build your own? The platform deploys in 6 minutes:
git clone https://github.com/dgiot/dgiot.git
cd dgiot && docker-compose up -d
Built for the Dev.to Dog Days Challenge. If your dog's activity drops below 35%, take them to the vet β the ontology says so.













