Networking & Protocols
TCP/IP, sockets, MQTT, HTTP/REST, and TLS for embedded connectivity
MQTT
MQTT protocol for IoT: publish/subscribe model, topic hierarchy and wildcards, QoS levels (0/1/2), retained messages, last will and testament, persistent sessions, MQTT 5.0, broker selection, and embedded client considerations.
Sockets API Basics
Sockets API lifecycle for embedded systems: socket/bind/listen/accept/connect/send/recv/close, TCP vs UDP patterns, blocking vs non-blocking I/O, select/poll/epoll multiplexing, socket options, error handling, and lwIP vs Linux sockets.
TCP/IP Fundamentals
TCP/IP protocol stack for embedded systems: layers, TCP vs UDP, three-way handshake, flow control, congestion control, sockets API, and lightweight stacks (lwIP).
TLS for Embedded Systems
TLS in embedded systems: TLS 1.2 vs 1.3 handshake, certificate vs PSK authentication, RAM/flash costs on Cortex-M, hardware crypto acceleration, DTLS for UDP protocols, certificate management in the field, and embedded TLS library comparison (mbedTLS, wolfSSL, BearSSL).
HTTP REST for IoT
HTTP and REST for embedded/IoT: REST principles, HTTP/1.1 vs HTTP/2, API design for embedded devices, JSON vs CBOR, authentication (API keys, OAuth, JWT), TLS overhead on constrained devices, CoAP for constrained networks, and when REST is appropriate versus lightweight protocols.