Vet inte var jag ska börja, har försökt att sätta mig in i python men min hjärna verkar vara för gammal och mosig
har fyra st pumpar som jag vill koppla till min Raspberry via ett reläkort, dessa pumpar ska dosera en gång per dygn, lämpligtvis vid midnatt enligt följande schema:
1. pump nr 1 går i t ex 10 sekunder
2.väntan i tio minuter
3. pump nr 2 går i t ex 10 sekunder
4.väntan i tio minuter
5. pump nr 3 går i t ex 10 sekunder
6.väntan i tio minuter
7. pump nr 4 går i t ex 10 sekunder
8.vänta tills nästa midnatt.
allt får gärna hoppa igång vid eventuellt strömavbrott.
Är du intresserad av styr & regler så kika på PLC:
Codesys Timers Part 7
"Due to technical problems the release of the full version of CODESYS Control for Raspberry Pi had to be shifted. The runtime is scheduled for mid of July (at the latest) with a price of 35€ per device license." http://store.codesys.com/systeme/codesy ... ry-pi.html
Men det är jättenkelt att göra i Python, gör en slinga som går 1 gång per sekund och ha en
variabel "tid" som håller reda på antalet sekunder sedan kl 00:00:00.
switch(tid) {
case 0:
Sätt på pump 1
Sätt på pump 2
case 10:
Stäng av pump 1
Stäng av pump 2
case 100:
Sätt på pump 3
case 110:
Stäng av pump 3
Det är ser inte ut att göra det efterfrågade, det är väl mer i stil med:
loop:
Vänta tills det är "midnatt"
Sätt på pump 1
Vänta 10 sek
Stäng av pump 1
Vänta 10 minuter
Sätt på pump 2
Vänta 10 sek
Stäng av pump 2
Vänta 10 minuter
Sätt på pump 3
Vänta 10 sek
Stäng av pump 3
Vänta 10 minuter
Sätt på pump 4
Vänta 10 sek
Stäng av pump 4
Gå till "loop"
Något slags PLC liknande (antingen en riktig PLC eller en PLC
programvara till t.ex en Rasp PI) fixar ju det lätt. Men även
en litet Python script gör det också. Man kan sannolikt använda
något delay funktion antingen i Python i sig eller via en OS anrop.
Nu är det ju frågan för om det viktiga är 1 gg/dygnet eller midnatt som gäller.
Själva sekvensen är enkel att programmera, en Raspberry Pi som kör Linux har en systemtimer och den kan användas.
Exakt vad kommandot är för att läsa av systemtimern vet jag inte men låta oss kalla den systime() i detta exempel. Den börjar på 0 när enheten startas.
Jag köpte ett script för webiopi, det är för bevattning och så nu behöver jag modda det från minuter till sekunder, det borde ju vara gansla enkelt. Men jag har ett problem, programvaran är för 16 kanaler så jag behöver ju något expanderkort för detta eller så får jag skriva om programvaran, vet dock inte riktigt hur jag ska göra. Ska se om jag klarar av det själv, koden är ju nästan i klarspråk känns det som och det finns vettiga föklaringar skrivna överallt som sig bör Men va fan, kanske lika bra att köpa ett kort, jag har redan två saltvattenkar igång, jag skulle kunna köra denna dosering i dessa två och inom ett år så blir nog mitt stora kar också salt så då skulle jag totalt behöva 12 kanaler ändå haha
Detta borde väl man kunna ändra på så att jag addreserar en GPIO pinne till fyra kanaler istället? För nu hämtar den väl info om expenderkort från webiopi?