Difference between revisions of "Raspberry Pi Environmental Monitoring"

From Michael's Information Zone
Jump to navigation Jump to search
(Created page with "==Purpose== To monitor air temperature, humidity, and air quality. ===Air Quality=== A friend sent me a Nova PM Sensor. I do not know python yet, but looking over the script...")
 
Line 20: Line 20:
 
PM2.5:  0.7 , PM10:  0.7
 
PM2.5:  0.7 , PM10:  0.7
 
</pre>
 
</pre>
However, I want the history written to a database. Configure mariadb anyway you want, if you have credentials keep them on hand.<br>
+
However, I want the history written to a database. Configure mariadb anyway you want, if you have credentials keep them on hand.
 +
<pre>
 +
create database air;
 +
create user air;
 +
grant all on air.* to 'air';
 +
use air;
 +
create table aqi (pm25 FLOAT, pm10 FLOAT, date DATETIME);
 +
select * from aqi;
 +
Empty set (0.00 sec)
 +
 
 +
insert into aqi values (2.1, 2.3, now());
 +
Query OK, 1 row affected (0.02 sec)
 +
 
 +
select * from aqi;
 +
+------+------+---------------------+
 +
| pm25 | pm10 | date                |
 +
+------+------+---------------------+
 +
|  2.1 |  2.3 | 2019-12-20 13:32:18 |
 +
+------+------+---------------------+
 +
1 row in set (0.00 sec)
 +
 
 +
</pre>
 
Now we edit the script to work with mysql<ref>https://www.w3schools.com/python/python_mysql_insert.asp</ref>
 
Now we edit the script to work with mysql<ref>https://www.w3schools.com/python/python_mysql_insert.asp</ref>

Revision as of 13:32, 20 December 2019

Purpose

To monitor air temperature, humidity, and air quality.

Air Quality

A friend sent me a Nova PM Sensor. I do not know python yet, but looking over the script that is readily available[1][2] I should be able to modify this to work for my needs.

mkdir -p /home/pi/build/air && cd /home/pi/build/air
sudo apt install git-core python-serial python-enum mariadb-server
wget -O aqi.py https://raw.githubusercontent.com/zefanja/aqi/master/python/aqi.py
echo [] > aqi.json
sed -i 's|/var/www/html/aqi.json|/home/pi/build/air/aqi.json|' aqi.py

At this point we can run the script, see output on the screen, and see the history written to the json file.

./aqi.py 
Y: 18, M: 1, D: 18, ID: 0xbc2d, CRC=OK
PM2.5:  0.0 , PM10:  0.0
PM2.5:  0.7 , PM10:  0.7
PM2.5:  0.6 , PM10:  0.6
PM2.5:  0.7 , PM10:  0.7

However, I want the history written to a database. Configure mariadb anyway you want, if you have credentials keep them on hand.

create database air;
create user air;
grant all on air.* to 'air';
use air;
create table aqi (pm25 FLOAT, pm10 FLOAT, date DATETIME);
select * from aqi;
Empty set (0.00 sec)

insert into aqi values (2.1, 2.3, now());
Query OK, 1 row affected (0.02 sec)

select * from aqi;
+------+------+---------------------+
| pm25 | pm10 | date                |
+------+------+---------------------+
|  2.1 |  2.3 | 2019-12-20 13:32:18 |
+------+------+---------------------+
1 row in set (0.00 sec)

Now we edit the script to work with mysql[3]