raspibrew.com - kode skills...?

Ja nå er det satt til C iallefall i siste build. Jeg har gode erfaringer med de sensorene.  En har gått sund. De andre jeg har viser inne 0.2C tapet ssmmen i et vsnnglass.
Hsn nenvte i en mail til meg at det andre stesjet var for å spare pinnene på pien. Det bryr ikke jeg meg om. Prøver iallefall uten

--
 
Hansenbrygg skrev:
Har kjørt en temperaturlogger på raspi en stund med 4 stk ds18b20 1wire, den ene sensoren begynte plutselig å returnere 85 grader, selv når jeg kjører gjennomsnittet av flere målinger, det skjer omtrent på 10% av målingene.

Eg har også kjørt eit par ds18b20 mot raspi i over ein månads tid eller så og der har det så langt gått greit - eg har ikkje sett noko avvikande målingar så langt.  Men dei kan vel feila desse også - som alt anna. raspien går som ei klokke.

Hansenbrygg skrev:
I tillegg varierer tempen en litt mellom sensorene, så har vært litt skeptisk, men man klarer kanskje å programmere seg ut av slike ting.

Dei varierar ein del ja men  nøyaktigheten er vel oppgitt til å vera 0.5 grader så ein får ta desimaltal med ei klype salt.  Nok for meg.
 
Hansenbrygg skrev:
Så du trenger ikke shieldene og de andre delene som er listet på http://raspibrew.com/setup/ ?

Har kjørt en temperaturlogger på raspi en stund med 4 stk ds18b20 1wire, den ene sensoren begynte plutselig å returnere 85 grader, selv når jeg kjører gjennomsnittet av flere målinger, det skjer omtrent på 10% av målingene.

I tillegg varierer tempen en litt mellom sensorene, så har vært litt skeptisk, men man klarer kanskje å programmere seg ut av slike ting.

Skulle gjerne brukt rtd pt100 sensorer, men da må man visstnok ha en digital til analog konvertering såvidt jeg har skjønt.

Uansett et skikkelig kult opplegg, fikse litt på scriptet så kan man fikse timer, delayed start for oppvarming av meskevann og automatisk stegmesking  :skitbra:

Jeg har brukt mye DS18S20, de har ikke hatt avvik i det hele tatt, men når den retunerer 85 grader har du et brudd men husker ikke i hvem av de tre lederne det var.
 
Egentlig er +-0,5*C som toleranse på temperaturmålere veldig bra. Prøv å finne lignende tall på utstyret dere bruker... I annen sammenheng måtte jeg ha utstyr til 2,5k for å få garantert toleranse på ± 0.3*C. Jeg har kontrollert flere ds18b20 opp mot dette og alle viser litt i overkant, det får meg til å tro at det er 2,5k tingen som er litt lav. Digresjon.
 
En liten oppdatering:
Nå virker PI'en slik den skal. Den er i celsius og styrer SSR. På videosnutten under prøver den manuelt å varme opp vann fra 17 til 20*C med 50% påtrykk fordelt på 2sek intervaller.
http://youtu.be/MsRRpRUwICg Om noen vil smelle opp en slik så har jeg laget en smørbrødliste. Det forutsettes egentlig ikke annet enn litt kjenskap til editoren nano og putty. Merk teksten under. Linje for linje(av det som er kommandoer) og over i putty vinduet og h.klikk med musa for å lime kommandoen inn. Trykk enter.

Kode:
    Ny Pi - Kjør disse
sudo apt-get update
sudo apt-get upgrade
sudo raspi-config
--
    Apache Server:
sudo apt-get install apache2 php5 libapache2-mod-php5
sudo service apache2 restart

--
    WebMin
sudo nano /etc/apt/sources.list
    kopier inn følgende to linjer under eksisterende(avslutt med ctrl+X og Y):
deb [url]http://download.webmin.com/download/repository [/url]sarge contrib
deb [url]http://webmin.mirror.somersettechsolutions.co.uk/repository [/url]sarge contrib
cd /
sudo wget [url]http://www.webmin.com/jcameron-key.asc
[/url]sudo apt-key add jcameron-key.asc
sudo apt-get update
sudo apt-get install webmin

--
    Statisk IP
    Statisk IP, kjør og editer:
