By the end of your basic Cloud Components module you should be able to answer the following questions:
What is “publish-subscribe”?
What are the specific features of each of Particle’s IoT communication mechanisms:
What are Particle functions?
What are Particle events?
What are Particle variables?
What is a sequence diagram?
What are the components of a sequence diagram and how are they used?
What is a Transport?
What are the advantages and disadvantages of different network transports (using AdaFruit’s “Power, Distance, and Bits” comparisons and “costs” (financial and setup overhead)):
Ethernet,
Wi-Fi,
Bluetooth & Bluetooth Low Energy,
Cellular (LTE / 3G-5G),
Zigbee, and
LoRa.
(Note: no coverage of Z-Wave, Sigfox, nor “roll your own”)
What is a gateway?
What are Promise objects, how are they used to improve the structure of programs?
Above was covered on Quiz 4; Below are new items for Quiz 5
What’s the difference between a protocol and a transport?
What are the properties of REST architectures (and RESTful services)?
What are the four typical data operations supported by REST APIs?
What are the differences between common data formats used in IoT, like XML, JSON,
What are the major HTTP methods used for IoT services?
What are webhooks?
What are the features of the MQTT protocol?
What types of messages can be exchanged?
What are MQTT topics and how are they used (and how are they similar to Particle’s Events)?
What is a topic hierarchy and why may they be beneficial?
What are topic wildcards?
What is MQTT quality of service (QoS)?
How is communication facilitated? What’s the difference between a broker and clients?
What are streangths/weaknesses of MQTT?
What are features of CoAP (Particle uses CoAP)?
How does MQTT compare to CoAP (Pros/cons of each)?
What are two common HTTP methods used with webhooks?
What services do ThingSpeak and IFTTT provide (they aren’t unique, but are somewhat representative of some other IoT service providers)?
And should be able to:
Write a sketch for a Photon that uses Particle Functions, Particle Variables, and Particle Events/Streams that meets the needs of a given scenario.
Be able to recommend and justify your recommendation of how to use Particle’s communication techniques (variables, functions, streams) for a particular scenario.
Draw a sequence diagram for a given usage scenario.
Explain how different responsibilities of an IoT application may need to be split among hardware devices, cloud services, and user interface applications.
Given a description of an IoT application, explain the use of communication needed for the application. (For example, how event streams may be used to coordinate the system’s behavior)
Be able to explain the contents of a sequence diagram.
Be able to recommend a network transport based on requirements.
Above was covered on Quiz 4; Below are new items for Quiz 5
Be able to draw a sequence diagram showing how MQTT may be used for communication between multiple entities.