Already some time ago I have purchased Raspberry PI zero w a small computer with WiFi connectivity and I have paid for it not more than 20 EUR together with shipping, it is small but with rich number of applications. In this case I came up with an idea to build IoT that will be logging environment at my workshop and all will be neatly displayed in Google spreadsheet.
When I was starting winter was just coming and with such device I could monitor temperature in workshop and if it drops below some certain point I will know that I have to turn on heating. Data is being written in Google spreadsheet it is possible to add Google Apps scripts and receive notifications if a certain condition is met, then you will never miss when heating has to be turned on.
To add some senses to my “Zero” device I have added to it Enviro Phat then by importing python library I was able to read temperature, light and pressure values, but it was missing humidity readings. For humidity readings I am using DHT22, which gives humidity value together with temperature value.
To give assembly some structure and protection I have decided to enclose electronics with poly-carbonate sheets. Parts was milled on my router here below from material which was laying in workshop.

For this project I have chosen to have simple protection for the electrical components stacked them in poly-carbonate layers.
This is how all looks together. One note here, initially I had difficulties with temperature readings because when Raspberry PI and Enviro Phat are stacked closely together it gives wrong temperature readings due to small proximity of pi chip. During normal operation it heats up so in normal room temperature reads about 35 C degrees, that is why it was needed to increase distance between these components and I have used middle poly-carbonate part to minimize error.

So when hardware is in place i can proceed with developing python code for the device.
In python I have written code that every 30 min reads environment variables and writes these values in google spreadsheet. To set up Envro Phat it was necessary to import its library. Details on how to do that are here. And for DHT22 have installed this library. To ensure that my script is executed with 30 min frequency I am using crontab that launches python script every 30 minutes and command for that is:
00,30 * * * * (cd ~/Environment/factory/ && python environmentLog.py)
crontab -e
- On Raspberry PI zero to python you have to add following packages.
- gspread
- oauth2client
Use command: pip install gspread oauth2client
- Configure on google side and create credentials that will be used for authentication for Google services.
- In Google spreadsheet share it with created credentials id.
#
|
Item
|
Quantity
|
Total Price, EUR
|
Details
|
1
|
Raspberry PI Zero W
|
1
|
20
|
|
2
|
DHT22
|
1
|
7
|
|
3
|
Poly-carbonate parts
|
3
|
1
|
Milled poly-carbonate parts
|
4
|
25mm Pins
|
2
|
2
|
Connecting pins length 25 mm
|
5
|
Polyurethane spacers
|
19
|
1
|
Polyurethane spacers cut from pneumatic tube 6×1
|
6
|
M3 plastic washers
|
8
|
1
|
White plastic washers.
|
7
|
M3 nuts
|
7
|
1
|
M3 nuts
|
8
|
M3 bolts
|
7
|
2
|
M3 bolts
|
9
|
Connecting wire
|
1
|
1
|
DHT22 connecting wire
|