From 8f1f9205ac87a8a11fb1159b8d328f1378fc1c52 Mon Sep 17 00:00:00 2001 From: Calandrinon Date: Thu, 21 Apr 2022 13:15:34 +0300 Subject: [PATCH] Add a short description and a diagram --- README.md | 11 +++++++++++ rpi-dht11.png | Bin 0 -> 31172 bytes 2 files changed, 11 insertions(+) create mode 100644 rpi-dht11.png diff --git a/README.md b/README.md index b2abb57..a669c1c 100644 --- a/README.md +++ b/README.md @@ -39,3 +39,14 @@ Lectures and labs for the IoT course (also called Android-Things, like the old p ## Setup ![Setup](IMG_20220414_155744.jpg) + +## Diagram + +The setup contains a single DHT11 sensor which is supposed to obtain the temperature and the humidity of the environment. The VCC pin of the sensor is the power supply pin which is connected to the pin no. 2 on the board. The signal pin is used to obtain the temperature and humidity, while the ground pin of the sensor is connected to the 6th pin (ground) on the board. The third pin of the sensor is unused. In order to limit current, a 4.7K Ohm resistor is placed between the VCC and the signal pin. + +![Diagram](rpi-dht11.png) + +For the Python scripts used to read and stream the sensor data, the RPI.GPIO module is responsible for obtaining the sensor values, while the paho.mqtt module sends/receives messages containing the sensor values to/from a Mosquitto MQTT broker installed locally on the Raspberry Pi (hence the 127.0.0.1 IP for the broker address in the script). + +A next step would be to create a small Angular project and a plot with Plotly which would display the values visually. To subscribe to the stream of data coming from the Python script through the broker, one could use Observables. + diff --git a/rpi-dht11.png b/rpi-dht11.png new file mode 100644 index 0000000000000000000000000000000000000000..af25e03202cacce076d7364a52f7ab59c0700bae GIT binary patch literal 31172 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