第 11 篇:W55RP20-EVB-Pico C实战:HTTP 协议与 OneNET 平台数据上云前置验证
第 11 篇:W55RP20-EVB-Pico C实战:HTTP 协议与 OneNET 平台数据上云前置验证
前言
上一篇实战教程,我们已经完成了 W55RP20 芯片 HTTP Server 服务端搭建 功能开发,实现了局域网网页访问、设备本地监控与控制。
本篇内容我们进入物联网核心应用 ——HTTP 协议与 OneNET 平台数据上云。
OneNET(中移物联网平台)是国内主流的物联网设备接入平台,支持 HTTP/MQTT 等标准协议。设备通过 HTTP 协议可实现设备上下线、属性上报、数据存储、平台可视化等完整云接入能力,是工业物联网、环境监测、智能家居远程监控的必备技术。
W55RP20 集成硬件 TCP/IP 协议栈,搭配 CircuitPython 内置的 HTTP 请求库,无需复杂移植,仅需简单配置即可快速接入 OneNET 平台,完成温湿度等数据实时上云,实现远程查看与管理。
本文将带你学习:
OneNET 平台 HTTP 接入协议原理
设备鉴权、上线、下线流程
传感器数据(温湿度)JSON 格式封装
HTTP POST 请求实现属性上报
OneNET 平台数据接收与状态监控
硬件协议栈上云稳定性与异常处理
嵌入式设备快速上云的工业级实现方案
平台操作流程
创建设备
首先进入开发者中心,在多协议接入的HTTP界面下创建好产品以及设备,然后添加apikey。
注意:如果您登录之后并没有多协议接入这个选项,则需先进行实名认证。
创建数据流模板
在数据流模板界面创建温度和湿度的数据流模板。、

