全国城市空气质量查询:环境监测与智能设备的低成本集成
# 全国城市空气质量查询:环境监测与智能设备的低成本集成
> 接口/接入点:全国城市空气质量查询(apiCode=104)· 104-41/104-42 · 免费 · 返回 JSON · 适用人群:IoT/智能设备开发者 · 阅读时间:约 7 分钟
## 核心要点
- 免费接口可作为智能音箱、带屏设备、空气净化器的「外部空气参考源」,无需自建采集网络。
- 设备端只消费等级文字 `quality` 与 AQI,即可驱动播报/屏显/联动逻辑。
- 低带宽设备用 104-42 单城查询 + 长 TTL 缓存,最大限度省调用与流量。
## Why:IoT 场景的取舍
自建空气质量监测站成本高、校准难;对多数消费级设备,用城市级公开数据做「参考层」已经够用——告诉用户「所在城市当前空气优/良/污染」,并联动净化器、新风系统。该接口免费、字段齐全,是低成本集成的理想选择。
## What:接口速览
| 项 | 内容 |
|----|------|
| 单城查询 104-42 | `area` 必填,返回单对象(轻量,适合低带宽设备) |
| 排行榜 104-41 | 全量列表,适合大屏/看板 |
| 等级字段 | `quality`(6 类),可直接驱动设备状态 |
## How:带屏设备轮询 + 联动
```python
import requests, time
def poll_and_act(city: str, appkey: str):
b = requests.post(
"https://route.showapi.com/104-42",
params={"appKey": appkey}, data={"area": city}, timeout=10,
).json()["showapi_res_body"]
q = b["quality"]
aqi = int(b["aqi"])
# 简单联动:重度及以上开净化器
purify_on = q in ("重度污染", "严重污染")
return {"screen": f"{b['area']} {q} AQI {aqi}",
"purify_on": purify_on}
```
### cURL 速测
```bash
curl -X POST "https://route.showapi.com/104-42?appKey=YOUR_APPKEY" \
-H "content-type: application/x-www-form-urlencoded" -d "area=%E6%9D%AD%E5%B7%9E"
```
## 返回示例与解析
查「杭州」实测 `quality=优质`、`aqi=15`;设备据此屏显「空气优质」并关闭净化器联动。设备只需解析 `quality` 与 `aqi` 两个字段,逻辑极轻。
## 进阶 / 边界
- **流量/额度**:低带宽设备用 104-42 单城查询,配合 30 分钟级 TTL 缓存,调用与流量都极小。
- **大屏/看板**:用 104-41 整表缓存做城市排名大屏,刷新节奏与缓存策略见系列第 7 篇。
- **联动边界**:净化器/新风联动建议以等级为触发条件,阈值由产品定义;接口只给等级文字,不含设备控制。
- **回退展示**:小地区回退到上级城市,屏显应显示实际参考城市,避免误导。
## FAQ
**Q1:设备能直连接口吗?**
能,但 AppKey 需安全存储(固件/配置下发),且务必加缓存控制调用频次,避免耗尽免费额度。
**Q2:只想要「空气好不好」一个结论,取哪个字段?**
用 `quality` 等级文字即可(优质/良好/轻度污染…),无需解析全部污染物。
**Q3:排行榜适合什么设备?**
适合带屏大屏/看板展示多城排名;单设备状态卡用单城查询更省。
**Q4:联动净化器算过度承诺吗?**
联动逻辑由你的设备产品决定,接口仅提供等级数据;在用户说明中避免暗示「接口控制设备」。
## 相关能力 / 下一步阅读
- [全国城市空气质量查询:空气质量等级(优质/良好/污染)判定与配色指南](https://www.showapi.com/guides/air-quality-quality-levels-104)
- [全国城市空气质量查询:免费额度下如何设计缓存策略节省调用](https://www.showapi.com/guides/air-quality-cache-strategy-104)
- [全国城市空气质量查询:旅游 / 健康类应用的落地方案](https://www.showapi.com/guides/air-quality-travel-health-104)
- **本系列共 11 篇**:查看[全国城市空气质量查询 · 指南总目录](https://www.showapi.com/guides/air-quality-guides-104)