sudo nano /etc/network/interfaces
    kopier inn følgende og endre til dine ip verdier
auto lo

iface lo inet loopback
iface eth0 inet static
   address 192.168.0.200
   netmask 255.255.255.0
   gateway 192.168.0.1


allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

--
    Klargjøre linuxkjerne for Temp Sensor DS18B20
    kople sensor slik: [url]http://www.sbprojects.com/projects/raspberrypi/ds1820connect.png
[/url]sudo modprobe w1_gpio && sudo modprobe w1_therm
sudo sh -c "echo 'w1_gpio\nw1_therm\n' >> /etc/modules"

    Installering av RasBrew
    Klaggjør som over minimum apache
    Temp på +1, gnd,pinne 6, data pinne 7
    SSR gnd pinne 6, + pinne 11
sudo apt-get install python-setuptools
sudo easy_install -U pyserial
sudo apt-get install python-smbus
sudo easy_install web.py
    Last ned sw herifra:
    [url]https://github.com/steve71/RasPiBrew [/url]
    og legg inn på web root(gjerne via webmin) 
    Editer config.xml Sensorkode og “C”(via webmin)
    Test om temp leses via termnal(bytt ut med din 28-kode):
cat /sys/bus/w1/devices/28-0000046ede5a/w1_slave
	Sett kataloger (web root) til 755 web (gjerne via webmin)
sudo bash
cd /var/www
nano /etc/init.d/raspibrew
    Kopier inn teksten hele teksten under til neste --
#! /bin/sh
# /etc/init.d/raspibrew

### BEGIN INIT INFO
# Provides:          raspibrew
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Simple script to start a program at boot
# Description:       A simple script from www.stuffaboutcode.com which will start / st$
### END INIT INFO

# If you want a command to always run, put it here

# Carry out specific functions when asked to by the system
case "$1" in
    start)
        echo "Starting RasPiBrew"
        # run application you want to start
        python /var/www/raspibrew.py
    ;;
    stop)
        echo "Stopping RasPiBrew"
        # kill application you want to stop
        killall python
        python /var/www/cleanupGPIO.py
    ;;
*)
    echo "Usage: /etc/init.d/raspibrew {start|stop}"
    exit 1
    ;;
esac

exit 0

--

sudo chmod 755 /etc/init.d/raspibrew
sudo update-rc.d raspibrew defaults
sudo /etc/init.d/raspibrew start
    Logg på med webbrowser i.p.n.r:8080

Lykke til!
 
Kult prosjekt. Ser du droppet shieldet. Hvordan koblet du så releet og sensoren til PIen?  Og hvor kommer motstanden inn i bildet?
Har selv brukt en PI og en temper USB samt hjemmesnekret kode for å grafe opp temperaturutvikling under gjæring, men dette prosjektet må jeg se nærmere på.  :)
 
SSR er koplet direkte på PI'ens utganger. Pi'en gir ut 3.3v. SSR trigger fra 3v, så det passer bra. Minus går til pinne 6 og pluss går til pinne 11.
Sensoren er koplet som vist i linken i koden. Resistoen må være der for stabile avlesingsresultater. Trenger tydeligvis å løfte spenningen litt på datainngangen da.. Jeg fant ikke 4.7k i farten så brukte 6.8k som funker like greit ser det ut som. Den har stått noen timer nå og jeg har sett litt på selve temp klokka og fått den til normale verdier til meskeklokke. Nå ser den slik ut:
4.jpg


Skulle redesignet selve webgrensesnittet litt slik at det var tilpasset 1280px bredde for å vise fint på telefoner og padder på høykant. Noen som føler seg kallet til det?

EDIT: Det er forøvrig ingen problem å logg verdier direkte til sql base "på siden" av dette systemet. Det er en enkel sak. Om man skulle ønske å ta vare på dem..
 
Hans Einar skrev:
Jeg fant ikke 4.7k i farten så brukte 6.8k som funker like greit ser det ut som.

Jeg har vert med på å måtte gå ned på motstanden, da med en DS18S20 på inngangen, med flere har det fungert uten også.
Tror motstanden var for snyltingen, da du bruker bare GND og data og VSS snylter på datalinjen.

