首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Scratch 之外的第二课:用 Python + 腾讯云 API 做第一个物联网项目 #WorkBuddy#

Scratch 之外的第二课:用 Python + 腾讯云 API 做第一个物联网项目 #WorkBuddy#

原创
作者头像
用户12819748
发布于 2026-10-18 15:05:43
发布于 2026-10-18 15:05:43
1130
举报

孩子在 Scratch 里拖了半年积木,做出过动画、做过小游戏,然后呢?

很多家长在这个节点会遇到一个选择:是继续报更贵的编程班,还是让孩子往前走一步。我的看法是:这一步不用报班,用 Python + 云 API,让孩子做第一个"真的能连上云端"的物联网项目——比如一个能远程查看温度的小装置,或者一个手机上按一下就让家里灯闪一下的小开关。这篇文章讲清楚怎么做、花多少钱,所有计费口径都按腾讯云官方文档核对过,出处附在文末。

一、为什么是 Python + 云 API,而不是又一个编程班

Scratch 教会孩子的是"程序=指令的顺序和逻辑",但它有一个天花板:作品只活在一块画布里。而孩子真正觉得"哇"的时刻,往往是程序第一次影响真实世界——灯真的亮了,温度真的从房间传到了手机上。

这条路径的结构很简单,三段:

  1. 设备端(Python):一块几十元的开发板(如树莓派或 ESP32 系列的 MicroPython 版),读传感器、发数据。
  2. 云端(腾讯云):负责"接收数据、存起来、让手机能查",这就是物联网开发平台(IoT Explorer)干的事。
  3. 展示端:一个网页或小程序,把数据画出来。

腾讯云官方对物联网开发平台的定位写得很清楚:一站式 PaaS 平台,支持 MQTT、HTTPS、WebSocket 协议接入,提供多语言设备端 SDK,以及物模型、规则引擎、OTA 升级等能力。对孩子来说,"物模型"这个词翻译过来就是:你给温度起个名字叫 temperature,云端就永远知道这个字段是温度——这是第一个真正意义上的"数据建模"课。

Python 在这里的角色不是"学语法",而是工具:孩子写一段十几行的脚本,把传感器的读数按 JSON 发上去,就完成了人生第一次"设备上云"。语法课的成就感是做完一张卷子,这里的成就感是妈妈在办公室打开手机能看到家里书房 26.3℃。

二、先泼冷水:腾讯云 IoT 平台的计费真相

这里必须诚实地说清楚,因为网上流传的"免费额度"说法很乱。按官方现行《计费概述》(2026 年口径):

腾讯云物联网开发平台没有面向个人的免费实例。 现行计费分两类:

方案

费用(官方文档口径)

适合谁

消费实例·基础设备接入服务

激活码 2.1 元/个/5年 + 通信服务 0.5 元/台/5年(广州区域),最小购买量 1000 个,合计约 2600 元

要量产卖硬件的厂商

企业实例·入门版(1单元)

350 元/月,500 台同时在线,每日赠送 100 万条消息

有一定规模的设备运营

好消息是消息成本极低:消费实例下每台设备每天赠送 2000 条 MQTT 消息(当日清零),超出部分 3.6 元/百万条;MQTT 的连接心跳这类功能性消息(CONNECT、PINGREQ 等)不计费。每天 2000 条对温湿度这种一分钟报一次的场景绰绰有余——但前提是你先付了上面那笔门槛钱。

所以结论是:孩子做"第一个"物联网项目,别急着买物联网开发平台的实例。 那是为量产设计的。第一条项目应该这样走(全部零门槛或复用家里已有资源):

  1. 方案 A(推荐起步):轻量应用服务器 + MQTT。如果家里已经有上一篇说的轻量服务器(约 40 元/月那档),在上面装一个开源 MQTT 服务端(如 EMQX 社区版或 Mosquitto),Python 用 paho-mqtt 库收发消息。这条路的协议和企业级的 IoT Explorer 是同一个(MQTT),孩子学到的"物模型 JSON、发布/订阅"概念完全通用,以后要迁移到云平台就是换个地址的事。
  2. 方案 B(进阶):项目真的做出了批量化的东西(比如班级团购了 20 套装置),再评估云平台。届时注意消费实例 1000 个起售是硬门槛,量小就直接上企业实例入门版按月租。

一句话:用免费的开源件学协议,用按月付费的轻量服务器跑项目,把"按台收费的云平台"留给真量产。

三、第一个项目怎么做:书房温度站(四步)

