Description
Practical exercises and use cases are simulated by the IoT hardware and software provided by the teacher. All use cases are hardware independent by nature. However, when students must start implementing the exercise a particular hardware platform must use. Depending on the level of students, teacher can prepare the node and server hardware and software or leave this task to students. In any case, both node and server solution, as well as network infrastructure, must be available and accessible. In IoT, different platforms can be mixed up and connected through the broker services, but in the beginner level, it is better to stick in one hardware platform. In following IoT HomeLab kit platform is proposed and described.
The minimum requirements for IoT system are that there is at least two nodes, broker server, and the network. See the figure below.
Broker server is selected as Mosquitto MQTT broker server and nodes are based on ESP8266 microcontroller blocks, enabling to attach sensor or actuator shield on the top of it.
Node specifications
- 11 digital input/output pins
- Micro USB connector
- Compatible with ArduinoIDE
- Compatible with Nodemc
- 4 MB flash-memory
Shields
User Interface Modules
- Screen size 64×48 pixels
- Driver IC: SSD1306
- I2C interface
- Ports GPIO4 and GPIO5
- 8×8 dot matrix LED
- 8 step adjustable intensity
- Port GPIO14 and GPIO3
- LED size 5050
- 16 mil colors
- Port GPIO4
- Frequency 1kHz-3kHz
- 4 optional control ports
- Port GPIO14
Port GPIO0
Sensor / Actuator Modules
- 1-wire digital interface
- Humidity 0-100±2% RH
- temperature -40-80±0,5 °C
- Port GPIO2
- Sentry angle 110 degree
- Sentry distance max 7 m
- Port GPIO14 and GPIO2
- 5V NO/NC 1-channel relay
- AC 250V 10A
- DC 30V 10A
- Port GPIO5
Combined Module
AC current sensor for power consumption
RC servo motor for regulation and small movements
Encoder and switch for odometry or speed measure
Broker Server
Broker server can be implemented in the cloud server, local server or even limited local lightweight server like Raspberry Pi.
MQTTBox
MQTTBox enables to create MQTT clients to publish or subscript topics, create MQTT virtual device networks, load test MQTT devices or brokers and much more. MQTTBox is a cross platform application available on Linux, MAC and Windows.
For this course the MQTT clients is handy tool to monitor the traffic and send messages to the broker. MQTT clients allows:
- Connect to multiple MQTT brokers with TCP or Web Sockets
- Connect with wide range of MQTT client connection settings
- Publish/Subscribe to multiple topics
- Supports Single Level(+) and Multilevel(#) subscription to topics
- Copy/Republish payload
- History of published/subscribed messages for each topic
Getting Started
Where to buy?
IoT kits are produced and sold by Estonian company ITT Group.
IoT Basic kit: https://www.ittgroup.ee/en/robotic-kits/1088-iot-homelab-basic-kit.html
IoT Add on kit: https://www.ittgroup.ee/en/robotic-kits/1089-iot-homelab-add-on-kit.html