M2M & IoT Interface Design & Protocols for Embedded Systems
Instructor: Bruce Montgomery, PhD, PMP
Intermediate Level • 8 hours to complete • Flexible Schedule
What You'll Learn
- Define and assess importance of M2M and IoT to modern development
- Recognize key elements of cloud support for IoT devices and systems
- Review the application of microservice architecture to IoT systems
Skills You'll Gain
Cloud Services
Network Protocols
Internet Of Things
Application Security
Amazon Web Services
Serial Peripheral Interface
Cybersecurity
Embedded Systems
Microservices
Wide Area Networks
Application Programming Interface (API)
Cloud Technologies
Cloud Computing Architecture
Wireless Networks
Shareable Certificate
Earn a shareable certificate to add to your LinkedIn profile
Outcomes
-
Learn new concepts from industry experts
-
Gain a foundational understanding of a subject or tool
-
Develop job-relevant skills with hands-on projects
-
Earn a shareable career certificate
There are 4 modules in this course
An introduction to M2M (Machine-to-Machine) and IoT (Internet of Things) definitions, differences, and the importance of these elements in modern use and industry. Also a review of basic cloud architectures, and related terms and concepts. We also review system design and architecture tools like UML, use cases, and architectural patterns. Finally, we look at the class projects for demonstrating IoT and cloud-connected (virtual) devices and systems, and start to prepare for working with AWS, Python, and Node.JS.
Review of key protocols and elements to build cloud-connected IoT systems, including the most common IoT application protocols that connect devices to the cloud - MQTT, CoAP, WebSockets. We then examine what cloud systems must provide to support IoT design, elements like over-the-air updates, digital twins, and serverless processes. Finally we review the make up of one of the most complete cloud environments, AWS, and also look specifically at how it provides a framework for IoT connected devices and systems. We also provide the first cloud-connected IoT coding exercise for the course.
This module focuses on connections between devices and the protocols that enable those connections at several levels. We start at the board level of devices, and then look at low-level communications with protocols such as I2C, SPI, and UART. We then move up into personal, local, and wide area network protocols, both wired and wireless: Ethernet, USB, WiFi, Zigbee, etc. Finally we look specifically at long distance protocols for devices that will run on batteries for over ten years - cellular protocols like LTE-M and NB-IoT, and non-cellular protocols such as LoRaWAN and SIGFOX. We'll also create a second program to extend the first coding exercise to explore other cloud services and APIs.
Here we review the final elements that we will include in our tool sets for designing cloud-connected IoT systems. We will look at alternative cloud platforms to AWS, both commercial and open source. We consider cybersecurity issues for IoT devices and systems, ways to test, harden, and prepare our systems for public exposure. And we consider some underlying software technologies that enable the structure of an IoT system: message queuing, APIs, and microservices. We will close with peer review of ours and other's coding exercises, and (optionally) prepare for the final exam.