Feiler føleren så de etter brudd i de tre lederne eller prøv annen motstand før du hiver føleren. :)
 
Har kode skills og pi. Mangler bare tid og noen ledninger, så tror jeg at jeg kommer til å teste denne jeg også

Takker for godt tips!
 
Ok, har ikke satt meg inn i hva den motstanden gjør, bare konstatert at den skal være der. Tenkte det var bedre å gå opp litt jeg da... slik generelt, mindre strømtrekk osv. Men om den feiler jeg jeg prøve med riktig. Kjøpte en pose DS18S20 i TO-92 innpakning, så lager jeg følerne selv med kombo krympesteømpe fylt med Tek7. Har funger greit det. Nøyaktige følere og koster nesten ingenting om man gjør det slik.

Har spurt om "faren" til softwaren vil se litt på å implementere flere utganger noe han visstnok holder på med. Det er egentlig spennende synes jeg. Jeg trenger iallefall en til å ha kontroll på HLT. Ellers er det en drøss av "avanserte" brygge dipedutter. Selv bruker jeg brewtroller og det fungerer greit. Men egentlig bruker jeg bare meskeprogrammet i trolleren, samt HLT kontroll. Alle verdier jeg trenger har jeg fra Beersmith og de stemmer etter hvert. Derfor ser jeg for meg at denne skal inn i en liten boks. Headless. Uten display. Med Wifi. med et par 220v kontakter på utsiden. Så styrer jeg jeg dette enkelt og galant fra tlf el padde.. Det må da være bra.
 
eirikk; Kan ikke du se litt på gui'en da. Lage den skikkelig lekker ;) Koden ligger i template katalogen..  :yes: Streva litt med å få klokka bra. Verdiene for den er slik nå(ca rundt linje 300):
Kode:
	                    //draw gauge
						var options_gauge = {
							majorTickLabel: true,
							value: 65,
							label: 'Temp',
							unitsLabel: '' + String.fromCharCode(186),
							min: 0,
							max: 100,
							majorTicks: 21,
							minorTicks: 4, // small ticks inside each major tick
							greenFrom: 62,
							greenTo: 68,
							yellowFrom: 45,
							yellowTo: 62,
							redFrom: 68,
							redTo: 100
						};
 
Om noen kan enkelt se hvordan man kan settes fast bredde til ex 1080px(det som passer til tlf padde) og klokka på toppen og grafene under?

Slik det er nå står de side om side med float slik at når vinduet blir mindre hopper klokka nederst og grafene på skrå opp til høyre..
 

Vedlegg

  • raspibrew.html
    18,5 KB · Sett: 34
1 fotek ssr trekker 7,5ma på 12v, og da kanskje rundt 28ma på 3,3v, og da er man over 50ma på 3,3v ved 2 SSR med risiko for å ødelegge raspien vil jeg tro.

Noen som vet om en enkel og rimelig måte å koble mer enn 1 SSR uten fare for å blåse 3,3volten?
 
Den skjønte jeg ikke, 7,5 mA på 12 V så blir det mye mindre med 3,3 V, kanskje ca, 2 mA.
Uansett går det greit å ha den rett på utgangen.
Tror AVR tillater 20mA på hele porten, ingen problemer med 6 stk. SSR
 
Kikker litt på prosjektet nå og vil komme med en liten advarsel. Stopp-funksjonen i init-scriptet dreper alle python-programmene som skulle komme til å kjøre på PIen, ikke bare raspibrew, men alle programmer som kjører med python. Det man burde gjøre er å finne ut pid (prosessid) og drepe denne. Enten ved å lagre pid til fil under oppstart eller ved å lete den opp ved behov (feks: ps aux | grep raspibrew.py | awk '{print $2}'). Har ikke PIen min oppe og kjøre nå, men en laptop med ubuntu som kjører mange pythonprosesser jeg ikke vil drepe hver gang jeg tar ned raspibrew.

Kode:
#! /bin/sh
# /etc/init.d/raspibrew

### BEGIN INIT INFO
# Provides:          raspibrew
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Simple script to start a program at boot
# Description:       A simple script from www.stuffaboutcode.com which will start / st$
### END INIT INFO

# If you want a command to always run, put it here

