[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4762: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4764: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4765: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4766: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3897)
Toon onderwerp - Temperatuur onder nul meten • nodo-domotica.nl

nodo-domotica.nl

Temperatuur onder nul meten

Hier kan gediscussieerd worden over sensoren, electronica problemen, componenten, etc.

Re: Temperatuur onder nul meten

Berichtdoor bryan241 » 30 mei 2012, 14:35

Ik heb een one wire sensor gekoppeld aan een uno met nodo_due software en wat code om de one-wire sensor uit te lezen. Ik verstuur de waarde van deze sensor naar een mega-nodo met een userevent.
Door de code wat aan te passen zet ik de waarde uit het userevent om naar een variabele. En deze wordt naar de webapp gestuurd.

Dit verhaal moet binnenkort mogelijk zijn (of iets soortgelijks) als de nieuwe software ook beschikbaar is voor op een uno/duemilanova.
tot die tijd kan het alleen als je zelf wat aanpast aan de code, of de sensor direct op een mega aansluit.

Hopelijk wordt de nieuwe software binnenkort gereleased.

Als je mijn aanpassingen interessant vind, kan ik die wel posten. Het is alleen niet zo netjes gecodeerd en ook niet zo flexibel als de nodo software...
bryan241
 
Berichten: 172
Geregistreerd: 07 jan 2012, 14:14

Re: Temperatuur onder nul meten

Berichtdoor Sjoerdp » 30 mei 2012, 15:32

Interessant! Welke one-wire sensor heb je gekocht en waar heb je die besteld? Nog meer sensoren die je op dit moment gebruikt?
Sjoerdp
 
Berichten: 106
Geregistreerd: 01 okt 2011, 17:20

Re: Temperatuur onder nul meten

Berichtdoor bryan241 » 30 mei 2012, 16:21

Ik heb de DHT22 aangeschaft via ebay.
Verder heb ik nog geen sensoren op de nodo aangesloten.
Wel nog wat sensoren op een arduino die het gas/water en elektra verbruik meten. Deze arduino is aangesloten op een nas en stuurt de data door naar de webapp, maar daar staat geen nodo software op.



Ik zoek nog een mogelijkheid om meerdere sensoren op de nodo aan te kunnen sluiten zonder dat ik pulsen mis, maar vooralsnog werkt het met tussenkomst van mijn nas ook.
bryan241
 
Berichten: 172
Geregistreerd: 07 jan 2012, 14:14

Re: Temperatuur onder nul meten

Berichtdoor DrEnergy » 31 mei 2012, 07:56

Dat is precies wat ik wil, heb momenteel een aantal DS18B20 sensoren liggen, ik wil deze graag op mijn nodo aansluiten en deze vervolgens in de webapp kunnen tonen. Zou je mij kunnen helpen om dit voor elkaar te krijgen?

Ik gebruik de Mega met koppelprint, dus hier zou ik dus volgens jou de sensoren direct op aan kunnen sluiten?

p.s. wat ook een mooie oplossing zou zijn is de jeenode, hier heb je een roomboard voor welke temperatuur, beweging en licht kan meten en draadloos kan doorsturen naar een ontvangende jeenode. Het zou natuurlijk geweldig zijn als we dit werkend kunnen krijgen voor de nodo software. Vooralsnog zou een one-wire pluging volstaan.

Tip!
Voor de mensen die nog one-wire sensoren willen bestellen, als je op de website van Maxim besteld kan je een x aantal samples bestellen, volgens mij maximaal 4 of 6, ik heb vorige keer gewoon 10 stuks besteld en erbij gezet dat het voor een project is. Dit moet dan worden goedgekeurd en dan worden ze verzonden gratis en voor niks ;).

Graag hoor ik of je me kan helpen om een aantal one-wire sensoren uit te lezen vanuit de mega en deze te laten zien in de webapp.

Alvast bedankt!
DrEnergy
 
Berichten: 145
Geregistreerd: 04 jan 2012, 09:09
Woonplaats: Dordrecht

Re: Temperatuur onder nul meten

Berichtdoor mvdbro » 31 mei 2012, 15:56

Ik heb zelf een DHT11, is volgens mij gelijk aan de DHT22. Ik weet niet of het one-wire protocol universeel is. Ik gebruik de code die als voorbeeld op de website stond waar ik de DHT11 heb gekocht. De code heb ik aangepast voor de Nodo zodat deze via de terminal wordt uitgestuurd als tekst. De DHT zit bij mij aangesloten op digital pin 7.

/*********************************************************************************************\
* dht 11 functies
\*********************************************************************************************/

#define DHT11_PIN 7 // digital port 7

