|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/web-service-clients-on-rpi-pico-w/
课程评论:没有评论
**课程名称:** Raspberry Pi Pico W (C++) 上的 Web 服务客户端 **课程概述:** 本课程旨在教授学员如何将 Raspberry Pi Pico W 开发成一个 Web 服务客户端,使其能够从 Web 服务获取真实世界的数据并进行响应,或将传感器数据提交到中央服务以构建物联网(IoT)模式。通过连接到更广泛的分散式系统,Pico W 的应用前景将大大拓展。 **核心内容:** 1. **HTTP 协议库:** 重点介绍和使用两个核心库来管理 HTTP 协议:LWIP HTTP App 和 coreHTTP。 * **coreHTTP:** 该库功能强大且灵活,需要配合 FreeRTOS 内核和 LWIP Sockets 使用。通过 wolfSSL,可以实现对 HTTPS Web 服务的安全连接。 2. **数据解析:** * **JSON 解析:** 主要针对响应 JSON 格式数据的 RESTful Web 服务。课程将教授如何使用 coreJSON 和 tiny-JSON 这两个可选库来解析 JSON 数据。 * **XML 解析:** 探索另外两个库来处理返回 XML 格式数据的 Web 服务。 3. **输出与显示:** * **STDIO 输出:** 大部分 Web 服务示例将使用 STDIO 进行输出。 * **硬件结合:** 提供了两个使用 PIMORONI Galactic Unicorn(Pico W 显示板)的示例。另外,还有一个示例使用 TFT 屏幕(需要自行接线)。学员可以选择修改这些示例以适应 STDIO 或其他硬件输出。 4. **开发环境与辅助工具:** * **C++ 语言基础:** 假定学员具备 C++ 语言的知识,课程将侧重于功能性方面的讲解,而非 C++ 语法。 * **FreeRTOS 内核:** 用于支持并发任务和 POSIX Sockets,假定学员对 FreeRTOS 内核有一定了解。 * **Pico C/C++ SDK:** 假定学员能够使用 Raspberry Pi Pico SDK 编译和部署 C++ 代码。 * **Python 测试环境:** 使用 Python 作为 Web 服务测试环境,具备一定的 Python 知识将有所帮助。 **先修知识要求:** * C++ 语言基础 * FreeRTOS 内核基础(或参与相关课程“Raspberry Pi Pico 的 FreeRTOS 内核”) * 使用 Pico C/C++ SDK 编译和部署 C++ 代码的能力(或参与相关课程“Raspberry Pi PICO 的 C 开发环境入门”) * (可选)Python 知识 **总结:** 本课程为使用 Raspberry Pi Pico W 开发 Web 服务客户端提供了全面的指导,涵盖了从 HTTP 协议的实现,到 JSON 和 XML 等数据格式的解析,再到与显示硬件的集成。通过实践这些技术,学员将能够充分利用 Web 服务的能力,构建功能多样的物联网应用。
Using Web Services I can pull real-world data for my Raspberry PI Pico W to act on. Or submit sensor data from my Pico W to central services in an IoT pattern. Web Services enable us to connect the Pico W to a wider world of exciting distributed systems.In this course, we explore how to code C/C++ for a Pico-W to become a web service client. We look at two fundamental libraries to manage the HTTP protocol; LWIP HTTP App and coreHTTP. coreHTTP requires that we also use FreeRTOS kernel and LWIP Sockets. The library gives us a great deal of flexibility and with wolfSSL allows us to connect to HTTPS web services.The restful web services we primarily target on the course respond with JSON payloads. The course teaches how to parse these using two optional libraries coreJSON and tiny-JSON. Some web service payloads return XML and a further two libraries are explored to be able to handle these payloads.The course uses STDIO for the output of most web services. Two examples use a pre-built Pico-W display board, the PIMORONI Galactic Unicorn. One example uses a TFT screen, this will needs to be wired to the Pico W. Optionally you could modify these examples to produce STDIO or use alternative hardware.The course assumes knowledge of C++. Though each example walks through the functionality, the course will not talk about the syntax of C++. FreeRTOS Kernel is used to support concurrent tasks and enable POSIX Sockets. An understanding of FreeRTOS Kernel is assumed. I have another course on FreeRTOS Kernel for the Raspberry PI Pico to cover this.The course assumes you can compile and deploy C++ code to the Pico Q using the Raspberry PI Pico SDK. My other course "Introduction to C Development Environment for Raspberry PICO" teaches these skills.A web service test environment to support building and understanding these web services clients uses Python. Some Python knowledge would be helpful.