---
title: "An IoT Cloud platform implementation with W5500"
url: "https://maker.wiznet.io/chen/projects/an-iot-cloud-platform-implementation-with-w5500/"
markdown_url: "https://maker.wiznet.io/chen/projects/an-iot-cloud-platform-implementation-with-w5500/md"
type: "UCC: User Created Content"
author: "21ic"
author_url: "https://www.21ic.com/article/905652.html"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "21ic"
original_url: "https://www.21ic.com/article/905652.html"
license: "Apache License 2.0 (Apache-2.0)"
published: "2023-01-03"
language: "en"
tags: ["W5500"]
hardware: ["WIZnet W5500"]
likes: 3
views: 876
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# An IoT Cloud platform implementation with W5500

> This article introduces an IoT Cloud platform with W5500.

Original author: 21ic (source: https://www.21ic.com/article/905652.html)

## Components

- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Article

**[导读]**摘 要：文中提出一种物联网云服务平台的设计方案，给出了平台的硬件和软件设计，可利用该平台实现温度采集和远程门禁。温度采集能够实现远程采集、分析和显示温度，结合百度地图显示各区域的温度情况，以曲线形式显示气温的走势。远程门禁能够实现远程开门，响应速度快。实际结果表明，该物联网云服务平台运行效果良好，可靠性高，扩展性强，满足了设计要求。

引 言

从我国 2009 年提出[物联网](https://www.21ic.com/tags/%E7%89%A9%E8%81%94%E7%BD%91)发展战略以来，物联网在工业监控、城市管理、智能家居、智能交通等多个领域发展迅速。云计算是物联网发展的基石，也是实现物联网的核心，使物联网中以兆计算的各类物品的实时动态管理和智能分析变得可能，也促进了物联网和互联网的智能融合。云计算使传统IT 产业格局在技术、商业模式及服务等方面得到明显改变[1]。服务提供商利用云服务将信息技术服务提供给用户，使得用户通过网络能够随时随地得到自己想要的资源及服务，对传统制造业产生了巨大的冲击。各制造商纷纷对产品进行产业升级与改造，同时让其下所有产品组成一个能为用户提供完整服务的有机组合，而非单一的产品，大力建立自己的移动互联网生态系统。对于很多由硬件制造起家的公司来说，部署和运维互联网应用无疑是一个噩梦，缺乏专业研发团队，平台运维费钱费心，安全问题难以得到保障。因此，建立一个专业的物联网云服务平台，可以解决这些硬件制造商的困扰，不但让制造商能够简单地低成本改造原先的产品，还可利用云服务平台提供的定制服务增强用户体验，既不用担心未来产品的升级换代和架构升级，也有利于快速抢占市场份额。

1 系统总体方案

物联网云服务平台由手机 App、云服务器、终端组成， 如图 1 所示。终端由控制器、以太网模块、输出接口和传感器接口组成。

远程监测传感器数值的过程如下所示：

(1) 用户在云服务器建立传感器的云端服务；

(2) 控制器通过传感器接口采集传感器的数据，通过以太网模块发送给云服务器；

(3) 云服务器将消息推送到手机 App，以曲线形式查看传感器的数值。

远程控制输出机构的过程如下所示：

(1) 用户在云服务器建立属于输出机构的云端服务；

(2) 利用手机 App连接云服务器，发出改变输出机构状态的指令；

(3) 云服务器将指令推送到终端，控制器改变输出机构的状态。

在实际应用过程中，在传感器接口连接温度传感器，实现温度的远程测量、分析和显示；在输出机构接口连接继电器， 实现[门禁](https://www.21ic.com/tags/%E9%97%A8%E7%A6%81)的远程开关。

![一种物联网云服务平台的设计与实现](https://www.21ic.com/uploads/36870/6165a111c99e2.png)

2 系统硬件设计

2.1 控制器

系统选用基于ARMCortex-M3内核的 32位微控制器STM32F103RBT。它运行速度快，工作频率可达 72MHz；内置高速存储器（128KBFlash和 20KBSRAM）；2个可工作在主从模式的SPI串行接口、7通道 DMA控制器、51个通用IO口。丰富的外围配置与开发资料可大大降低系统开发成本并缩短开发时间[2,3]。

2.2 以太网模块

系统选用 WIZnet 公司生产的 W5500。W5500 有 8 个独立端口Socket 同时通讯， 集成了 TCP/IP 协议栈， 支持TCP、UDP、IPv4、ICMP、ARP、IGMP 及 PPPoE 协 议， 内嵌 32 KB 片上缓存以供以太网包处理，支持 10/100 M 以太网数据链路层（MAC） 及物联层（PHY）。W5500 支持高达 80 MHz 的SPI 接口，更容易与外设 MCU 整合，更好地调整网络通讯。为减少系统能耗，W5500 提供了网络唤醒模式以及掉电模式供客户选择使用[4,5]。

3 系统软件设计

3.1 控制器主程序设计

控制器主要实现传感器采集、输出机构控制和以太网通信功能，其主程序的流程决定了终端的功能，其运行效率决定了终端的整体性能。图 2 所示为将[温度采集](https://www.21ic.com/tags/%E6%B8%A9%E5%BA%A6%E9%87%87%E9%9B%86)和远程门禁集成在一起的控制器主程序流程图。首先，控制器对以太网模块进行硬件初始化。然后从DHCP 服务器获取IP 地址。终端IP 地址无效分为两种情况，即终端刚上电与DHCP 服务器分配的IP 地址超过租期时间。当终端IP 地址无效时，控制器需要利用W5500 其中 1 个Socket 进行 DHCP 协议通信（UDP 协议通信），才能从 DHCP 服务器分配到有效IP 地址。最后，实现应用功能。由于W5500 有 8 个独立网络通信线程，其中1 个用于DHCP 通讯，因此还有 7 个可用于上述事例。文中采

用 2 个独立网络通信线程分别实现[温度采集](https://www.21ic.com/tags/%E6%B8%A9%E5%BA%A6%E9%87%87%E9%9B%86)和远程门禁。

![一种物联网云服务平台的设计与实现](https://www.21ic.com/uploads/36870/6165a14a1e561.png)

3.2 手机 App的软件设计

手机 App 软件包括公开设备、关注设备、我的设备及设置。

(1) 公开设备是指各用户共享自己的设备和传感器，其他用户能够直接查看其传感器的数值。

(2) 关注设备是将公开设备关联为常用设备，是一种快速链接方式。

(3) 我的设备是指用户创建的全部设备和传感器，包括公开和私有两种。

(4) 设置包括自己的帐号、密码、验证码、是否记住账号密码、自动登录以及App信息。

在Android 系统中，公开设备、关注设备、我的设备以及设置四大功能分为四个UI 界面（Activity）进行独立管理，常用方案为Fragments。Fragments 是为解决不同屏幕分辨率的动态和灵活UI 设计。每一个 Fragments 都有一套自己的生命周期回调方法和处理用户输入事件。

4 物联网云服务平台的测试

物联网云服务平台的测试包括网站、手机 App 软件以及终端设备。网站首页以地图形式显示各地区公开设备的 GPS 位置、传感器列表及最后一次数值，如图 3 所示。结合地图的滚动和移动操作，地图上更新最新的公开设备情况，方便用户查找自己附近的公开设备。手机 App 启动后，在右上角利用图标显示当前与云服务器之间的网络连接状态。点击 公开设备 ，显示图 4 所示公开的设备列表。点击设备，进入图 5 所示设备包含的传感器列表。点击传感器，查看该传感器的历史记录数据，并以曲线形式显示，如图 6 和图 7 所示。图 6 所示为温度传感器最近一年的历史数据，其中A 点（2016 年11月11 日）的温度突然下降约 7℃，接着回暖，我们将这种现象称为 入冬失败 。图 7 所示为门禁最近一年的历史数据。

![](https://www.21ic.com/uploads/20211012/b91cf34c21bfdee458ed3a19fa97cc00.png)

图 3 以地图形式显示设备数值

![](https://www.21ic.com/uploads/20211012/01da96bd4ac6ee55d5d7c96473c4a924.png)![](https://www.21ic.com/uploads/20211012/ecd045944b6865ab22291b3d2e313047.png)

图4 手机App 界面中设备列表 图5 手机App 界面中传感器列表

![](https://www.21ic.com/uploads/20211012/429aa7f3cec2832a75691d6ceea5b04b.png)

图 6 最近1 年的温度曲线

![](https://www.21ic.com/uploads/20211012/6a517ecb3956eb7cb0d617b4aca9baf3.png)

图 7 最近1 年的[门禁](https://www.21ic.com/tags/%E9%97%A8%E7%A6%81)曲线 （下转第 46 页）

5 结 语

基于本[物联网](https://www.21ic.com/tags/%E7%89%A9%E8%81%94%E7%BD%91)云服务平台，可实现远程采集、分析和显 示温度与远程开门。结果表明，该平台运行效果良好，可靠性 高，扩展性强，满足设计要求，为后续的决策系统与用户定制 服务等功能提供了一个良好的平台。

---

Source: https://maker.wiznet.io/chen/projects/an-iot-cloud-platform-implementation-with-w5500/
