Jag vet att det finns en massa trådar om detta men jag provar att göra en egen ändå.
Jag vill ha ut alla mina 1-wire sensorer som jag ha i mitt pannrum ut till en MySQL-databas. (eller liknande) som jag sedan skall lägga ut på min hemsida (http://www.hakansta.com)
Jag kan inget om Mysql, så jag behöver hjälp med att sätta upp allt. helst steg för steg...kan någon hjälpa mig med det?
Känns som att det är enklare och mindre jobb för min Raspberry Pi3 att lägga ut det i Databasen än att den läser och skapar och uppdaterar alla filerna varje minut, Timme och Dygn.
Jag loggar till MYSQL.
Kör ett PHP script som putter in värdena.
Detta kräver dock att du har en maskin igång som kan köra PHP.
Men det funkar fint och har gjort i 10år
Kan lägga upp php scriptet här samt hur min crontab ser ut.
Jag har en separat en gammal Windows 10-burk som jag har kopplat till Nätverket. Den tänkte jag ha som Databas, men då är frågan, Kan jag från Raspberryn lägga all data till Windowsburken och sedan hämta datan till Raspberryns webserver? Blir lite fram och tillbaka...
Jag kör min raspberry pi 3, med mysql för insamling av data från mina 4 sensorer. Jag har gjort symlänkar till de ocacheade 1wire"filerna" under /mnt/1wire à la:
sensor1 -> /mnt/1wire/uncached/10.67AC92010800/temperature
Jag använder vanliga shellscript för att lägga in data i mysql från mina 4 sensorer:
#!/bin/bash
# collect.sh Script to collect data from 1-wire sensors
# Created 29 July 2009 by Gunnar Flygt
# The sensors have soft links in the working directory
# Collect temperature for display with gnuplot
#
# This is the collector procedure
while [ $nr -le 4 ];
do
# Get the sensor ID for storing in database
sensid=`ls -l sensor$nr | awk '{ print $11 }' \
| awk 'BEGIN { FS = "/" } ; { print $5 }'`
# Get the temperature value strip whitespace
temp=`$GREP . sensor$nr | $TR -d [:space:]`
# define INSERT statement
insert="INSERT INTO measures VALUES('${sensid}',${temp},CURRENT_TIMESTAMP)"
# pollute database
`echo ${insert} | ${mysql}`
nr=$(( $nr + 1 ))
done
Och min lilla tabell för dessa värden ser ut så här:
Installera MySQL på din Raspberry Pi:
sudo apt-get update
sudo apt-get install mysql-server
Skapa en databas och tabell: Logga in på MySQL:
mysql -u root -p
Skapa en databas:
CREATE DATABASE sensor_data;
Skapa en tabell:
USE sensor_data;
CREATE TABLE readings (id INT AUTO_INCREMENT, sensor_name VARCHAR(50), value FLOAT, timestamp DATETIME, PRIMARY KEY(id));