With this step by step challenge you will have a parallel learning experience of Internet of Things and continue with the implementation of functionality on top of the project you have built during the workshop.
Data Reporting, System Data, Device ID
Data Reporting, System Communications Protocols, Device ID
Data Reporting, System Communications Protocols, RESTFul API
Data Reporting, Cloud Computing Services, freeboard.io & dweet.io
Data Reporting, Cloud Computing Services, adafruit.io
Data Reporting, Cloud Computing Platforms, IBM Watson IoT Platform
Incorporate a RESTFul API named "sensor" using Flask-RestFul to send data taken from the Simulated Sensor under functionDataSensor Python function.
Once implemented, run your main.py program and access the network resource using a web browser, you should get the data taken from the the Simulated Sensor:
Connect to your boardipaddress:5000/sensor in a web browser, data shall be displayed
04 Data Reporting, Cloud Computing Services, freeboard.io & dweet.io
Implement code to publish the data taken from the Simulated Sensor to the IBM Watson IoT Platform
Remember to reuse the code seen under "System Cloud Platforms IBM Watson IoT Platform Quickstart Physical Device", file IBM IoT Quickstart
07 Physical Sensors Seeed Studio Grove Kit
Instruction
Implement code to replace existing functionality/logic under functionDataActuator and functionDataSensor by using a physical actuator and sensor from the Seeed Studio Grove Kit
Code in 2 functions needs to change:
functionDataActuator
functionDataSensor
Remember UPM library give you Python bindings to easy use of your Grove Sensors
Confirm every code under your local "TheIoTLearningInitiative" git repository, "InternetOfThings101" directory is uploaded to your remote "TheIoTLearningInitiative" github repository
#!/usr/bin/python
import paho.mqtt.client as paho
...
def functionDataActuator(status):
# Implement logic to drive Actuator / Grove Relay
...
def functionDataSensor():
# Use Sensor / Grove Light to replace psutil.net_io_counters()
...
return data
...