# Carry out specific functions when asked to by the system
case "$1" in
    start)
        echo "Starting RasPiBrew"
        # run application you want to start
        python /var/www/raspibrew.py
    ;;
    stop)
        echo "Stopping RasPiBrew"
        # kill application you want to stop
        killall python
        python /var/www/cleanupGPIO.py
    ;;
*)
    echo "Usage: /etc/init.d/raspibrew {start|stop}"
    exit 1
    ;;
esac

exit 0

EDIT: Hvis du bytter ut killall python med følgende linje skulle du være litt tryggere:
Kode:
ps aux |grep raspibrew.py | awk '{print $2}'| xargs kill

Merk: Utestet. Hvis du vil være på den sikre siden så kjør "ps aux|grep raspibrew.py" og se om den lister akkurat den prosessen du vil drepe.
 
Oddvar Demmo skrev:
Den skjønte jeg ikke, 7,5 mA på 12 V så blir det mye mindre med 3,3 V, kanskje ca, 2 mA.
Uansett går det greit å ha den rett på utgangen.
Tror AVR tillater 20mA på hele porten, ingen problemer med 6 stk. SSR

Regner man ikke watt = ampere*volt (7,5ma *12v = 90 milliwatt) som blir 90mw/3,3 = 27,27 milliwatt på 3,3?

Høyere ampere jo lavere volt og lavere ampere ved høyere volt?
 
Hansenbrygg skrev:
Oddvar Demmo skrev:
Den skjønte jeg ikke, 7,5 mA på 12 V så blir det mye mindre med 3,3 V, kanskje ca, 2 mA.
Uansett går det greit å ha den rett på utgangen.
Tror AVR tillater 20mA på hele porten, ingen problemer med 6 stk. SSR

Regner man ikke watt = ampere*volt (7,5ma *12v = 90 milliwatt) som blir 90mw/3,3 = 27,27 milliwatt på 3,3?

Høyere ampere jo lavere volt og lavere ampere ved høyere volt?

Nei.
Dette har vert diskutert noe her selv om det ikke hører til dette forumet.
I=U/R
Spenningen er "sjefen" den bestemmer alt :) senkes spenningen senkes strømmen, i dette tilfellen er den senket nesten til 1/4 så da senkes strømmen til 1/4, trust me i know.
 
runeni skrev:
Kikker litt på prosjektet nå og vil komme med en liten advarsel. Stopp-funksjonen i init-scriptet dreper alle python-programmene som skulle komme til å kjøre på PIen, ikke bare raspibrew, men alle programmer som kjører med python. Det man burde gjøre er å finne ut pid (prosessid) og drepe denne. Enten ved å lagre pid til fil under oppstart eller ved å lete den opp ved behov (feks: ps aux | grep raspibrew.py | awk '{print $2}'). Har ikke PIen min oppe og kjøre nå, men en laptop med ubuntu som kjører mange pythonprosesser jeg ikke vil drepe hver gang jeg tar ned raspibrew.

Kode:
#! /bin/sh
# /etc/init.d/raspibrew

### BEGIN INIT INFO
# Provides:          raspibrew
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Simple script to start a program at boot
# Description:       A simple script from www.stuffaboutcode.com which will start / st$
### END INIT INFO

# If you want a command to always run, put it here

# Carry out specific functions when asked to by the system
case "$1" in
    start)
        echo "Starting RasPiBrew"
        # run application you want to start
        python /var/www/raspibrew.py
    ;;
    stop)
        echo "Stopping RasPiBrew"
        # kill application you want to stop
        killall python
        python /var/www/cleanupGPIO.py
    ;;
*)
    echo "Usage: /etc/init.d/raspibrew {start|stop}"
    exit 1
    ;;
esac

exit 0

EDIT: Hvis du bytter ut killall python med følgende linje skulle du være litt tryggere:
Kode:
ps aux |grep raspibrew.py | awk '{print $2}'| xargs kill

Merk: Utestet. Hvis du vil være på den sikre siden så kjør "ps aux|grep raspibrew.py" og se om den lister akkurat den prosessen du vil drepe.

Så bra du titter på det. Stopp linken skal kontrollert skrue av/stenge ned hele Pi'en for å slippe å herpe kortet etter endt brygging.
Hva med å kjøre "sudo init 1" ?

--
 
Tilbake
Topp