第一步:硬件。 树莓派或支持 Python 的开发板 + 一个温湿度传感器(DHT22 这类,几十元)。接线方法厂商教程都有,这一步孩子自己能完成。

第二步:设备端 Python 脚本(约 15 行)。 核心逻辑:每 60 秒读一次传感器,把 {"temperature": 26.3, "humidity": 48} 这段 JSON 通过 MQTT 发布到 home/study/env 这个主题。paho-mqtt 是 Python 生态标准的 MQTT 客户端库,pip install paho-mqtt 即装即用。

第三步:云端中转。 轻量服务器上的 MQTT 服务端收到消息后,孩子再写第二段 Python:订阅该主题,把数据追加写入一个 CSV 或存进 COS(前几篇讲过的对象存储,存储侧免费、流量请求计费)。

第四步:展示。 最简单的一版:一个每 30 秒刷新的网页,读到最新温度就显示大数字。做到这一步,孩子就完成了"传感器→脚本→云端→手机浏览器"的完整数据链路——这比 Scratch 里任何作品都更接近真实工程师每天在做的事。

四、给家长的三个提醒

  1. 密钥不进代码。连云服务的密钥(SecretId/SecretKey)绝不能写死在孩子的 Python 文件里——他很可能把作品传上 GitHub 或发给同学。放环境变量或配置文件,并遵守前面讲过的"子账号最小权限"。
  2. 费用边界。本方案里按月花钱的只有轻量服务器,月费封顶、流量包够用;MQTT 服务端是开源自托管,不产生平台费。万一将来接云平台,先开费用预警再开通(阈值建议仍是 30–50 元)。
  3. 别被"企业版"话术带偏。查资料时会看到各家云平台"百万消息免费"的宣传,点进去往往是企业实例的赠送额度,门槛在几百元/月。给孩子做项目,始终认准"我实际要付的第一笔钱是多少、什么时候付"。

五、那 15 行代码,是孩子写的还是 AI 写的

第四节那个"每 60 秒读一次、发布到 MQTT 主题"的脚本,十五行左右,是这节课的核心。但我第一次把它拿给孩子的时候,犯了一个错误:我直接给了他能跑的代码。

结果他照着敲,敲完跑通了,然后问我一句——

"这个 on_connect 里面的 rc 是啥?"

我愣住了。这是我给的代码,我从没想过要解释它。

后来我改了做法:把代码交给他之前,先用 WorkBuddy 做两件事——一是逐行核,把每个参数的官方出处标出来(paho-mqtt 的版本号、client.connect() 的参数顺序、MQTT 主题的命名限制),生成一张对照表;二是让 WorkBuddy 从"11 岁孩子的认知负荷"这个角度,标出哪几行需要额外解释。

标注出来的是这三行:

行

代码片段

为什么必须讲

回调命名

def on_connect(client, userdata, flags, rc)

四个参数他一个都用不到,但不解释他会一直觉得"多了东西"

发布主题

client.publish("home/study/env", json.dumps(data))

这是整个项目的设计决策——主题名是孩子自己起的,不是标准里规定的

错误处理

except Exception as e: print(e)

要讲清楚"打印出来不等于解决了",这是工程和玩具的分界线

第二行是关键。 主题名 home/study/env 是孩子自己取的——他想让这个数据"只属于我们家的书房"。我以前会把它当作一个待填的参数,现在我会停下来问他:"这个名字你想怎么起?" 他想了两分钟,改成了 study-desk-only。

这个改动在技术上毫无意义,功能完全一样。但从那一刻起,这个项目才真的是他的。

所以如果你也在教孩子写这类东西,我的建议很具体:别急着给能跑的代码,先给一张"哪几行需要讲"的清单。 AI 生成代码的速度远超孩子理解代码的速度,这个差距如果不主动缩,就会变成"他以为他懂了"。

结语

从 Scratch 到 Python + 云 API,孩子跨过的不是语法关,而是视角关:程序第一次不再只活在屏幕里,而开始感知世界、被世界感知。这条路最贵的一件装备是几十块的传感器,最值钱的一次体验是——他在学校打开手机,看见了自家书房此刻的温度。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、为什么是 Python + 云 API,而不是又一个编程班
  • 二、先泼冷水:腾讯云 IoT 平台的计费真相
  • 三、第一个项目怎么做:书房温度站(四步)
  • 四、给家长的三个提醒
  • 五、那 15 行代码,是孩子写的还是 AI 写的
  • 结语
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档