IoT Projects

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Project 1: Smart light

Controlling light over Wi-Fi from your smartphone

Hardware:
1. LED
2. 2 jumper wires (female-male)
3. Raspberry Pi
4. Device with web-browser (smartphone/laptop/…)

Description:
Run a web-server on RaspberryPi that controls RPi’s I/O devices. You can run a web server of your
own choice on RPi (i.e. Apache).

Make a simple PHP webpage with 3 control buttons:

1. ‘TURN ON’ – this should turn the LED connected to RPi ON


2. ‘TURN OFF’ – this should turn the LED connected to RPi OFF
3. ‘BLINK – LED connected to RPi should continuously blink i.e. turn on for 0.5s and turn off
for 0.5s.

You can implement the above mentioned functionality of the web page e.g. by executing a python
script ‘turnon.py’ when ‘ TURN ON’ button is pressed, where python script implements controlling
the RPi’s pins in a way that turns the LED on. Another python script can be used for implementing
turn off functionality upon respective button press, and another for blinking. Spend minimal time
implementing the webpage (PHP), design is not important, only the functionality. To implement
the GPIO controls, you can use python RPi.GPIO library (https://pypi.org/project/RPi.GPIO/).

You should be able to access the RPi webserver from your device (smartphone/laptop) by
entering RPi’s IP address in a browser.

You can choose how to implement the networking:

- Connect your device and RPi to the same WLAN, or


- Use ad-hoc Wi-Fi network hosted by RPi where RPi broadcasts its own Wi-Fi network so
that you can join it from your smartphone (bonus points).

Use jumper wires to connect LED to RPi’s unused pins of choice. Beware of LED polarity (ground
and phase).
Project 2: Intruder detection
Detect unwanted presence and sound an alarm

Hardware:
1. Distance sensor HC-SR04
2. LED
3. Jumper wires
4. RaspberryPi 2x

Software:
1. Mosquito MQTT server/broker (https://test.mosquitto.org/)

Description:
Create a setup that allows a Raspberry Pi (1) to send data to another Wi-Fi compatible board
(RaspberryPi (2)), using MQTT (Message Queuing Telemetry Transport). The sender device,
publishes a message to a broker service, which then can be subscribed to by a receiver device.

Sender device should have motion sensors connected to its GPIO and read data from the motion
sensor periodically. Once presence is detected, sender device should publish that information to
the broker. Receiver device should be subscribed to the MQTT topic on the broker and receive the
information on intruder presnet. Receiver device should then ‘raise an alarm’ by blinking the LED
(0.5on and 0.5s off) for as long as obstacle is detected by the sensor.
Project 3: Fire detection
Detect fire and visualize it on subscriber

Hardware:
1. Flame KY-026 sensor
2. Raspberry Pi
3. LED
4. Jumper wires

Software:
1. MQTT
2. Node-RED

Description:
Create a setup that allows a Raspberry Pi board to send fire sensor data to your laptop, using
either MQTT (Message Queuing Telemetry Transport). The sender device (Raspberry Pi), publishes
a message to a broker service on RaspberryPi, which then can be subscribed to by a receiver
device (MQTT client on PC) that uses Node-RED dashboard to visualize the data received (draws
a chart).

Consider using python for configuring MQTT end-nodes and consider sending data in JSON
format over MQTT for ease of visualization.
Project 5: Heartbeat monitoring
Monitor your heartbeat online

Hardware:
5. Heartbeat sensor KY-039 (https://www.arduinocircuit.com/ky-039-heartbeat-sensor-
module-with-arduino/)
6. 2 Raspberry Pi boards
7. Jumper wires

Software:
3. MQTT
4. Node-RED

Description:
Create a setup that allows an Raspberry Pi board to measure and send heartbeat data to another
Wi-Fi compatible board (RaspberryPi), using MQTT (Message Queuing Telemetry Transport). The
sender device, publishes a message to a free public MQTT broker. Receiver device is subscribed
to the aforementioned broker. Use Node-RED dashboard to visualize the data received (draw a
chart of both temperature and humidity).

Consider using python for configuring MQTT end-nodes and consider sending data in JSON
format over MQTT for ease of visualization.

You might also like