void dhtread()
{
byte dht11_dat[5];
byte dht11_in;
byte i;

DDRD |= _BV(DHT11_PIN);
PORTD |= _BV(DHT11_PIN);

// start condition
// 1. pull-down i/o pin from 18ms
PORTD &= ~_BV(DHT11_PIN);
delay(18);
PORTD |= _BV(DHT11_PIN);
delayMicroseconds(40);
DDRD &= ~_BV(DHT11_PIN);
delayMicroseconds(40);

dht11_in = PIND & _BV(DHT11_PIN);
if(dht11_in)
{
sprintf(TempString,"%s","dht11 E1");
PrintTerminal(TempString);
return;
}
delayMicroseconds(80);
dht11_in = PIND & _BV(DHT11_PIN);
if(!dht11_in)
{
sprintf(TempString,"%s","dht11 E2");
PrintTerminal(TempString);
return;
}

delayMicroseconds(80);// now ready for data reception
for (i=0; i<5; i++)
dht11_dat[i] = read_dht11_dat();
DDRD |= _BV(DHT11_PIN);
PORTD |= _BV(DHT11_PIN);
byte dht11_check_sum = dht11_dat[0]+dht11_dat[1]+dht11_dat[2]+dht11_dat[3];// check check_sum
if(dht11_dat[4]!= dht11_check_sum)
{
sprintf(TempString,"%s","dht11 E3");
PrintTerminal(TempString);
}
sprintf(TempString,"%s","Humidity:");
strcat(TempString,int2str(dht11_dat[0]));
PrintTerminal(TempString);
sprintf(TempString,"%s","Temperature:");
strcat(TempString,int2str(dht11_dat[2]));
PrintTerminal(TempString);
}

byte read_dht11_dat()
{
byte i = 0;
byte result=0;
for(i=0; i< 8; i++)
{
while(!(PIND & _BV(DHT11_PIN))); // wait for 50us
delayMicroseconds(30);
if(PIND & _BV(DHT11_PIN))
result |=(1<<(7-i));
while((PIND & _BV(DHT11_PIN))); // wait '1' finish
}
return result;
}


Vervolgens heb je een call nodig om dit in een Nodo variable te stoppen. Dit heb ik nog niet gerealiseerd, maar het moet volgens mij met onderstaand commando:

ProcessEvent(AnalogInt2event(UserVar[x], value, CMD_VARIABLE_EVENT), VALUE_DIRECTION_INTERNAL, VALUE_SOURCE_VARIABLE, 0, 0);

waarbij x de variable is die je wilt gebruiken en value moet zijn ingesteld op de meetwaarde.
In mijn geval zou dat b.v. dht11_dat[0] zijn.

de code kun je opnemen in de volgende functie in het tabje userplugin:
void UserPlugin_Periodically()

Helaas draait het dan elke seconde en dat is denk ik teveel. Het lijkt me handig als de Nodo programmeurs ook een functie call maken die b.v. elke minuut draait.
mvdbro
 
Berichten: 1092
Geregistreerd: 21 okt 2011, 12:06

Re: Temperatuur onder nul meten

Berichtdoor DrEnergy » 01 jun 2012, 10:59

Ik heb zojuist ook maar alvast twee DHT11 sensoren gekocht, ik hoop dat er binnenkort een juiste plugin wordt gemaakt hiervoor. Denk dat ik voorlopig de code uit dit forum ga gebruiken.

Ben nog bezig om met Bryan te kijken wat we met het one-wire protocol kunnen doen, volgens hem neemt het alleen iets teveel tijd in beslag om de one-wire bus uit te lezen.
DrEnergy
 
Berichten: 145
Geregistreerd: 04 jan 2012, 09:09
Woonplaats: Dordrecht

Re: Temperatuur onder nul meten

Berichtdoor mvdbro » 01 jun 2012, 14:38

LETOP: Om misverstanden te voorkomen:

Dit topic is gestart als "Temperatuur onder nul meten" en ik gebruik thuis daarvoor Oregon Scientific sensoren die dat ook daadwerkelijk doen. Ik gebruik ook DHT11 sensoren om computerruimtes te bewaken (voor mijn werk). Deze hebben echter een resolutie op hele graden en een bereik van 0-50 graden celcius. DUS DE GENOEMDE DHT SENSOR MEET NIET ONDER NUL, terwijl de topic naam dit misschien doet vermoeden. Voor mijn doel was dat geen probleem, want het vriest zelden in een computerruimte.

Volgens mij is de DHT22 wel nauwkeuriger dan de DHT11, maar ik zou zo niet weten of die wel onder nul meet. Ik zie op een willekeurige websites wat specs staan, maar of die betrouwbaar zijn kan ik niet garanderen:

DHT11
======
•Ultra low cost
•3 to 5V power and I/O
•2.5mA max current use during conversion (while requesting data)
•Good for 20-80% humidity readings with 5% accuracy
•Good for 0-50°C temperature readings ±2°C accuracy
•No more than 1 Hz sampling rate (once every second)
•Body size 15.5mm x 12mm x 5.5mm
•4 pins with 0.1" spacing

