{"adoption": {"forks": 581, "observed_at": "2026-08-28T04:06:28.802935+00:00", "stars": 2226}, "canonical_url": "https://ross.abutalabs.com/products/designiot", "card": {"archived": false, "artifact_type": "learning-resource", "description": "教你设计物联网系统。构建自己的Internet of Things 。", "domain": ["iot", "tutorials", "web-development", "hardware", "embedded-systems"], "enriched": true, "function": ["documentation", "iot", "web-framework", "sdk"], "health_score": 20, "homepage": "http://phodal.github.io/designiot/", "language": "HTML", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["phodal/designiot"], "name": "phodal/designiot", "platform": ["cross-platform", "embedded", "iot", "python", "php"], "pushed_at": "2021-06-25T15:10:11+00:00", "repo": "phodal/designiot", "stars": 2226, "tags": ["iot-book", "tutorial", "mqtt", "coap", "rest-api", "arduino", "raspberry-pi", "github-book", "chinese-language", "web-server", "nodejs"], "topics": ["iot", "iot-design", "desing-iot", "internet-of-things", "mqtt", "coap", "github-books"], "urls": [], "use_cases": ["learn how to design an IoT system from scratch", "build my own internet of things project", "understand CoAP and MQTT protocols for embedded devices", "create a RESTful API for sensor data with Laravel", "get started with Arduino and Raspberry Pi for IoT", "learn how hardware connects to web servers", "tutorial on building a minimal IoT system with REST services"], "what_it_is": "An open-source Chinese-language book (GitHub book) titled '一步步搭建物联网系统' (Build an IoT System Step by Step) that teaches readers how to design and build their own Internet of Things systems. It covers web fundamentals, GNU/Linux, Arduino, Raspberry Pi, Python, RESTful API design with Laravel, and IoT protocols like MQTT and CoAP.", "when_to_avoid": ["you need up-to-date coverage of modern IoT stacks, cloud platforms, or current framework versions (content dates from 2014-2016)", "you want a production-ready codebase or maintained library rather than educational material", "you need English-language documentation", "you seek deep protocol specifications instead of a hands-on walkthrough"], "when_to_choose": ["you want a structured, end-to-end tutorial covering hardware, server, and frontend for IoT", "you are a beginner learning web basics (HTML/JS/CSS), Linux, Arduino, and Raspberry Pi alongside IoT concepts", "you prefer learning REST-based IoT design with concrete Laravel, CoAP, and MQTT examples", "you read Chinese and want a free online book with a published print edition"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/designiot", "repo": "phodal/designiot", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:28.802935+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:44:53.884075+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcbd1c6960cf3ec963635a030495e8ef4d56a3ab23955a182b0f14a50c0b8642", "fetched_at": "2026-08-28T04:06:28.802935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/phodal/designiot"}, {"content_hash": "94b0bbcffdc37a1c2f4bc2ca2802a0220b965cac57d49d82565c0648c8057aaa", "fetched_at": "2026-08-29T10:25:20.109746+00:00", "kind": "homepage", "missing": false, "url": "http://phodal.github.io/designiot/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4406, "days_push": 1895, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}