Web Service Clients On Raspberry Pi Pico W(C++)
Published 4/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English
| Duration: 6h 3m
Restful Web Services for the Raspberry Pi Pico W
What you'll learn
Understand Restful Web Services Concepts
Write Web Service clients on the Raspberry Pi Pico using LWIP
Write Web Service clients on the Raspberry Pi Pico using coreHTTP
Write Web Service servers on the Raspberry Pi Pico using LWIP
Write Web Service servers on the Raspberry Pi Pico using Socket based HTTPD
Requirements
Able to work with the Raspberry Pi Pico SDK Toolchain
Able to programme in C/C++ on microcontroller
Awareness of computer networks (IP and Ethernet)
Able to install software and configure firewall on own laptop or desktop
Basic knowledge of Python which will be used for test clients and servers.
Description
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.
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Introducing Your Tutor
Lecture 3 Course Approach
Lecture 4 Section Summary
Section 2: First Service Client
Lecture 5 Section Goals
Lecture 6 Pico W Setup
Lecture 7 Code Deployment or Flashing
Lecture 8 Course Code Repository Structure
Lecture 9 Connecting to Wifi
Lecture 10 IP Geolocation Service
Lecture 11 First Pico-W Client
Lecture 12 Section Summary
Section 3: Web Services Origin and test Environment
Lecture 13 Section Goals
Lecture 14 Origin of Web Services
Lecture 15 Web Service Standards and RESTful Web Services
Lecture 16 Test Environment: Python
Lecture 17 First Web Service
Lecture 18 Parameters over GET Web Service
Lecture 19 Web Service based on HTTP POST
Lecture 20 Authentication for a Web Service
Lecture 21 Debugging Web Services: Proxy Server
Lecture 22 Section Summary
Section 4: URI and URL
Lecture 23 Section Goals
Lecture 24 What is an URI and an URL.
Lecture 25 URI Library to Parse a URL
Lecture 26 URI Parser Library to Parse a URL
Lecture 27 Section Summary
Section 5: LwIP HTTP Client
Lecture 28 Section Goals
Lecture 29 LwIP Library
Lecture 30 LwIP HTTP Client
Lecture 31 Request Query
Lecture 32 Debugging LwIP HTTP
Lecture 33 LwIP HTTP Client Limitations
Lecture 34 Section Summary
Section 6: JSON
Lecture 35 Section Goals
Lecture 36 Introducing JSON
Lecture 37 TinJSON Library
Lecture 38 CoreJSON Library
Lecture 39 Section Summary
Section 7: FreeRTOS coreHTTP
Lecture 40 Section Goals
Lecture 41 FreeRTOS Kernel and LwIP
Lecture 42 POSIX Sockets
Lecture 43 HTTP GET
Lecture 44 HTTP POST
Lecture 45 Section Summary
Section 8: HTTP Security
Lecture 46 Section Goals
Lecture 47 HTTP Basic Authentication
Lecture 48 TLS Transport
Lecture 49 TLS HTTP Request Client
Lecture 50 TLS Identity
Lecture 51 Section Summary
Section 9: Parsing XML Payloads
Lecture 52 Section Goals
Lecture 53 XML the Basics
Lecture 54 MXML Library
Lecture 55 MiniML Library
Lecture 56 Section Summary
Section 10: Congratulations and Examples
Lecture 57 Congratulations and Optional Goals
Lecture 58 Course Recap
Lecture 59 Debugging Web Services
Lecture 60 YouTube Subscription Ticker
Lecture 61 Weather Forecast
Lecture 62 Currency Rates Ticker
Lecture 63 Thank You
IoT developers,Hobbyist working on IoT and Web Service projects,Embedded developers
Code:
Bitte
Anmelden
oder
Registrieren
um Code Inhalt zu sehen!
Code:
Bitte
Anmelden
oder
Registrieren
um Code Inhalt zu sehen!
Free search engine download: Web Service Clients on Raspberry Pi Pico W(C )