DHT22
======
•Low cost
•3 to 5V power and I/O
•2.5mA max current use during conversion (while requesting data)
•Good for 0-100% humidity readings with 2-5% accuracy
•Good for -40 to 125°C temperature readings ±0.5°C accuracy
•No more than 0.5 Hz sampling rate (once every 2 seconds)
•Body size 15.1mm x 25mm x 7.7mm
•4 pins with 0.1" spacing

Het is ook inderdaad zo dat het uitlezen enige tijd kost (volgens mij zo'n 20 milliseconden). Lijkt weinig maar is in relatie tot het uitlezen van een analoge poort denk ik een stuk trager.

gr
Martinus
mvdbro
 
Berichten: 1092
Geregistreerd: 21 okt 2011, 12:06

Re: Temperatuur onder nul meten

Berichtdoor mvanschi » 20 jun 2012, 19:14

Martinus,

Ik probeer jouw Due versie om te schrijven in de bestaande versie voor de Mega 2560 maar heb problemen met het compileren. Ik heb een nieuwe tab Custom toegevoegd en de aanpassingen in Signal.ino gedaan maar bij het compileren krijg ik errors: no match for operator[] in rawsignal[0]; en een aantal declaries fouten zoals PrintChar, printValue. Ben nieuw met microprocessors dus vandaar de volgende vraag:
Heb jij toevallig de aangepaste versie voor de Mega 2560. Ik gebruik de Nodo beta r386. Zou graag de temperatuur metingen doen op mijn Mega 2560 ;)

Alvast bedankt,
--Marc
mvanschi
 
Berichten: 12
Geregistreerd: 20 jun 2012, 19:02

Re: Temperatuur onder nul meten

Berichtdoor mvdbro » 21 jun 2012, 13:01

Voor diegene die de Oregon sensoren willen gebruiken met de Node Mega r386, hier een link naar de Nodo software die ik nu gebruik met de WebApp en mijn eigen web applicaties:



Hierin zijn de volgende zaken aangepast (dit gaat wel verder dan de userplugin, maar voorlopig kan ik dit niet anders realiseren):

1) Support voor UDP send/receive op poort 514 (syslog principe). Je kunt via een syslog bericht ook nodo commando's uit laten voeren. De events worden ook gebroadcast op het locale netwerk zodat mijn eigen webapp deze kan verwerken. (let wel, broadcast adres is hardcoded op dit moment)

2) Support voor Oregon Temperatuur sensoren (THN132N) verwerking naar uservars die in de Nodo Webapp kunnen worden getoond.

3) Support voor ontvangst van Home Easy zenders. Wordt als newkaku weergegeven, maar dat is op zich geen probleem.

4) Support voor verzenden naar Home Easy (gebruikt newKaku adressen 128-143, max 16 devices). Dit is een simulatie van een handzender type 300EU. Kan helaas niet dimmen, alleen aan/uit
Voor mij geen probleem want ik heb alleen 12 aan/uit ontvangers.

5) Support voor DHT11 humidity sensor op digital pin 38. Deze komt nog niet in de webapp.

6) Nodo signaltype custom. Is mijn eigen tijdelijke oplossing om meerdere 16 bits variabelen tussen Nodo master en slave te kunnen verwerken. Ik gebruik dit nu voor mijn meterkast nodoslaaf, omdat ik nog niet zie hoe dit in de webapp zou kunnen en de Nodo Due is wat variabelen betreft te beperkt en niet compatibel met de R386 versie. Werkt dus alleen op mijn eigen app die deze waarden via UDP binnenkrijgt. Je zou dit kunnen zien op een syslog server, maar daar schiet je natuurlijk ook niet zoveel mee op.

Ik zou zeggen gebruik wat je handig lijkt, maar houdt wel rekening met nieuwe Nodo updates. Je zal alles weer opnieuw moeten aanpassen. Geen probleem als je goed bijhoudt wat je wijzigt.

Ik kan niet instaan voor de goede werking, maar bij mij draait het al wekenlang zonder issues.

gr
Martinus
mvdbro
 
Berichten: 1092
Geregistreerd: 21 okt 2011, 12:06

Re: Temperatuur onder nul meten

Berichtdoor mvanschi » 24 jun 2012, 20:38

Martinus,

Bedankt voor de code, deze werkt perfect!!
Ik ga nu verder met een windsnelheid en richtingsmeter.

Heb inmiddels het protocol bekeken en zou moeten lukken.

Nogmaals bedankt

--Marc
mvanschi
 
Berichten: 12
Geregistreerd: 20 jun 2012, 19:02

Vorige

Keer terug naar De electronica hoek

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers. en 7 gasten

cron