系列教程学习路径
本专栏共 16 篇,循序渐进覆盖 W55RP20-EVB-Pico 模块 CircuitPython 开发全流程:
第 1 篇:静态 IP 配置与网络基础
第 2 篇:DHCP 自动联网与网络诊断
第 3 篇:TCP Client 客户端通信
第 4 篇:TCP Server 服务端通信
第 5 篇:UDP 单播数据通信
第 6 篇:UDP 组播/广播数据通信
第 7 篇:DNS 域名解析
第 8 篇:NTP 从网络获取时间
第 9 篇:HTTP Client 客户端请求
第 10 篇:HTTP Server 服务端搭建
第 11 篇:HTTP 协议与 OneNET 平台数据上云
第 12 篇:MQTT 协议基础通信验证
第 13 篇:MQTT 协议与阿里云平台对接
第 14 篇:MQTT 协议与 OneNET 平台对接
第 15 篇:MQTT 协议与 ThingSpeak 平台对接
第 16 篇:Modbus 工业协议通信
目录
第 11 篇:W55RP20-EVB-Pico C实战:HTTP 协议与 OneNET 平台数据上云前置验证
1. 准备工作
1.1 软件准备
所需软件均为免费版本,按要求下载安装即可,无需额外付费。
表格
| 软件名称 | 版本要求 | 下载地址 | 说明 |
|---|---|---|---|
| Thonny | 4.0 及以上 | Thonny 官方下载 | 轻量级
CircuitPython IDE,支持代码编辑、烧录与串口调试 |
| W55RP20-EVB-Pico 模块
CircuitPython 固件 |
最新稳定版 | WIZnet 官方固件下载 | 专为 W55RP20-EVB-Pico 模块 编写,已集成 WIZnet 硬件驱动、协议栈与 HTTP 库 |
| OneNET 平台账号 | - | 中移 OneNET 官网 | 用于创建设备、获取鉴权信息、查看上报数据 |
1.2 硬件准备
W55RP20-EVB-Pico 模块已集成以太网相关器件,无需额外焊接飞线,配合 RP2040 开发板可快速搭建开发环境,大幅降低接线错误和硬件故障概率。
- W55RP20-EVB-Pico × 1
- Micro USB 数据线(必须支持数据传输,不能使用纯充电线)× 1
- 标准网线 × 1
- 开启 DHCP 功能的路由器 / 交换机 × 1(用于获取网络参数,实现 DNS 解析)
2. 烧录 W55RP20-EVB-Pico 模块专属 MicroPython 固件
W55RP20-EVB-Pico 模块 完全兼容树莓派 Pico 的 UF2 固件烧录方式,操作简单无需额外烧录器,新手可快速上手:
- 按住 RP2040 开发板上的 BOOTSEL 按键不放;
- 使用 Micro USB 数据线连接开发板与电脑;
- 待电脑识别出名为 RPI-RP2 的 U 盘后,松开 BOOTSEL 按键;
- 将下载好的 W5500_RP2040_firmware.uf2 固件文件拖拽到 U 盘中;
- 开发板会自动重启,固件烧录完成。
注意:如果电脑没有识别出 RPI-RP2 U 盘,请尝试更换 USB 数据线、重新插拔开发板,或更换电脑 USB 接口(优先使用 USB 2.0 接口)。
3. 硬件连接与开发环境配置
3.1 硬件连接
W55RP20-EVB-Pico 模块连接分为两步,分别实现供电/调试和以太网连接,操作简单,无需复杂接线:
3.1.1 基础连接(供电+调试)
使用 Micro USB 数据线连接 RP2040 开发板与电脑,用于开发板供电、代码烧录和串口调试。
3.1.2 以太网连接
使用网线连接 W55RP20-EVB-Pico 模块的以太网接口与路由器的 LAN 口(或直接连接电脑网口,需手动配置电脑 IP 与开发板同网段)。
3.1.3 模块与开发板接线
若使用分离式模块与开发板,需按以下引脚对应连接(SPI 通信):
【硬件预留】此处插入硬件连接示意图
3.2 开发板默认网络参数
IP = 192.168.11.20
SN = 255.255.255.0
GW = 192.168.11.1
DNS = 8.8.8.8
PORT = 80
四、HTTP POST JSON 极简解析
本篇的核心思路是:
- 开发板构造一个 JSON Body
- 通过 HTTP POST 发送到测试服务
- 接收并打印服务器响应
这一步是后续对接 OneNET、阿里云等平台接口前非常合适的基础验证。
五、核心 C 语言代码复制与编译烧录
5.1 主程序入口
入口文件:
核心代码如下:
static uint8_t g_http_target_domain[] = "httpbin.org";
static uint8_t g_http_target_ip[4] = {107, 23, 218, 37};
static uint8_t g_http_target_uri[] = "/post";
request.method = (uint8_t *)HTTP_POST;
request.uri = g_http_target_uri;
request.host = g_http_target_domain;
request.connection = (uint8_t *)"close";
request.content_type = (uint8_t *)HTTP_CTYPE_APP_JSON;
5.2 JSON Body 构造
return (uint16_t)sprintf((char *)buf,
"{\"board\":\"W55RP20-EVB-Pico\",\"demo\":\"http-post-json\",\"sample\":%lu}",
(unsigned long)sample);
5.3 编译与烧录步骤
- 编译目标
w55rp20_http_post_json - 生成 w55rp20_http_post_json.uf2
- 烧录开发板并重启
六、运行结果与 HTTP POST JSON 验证
6.1 串口输出结果
W5500 bring-up: version=0x04 pio-div=2.0 reset=10ms/100ms
W5500 net: MAC=00:08:DC:12:34:56 IP=192.168.11.20 GW=192.168.11.1 SN=255.255.255.0 DNS=8.8.8.8 DHCP=off
W5500 phy: mode=auto speed=100M duplex=full link=up
http-post: target host=httpbin.org ip=107.23.218.37 uri=/post
如果连接和请求都顺利,还会继续看到:
http-post: sent POST http://httpbin.org/post body-len=...
http-post: response len=...
6.2 结果说明
这一篇的意义不是宣称已经完成 OneNET HTTPS 接入,而是先验证:
- POST 请求是否能发出
- JSON Body 是否能正确携带
- 响应是否能被正确接收
七、常见问题一站式排查
| 问题现象 | 排查步骤 |
|---|---|
1. 串口停在 target host=... |
1. 检查目标 IP 或网络出口是否可达;2. 检查直连场景是否具备外网能力;3. 优先确认基础网络连通。 |
| 2. POST 无响应 | 1. 查看串口是否已打印 sent POST;2. 检查目标站点可用性;3. 检查网络是否允许外部 HTTP 连接。 |
| 3. 返回内容异常 | 1. 检查 JSON Body 构造是否正确;2. 检查 content_type 是否为 application/json;3. 查看完整串口回包。 |
八、W55RP20 在这类协议验证中的核心优势
| 对比维度 | W55RP20 的优势说明 |
|---|---|
| 以太网接口形态 | 板载以太网接口,适合直接做上云前的 POST 请求验证。 |
| 网络协议处理 | 集成硬件 TCP/IP 协议栈,适合轻量级应用层协议实验。 |
| 工程交付方式 | C 工程可直接生成 uf2 文件,便于快速迭代。 |
| 调试体验 | 串口可以完整打印请求和响应过程。 |
| 协议扩展能力 | 适合作为后续扩展认证头、平台参数和更完整云平台协议的基础工程。 |
九、典型应用场景
- 上云前置联调
- HTTP POST 数据上报验证
- JSON 结构验证
- 平台接入前的网络链路测试
十、系列预告与资源获取
10.1 系列预告
后续可在这版基础上继续扩展:
- OneNET 认证参数
- 平台 URL 适配
- 更复杂的上报字段
10.2 资源获取
更多推荐



所有评论(0)