De kender måske XAMPP installations pakke til Windows fra Bitnami. Det er forbavsende nemt at installere en lignende pakke på Ubuntu Linux.
Skriv følgende kommandoer for at download og installere:
wget https://www.apachefriends.org/xampp-files/5.6.20/xampp-linux-x64-5.6.20-0-installer.run
sudo su
chmod +x xampp-linux-x64-5.6.20-0-installer.run
./xampp-linux-x64-5.6.20-0-installer.run
Er du allerede hjemmevant i XAMPP kan du sandsynligvis springe resten over. Er du alligevel nysgerrig, lad os kigge på de forskellige knapper og deres funktioner.
Go to Application
Denne knap åbner mappen hvor dine data ligger – vigtigst htdocs. Det er mappen som indeholder dine sider som rod på din webside.
Hass.io laver din Raspberry Pi (eller en anden enhed) til den ultimative hjemmeautomatiserings server drevet af Home Assistant. Med Hass.io kan du fokusere på at integrere dine enheder og skrive automatiseringer.
I dette projekt er der brugt en digital temperatur måler tilkoblet en Raspberry PI.
I projektet er der brugt: Raspberry PI 3 DS18B20 Temperatur Sensor
Afsnit 1: Opsætning
Projektet som denne tutorial er baseret på er opsat som følgende:
1. Der skal i command prompten, indtastes:
sudo nano /boot/config.txt
så skal der i bunden af files indsættes:
dtoverlay=w1–gpio
2. Luk Nano, and genstart Pi’en
sudo reboot
3. Log ind i Pi igen, og igen i the command prompten indtastes:
sudo modprobe w1–gpio
4. indtast så:
sudo modprobe w1-therm
5. skift standard path til /sys/bus/w1/devices path’en ved at indtaste:
cd /sys/bus/w1/devices
6. tilføj så ls til listen af moduler ved at indtaste:
ls
det giver et display som skal have et formatet: 28-XXXXXXXXXXXX med X værende modulets variable identifikations værdig
7. indtast så cd 28-XXXXXXXXXXXX (skift X til værdien du har fået oplyst)
8. indtast
cat w1_slave
det promter et display en en temperaturmåling i rå data givet af sensoren, den specifikke temperatur er givet ved t=xxxxx, formatet skal ses som xx,xxx grader celsius
Afsnit 2: Automatisk måling med logfil
import os
import glob
import time
from time import *
os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')
base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'
def read_temp_raw():
f = open(device_file, 'r')
lines = f.readlines()
f.close()
return lines
def read_temp():
lines = read_temp_raw()
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw()
equals_pos = lines[1].find('t=')
if equals_pos != -1:
temp_string = lines[1][equals_pos+2:]
temp_c = int(temp_string) / 1000.0
temp_c = str(round(temp_c, 1))
return temp_c
def write_temp():
with open("/home/pi/temp.csv", "a") as log:
log.write("{0},{1}\n".format(strftime("%d-%m %H:%M"), read_temp()))
while True:
write_temp()
print(read_temp())
sleep(150)
overstående stykke kode er et python program som har funktionen at måle sensorens temperatur hvert tredje minut og derefter nedskrive det i en csv fil på en forbestemt path. målingerne har en følgende struktur:
Afsnit 3: Graf
import dash
import dash_core_components as dcc
import dash_html_components as html
import csv
import sys
with open('temp.csv') as csv_file:
reader = csv.reader(csv_file, delimiter=',')
mylist = list(reader)
x={}
y={)
z=[]
xy=[]
for i in range(len(mylist)):
f = str(mylist[i])
space = ' '
str4f = f.replace("[","").replace("]","").replace("'","").replace(",","").replace(" ","/")
x[i] = str4f[:str4f.index("/")]
y[i] = str4f[str4f.index("/")+1:str4f.rindex("/")]
z.append(float(str4f[str4f.rindex("/")+1:]))
xy.append(str4f[:str4f.index("/")] + space + str4f[str4f.index("/")+1:str4f.rindex("/")])
app = dash.Dash()
app.layout = html.Div(children=[
html.H1(children='Temperatur'),
dcc.Graph(
id='example',
figure={
'data': [
{'x': xy, 'y': z, 'type': 'line', 'name': 'Temps'},
],
'layout': {
'title': 'Temperatur målinger'
}
}
)
])
if __name__ == '__main__':
app.run_server(debug=True)
Ved brug af førnævnte csv fil, som indeholder logget data, læses værdierne. Derefter bruges kodestykket: for i in range(len(mylist)): til at konvertere strukturen af de førnævnte værdier, så de er konvertible med Dash. Dash er et python framework der er bruges til at lave grafer. Til sidst definer vi ud fra dash’ forudbestemte muligheder udseendet og lader dash danne grafen på en html side.
Arduino miljø sensor er teknologier bestående af Python og Arduino.
I dette projekt er der brugt: MKR1000 KY-028
Afsnit 1: Installation
Hvis det er første gang MKR1000 modulet bliver er i brug på din pc skal der installeres nogle drivere, det plejer Arduino IDE at prompte hvis det er åbent når forbindelsen startes.
Derefter skal der hentes et library fra package manager kaldet “Wifi101”
Afsnit 2: Wifi
Når drivere og library er sat op kan vi nu påbegynde programmerings delen.
MKR1000 bliver forbundet til SKP2.4GHz da informationen fra MKR modulet skal hentes fra en python client: