86 lines
1.7 KiB
Python
86 lines
1.7 KiB
Python
'''
|
|
____ ___ _ _ _
|
|
/ ___| / _ \| | (_) |_ ___
|
|
\___ \| | | | | | | __/ _ \
|
|
___) | |_| | |___| | || __/
|
|
|____/ \__\_\_____|_|\__\___|
|
|
|
|
Script to create a sqlite database
|
|
/usr/bin/python3 /var/www/moduleair_pro_4g/sqlite/create_db.py
|
|
|
|
in case of readonly error:
|
|
sudo chmod 777 /var/www/moduleair_pro_4g/sqlite/sensors.db
|
|
'''
|
|
|
|
import sqlite3
|
|
|
|
# Connect to (or create if not existent) the database
|
|
conn = sqlite3.connect("/var/www/moduleair_pro_4g/sqlite/sensors.db")
|
|
cursor = conn.cursor()
|
|
|
|
# Create a table timer
|
|
cursor.execute("""
|
|
CREATE TABLE IF NOT EXISTS timestamp_table (
|
|
id INTEGER PRIMARY KEY CHECK (id = 1), -- Enforce single row by using fixed ID
|
|
last_updated DATETIME NOT NULL
|
|
)
|
|
""")
|
|
cursor.execute("""
|
|
INSERT INTO timestamp_table (id, last_updated) VALUES (1, CURRENT_TIMESTAMP);
|
|
""")
|
|
|
|
|
|
# Create a table NPM
|
|
cursor.execute("""
|
|
CREATE TABLE IF NOT EXISTS data_NPM (
|
|
timestamp TEXT,
|
|
PM1 REAL,
|
|
PM25 REAL,
|
|
PM10 REAL,
|
|
temp_npm REAL,
|
|
hum_npm REAL
|
|
)
|
|
""")
|
|
|
|
# Create a table BME280
|
|
cursor.execute("""
|
|
CREATE TABLE IF NOT EXISTS data_BME280 (
|
|
timestamp TEXT,
|
|
temperature REAL,
|
|
humidity REAL,
|
|
pressure REAL
|
|
)
|
|
""")
|
|
|
|
# Create a table cairsens
|
|
cursor.execute("""
|
|
CREATE TABLE IF NOT EXISTS data_envea (
|
|
timestamp TEXT,
|
|
no2 REAL,
|
|
h2s REAL,
|
|
nh3 REAL,
|
|
co REAL,
|
|
o3 REAL
|
|
)
|
|
""")
|
|
|
|
# Create a table NPM_5ch
|
|
cursor.execute("""
|
|
CREATE TABLE IF NOT EXISTS data_NPM_5channels (
|
|
timestamp TEXT,
|
|
PM_ch1 INTEGER,
|
|
PM_ch2 INTEGER,
|
|
PM_ch3 INTEGER,
|
|
PM_ch4 INTEGER,
|
|
PM_ch5 INTEGER
|
|
)
|
|
""")
|
|
|
|
|
|
|
|
# Commit and close the connection
|
|
conn.commit()
|
|
conn.close()
|
|
|
|
print("Database and table created successfully!")
|