433 MHz draadloze temperatuur meting


DAFW

Well-known member
Lid geworden
17 augustus 2017
Berichten
292
Leeftijd
26
Afgelopen schooljaar heb ik gewerkt met 433mhz sensoren en omdat het me een interessant project lijkt heb ik besloten om op basis van sensoren draadloos alle temperaturen van al mijn aquaria op een scherm te tonen.

Op dit forum is deze manier van communiceren al afgeraden omdat dit niet beveiligd is en iedereen dus de signalen kunnen uitlezen maar ook kan verzenden.
Ik ga het toch met 433mhz sensoren doen om twee redenen 1 ik ben eigenwijs:D en 2 ik een protocol ga gebruiken om de data te verzenden en die zorgt ervoor dat alleen de data die voor de module is bedoeld door deze module wordt uitgelezen(de rest wordt dus genegeerd)

Ik zie al dat ik al een beetje te ver vooruit loop met de uitleg.
Ik ga dus door middel van 433 Mhz sensoren, 4 arduino nano's en een arduino uno of mega(ligt eraan of de uno alles trekt) de temperatuur van elk aquarium op een scherm zetten zodat dit makkelijk is uit te lezen. Een Nano en een set sensoren noem ik voor de duidelijkheid een module
De uno of mega wordt het 'centrum' en zal elke module om data gaan vragen. Dit wil ik zo gaan doen omdat de modules dan op een 9V batterij kunnen werken en ze als er niks gevraagd wordt op 'sluimerstand' kunnen worden gezet
Het centrum zal gewoon werken met een voeding maar ik zal hier wss een DS3231 bij plaatsen zodat deze na een stroomstoring weer start waar die gebleven is.

De componenten zijn nu allemaal besteld dus het zal wel even duren voordat er daadwerkelijk een werkend product is maar ik zal zo goed mogelijk proberen om jullie mee te nemen in het proces.

De totale kosten zoals het er nu naar uitziet zijn:
4 arduino nano's: €7,20
1 arduino uno: €3
5 setjes sensoren €6
DS3231 €0.65
4 9V aansluitingen €0.77
4 Temp sensoren €3.48
5 PCB's €1,15
16x2 lcd €1,68
Doosjes rond de €5?(hoeft er niet mooi uit te zien)

-----------------------------------------------------------
totaal €28.94

Totaal zal het basis project dus rond de €29 euro gaan kosten maar ik zit er al aan te denken om ook de kamer temperatuur en vochtigheid te gaan meten vanuit het centrum en ook om de lcd te vervangen voor een 5 inch lcd om processing te kunnen gebruiken.
Hierdoor loopt de prijs wel op door 23 euro voor de LCD,35 euro voor een raspberry(ik heb deze al liggen) en
1 euro voor een simpele temperatuur sensor
 
Op dit forum is deze manier van communiceren al afgeraden omdat dit niet beveiligd is en iedereen dus de signalen kunnen uitlezen maar ook kan verzenden.

Tja dan zit ik me af te vragen a wat voor zin heeft het om voor anderen deze signalen uit te lezen en b en verzenden is ook zo iets waar ik mijn vraagtekens bijzet is natuurlijk wel storings-gevoelig deze manier van doen
maar lees dat je dat al onder vangt met een protocol.
Ben benieuwd succes
 
  • Leuk
Waarderingen: DAFW
a wat voor zin heeft het om voor anderen deze signalen uit te lezen

Niet:D, van mij mogen ze best weten dat mijn aquarium 22 graden is

is natuurlijk wel storings-gevoelig deze manier van doen
Klopt dit wordt ook meegenomen in het protocol daarnaast is er ook een 'stresstest' geweest tijdens de demonstratie op school hieruit bleek dat nog werkt als er met ongeveer 4 zenders dicht bij elkaar wordt verzonden.
Ook is het gemaakt voor korte afstanden en hierdoor worden dus ook in een kleiner gebied andere signalen opgevangen.
 
Uiteraard is het eerste wat binnenkomt het laatste wat er besteld is :D
Dus alvast maar begonnen met het aansluiten en programmeren van het scherm en kan ik alvast aan de communicatie tussen de arduino en raspberry pi gaan werken

Ik hou jullie op de hoogte
 
Toch zijn er al veel moderne systemen beschikbaar nl. o.a. die van Sonoff. Met Wifi en een Timer bijvoorbeeld. Volledig gebruiksklaar. Deze apparaatjes zijn gebaseerd op een ESP 8266. Het mooie hiervan is dat, hoewel ze dus al volledig door Itead, de producent, geprogrammeerd zijn, je er ook zelf mee aan de gang kunt. Ze zijn her-programmeerbaar, ook in C. De taal die ook Arduino gebruikt. Het spul is goedkoop en ver te verkiezen boven 433 Mhz zaken.

https://nl.aliexpress.com/item/Sono...1369-4ed8-8630-89c8bfde385c&priceBeautifyAB=0
 
Ik heb het even bekeken en ik denk dat de producten van Sonoff inderdaad stabieler en daarmee beter zijn.
Maar voor dit project denk ik dat ik die stabiliteit niet nodig heb en als ik met Sonoff zou gaan werken zou ik voor de sensoren alleen al 48 euro kwijt zijn en dit ben ik aangezien ik de arduino uno en raspberry al had liggen ben ik dit nu totaal kwijt.
Uiteindelijk zal je naar mijn mening dus hetzelfde resultaat krijgen alleen dan duurder. mocht je er ook andere dingen mee willen gaan doen dan zou ik Sonoff overwegen maar dat is hier niet aan de orde.

Daarnaast heb ik al ervaring met de manier van communiceren en is het protocol al gemaakt en dat scheelt mij veel uitzoek werk.
De kosten en de tijd die ik er aan kwijt ben zorgen er samen voor dat ik dus voor de 433 Mhz verbinding heb gekozen.

Nu een update:

Mijn LCD scherm heb ik werkend gekregen en kan nu alle temperaturen die worden doorgestuurd goed weergeven, verwacht geen uitgebreide tekeningen met wijzers ik heb gewoon gekozen om de temperatuur simpel als getal te weergeven zodat ik in een opslag kan zien wat die is.
Van mijn familie krijg ik als ik weg ben af en toe de vraag of de temperatuur van een aquarium klopt en met dit in mijn achter hoofd heb ik dit ook verwerkt in het scherm en wordt het vakje van het desbetreffende aquarium rood als de temperatuur te laag of te hoog is.

Daarnaast zijn de temperatuur sensoren en de arduino nano's binnen en de volgende taak is dus om de sensoren de metingen door te laten sturen naar de nano's.

Ik hou jullie op de hoogte
 
Ook de temperatuur sensoren werken nu en ik ga met het gemiddelde van een aantal metingen werken.
Net even een test uitgevoerd en de sensoren komen vrij dicht in de buurt van mijn ouderwetse thermometers en ze geven de temperatuur dus goed weer.
Alles in elkaar gesoldeerd en nu is het wachten tot de volgende onderdelen binnen komen.

Ik hou jullie op de hoogte
 
Ik heb het even bekeken en ik denk dat de producten van Sonoff inderdaad stabieler en daarmee beter zijn.
Maar voor dit project denk ik dat ik die stabiliteit niet nodig heb en als ik met Sonoff zou gaan werken zou ik voor de sensoren alleen al 48 euro kwijt zijn en dit ben ik aangezien ik de arduino uno en raspberry al had liggen ben ik dit nu totaal kwijt.
Uiteindelijk zal je naar mijn mening dus hetzelfde resultaat krijgen alleen dan duurder. mocht je er ook andere dingen mee willen gaan doen dan zou ik Sonoff overwegen maar dat is hier niet aan de orde.

Daarnaast heb ik al ervaring met de manier van communiceren en is het protocol al gemaakt en dat scheelt mij veel uitzoek werk.
De kosten en de tijd die ik er aan kwijt ben zorgen er samen voor dat ik dus voor de 433 Mhz verbinding heb gekozen.

Nu een update:

Mijn LCD scherm heb ik werkend gekregen en kan nu alle temperaturen die worden doorgestuurd goed weergeven, verwacht geen uitgebreide tekeningen met wijzers ik heb gewoon gekozen om de temperatuur simpel als getal te weergeven zodat ik in een opslag kan zien wat die is.
Van mijn familie krijg ik als ik weg ben af en toe de vraag of de temperatuur van een aquarium klopt en met dit in mijn achter hoofd heb ik dit ook verwerkt in het scherm en wordt het vakje van het desbetreffende aquarium rood als de temperatuur te laag of te hoog is.

Daarnaast zijn de temperatuur sensoren en de arduino nano's binnen en de volgende taak is dus om de sensoren de metingen door te laten sturen naar de nano's.

Ik hou jullie op de hoogte
Sonoff is een compleet systeem van Itead. Maar je kan wel degelijk goedkoop werken met ESP8266 versies. Die dingen kosten rond een euro per stuk! Begrijp me goed, de keuze is, uiteraard, aan jou. Dit is bedoelt als tip. Juist omdat heel veel produkten, klik aan/uit bijvoorbeeld werken met 433 Mhz systemen. Ook allemaal zo met hun eigen protocollen.
 
Het project heeft een tijdje aan de kant gelegen maar heb het sinds een aantal weken toch weer opgepakt.
Het verzendprotocol werkt ondertussen en werkt met het master slave principe. de master (de uno) vraagt de data op aan een van de slave nano's, waarna deze 10 keer de temperatuur meet. Deze waarde wordt daarna weer gedeeld door 10 om zo een mooi gemiddelde te krijgen(dit is eigenlijk niet nodig). de waarde die hier uitkomt wordt in een union gezet waarna die wordt verzonden met de 433mhz zendsensor. de uno pakt dit op en zet de union om naar een float. de volgende nano wordt dan opgeroepen om zijn data op te sturen waarna het verhaal weer wordt herhaald. Zodra alle waardes binnen zijn stuurt de uno de waardes serieel door naar de raspberry pi. De raspberry pi draait nu alleen het programma processing die de waardes gewoon simpel weergeeft. Zodra het systeem perfect werkt wil ik het eventueel gaan uitbreiden met mysql en grafana zodat de visualisatie er wat beter uitziet.

Om te zorgen dat het systeem niet vastloopt als een module een aanvraag mist of als de data niet aankomt ben ik nu bezig om het systeem te testen en ervoor te zorgen dat fouten worden voorkomen.
 
Sinds maart is eigenlijk het hele idee plus de werking van het project veranderd.
Het project werkte prima met de 433 mhz modules maar doordat ik gebruik maakte van de goedkope modules was het bereik een hekel punt.

Daarom ben ik opzoek gegaan naar een betere (stabielere) manier van communiceren en die vond ik in het programma Blynk.
Dit is een programma voor IOT toepassingen waarbij je zelf verschillende programmeerboards via internet(2,4 ghz) kan verbinden.

Hiervoor heb ik verschillende NodeMCU's (soort arduino met wifi chip) aangeschaft en heb al mijn sensoren daarop aangesloten.
Doordat Blynk gratis is (tot op zeker hoogte) en super goed werkt is er veel support en ook vanuit het bedrijf wat Blynk heeft gemaakt zijn er veel voorbeeld sketches beschikbaar.

Zonder veel moeite is het mij dus gelukt om de 4 meetmodules (met de ds18b20 als meetsensor) via de bridge optie naar een hoofdmodule (DHT11,actieve buzzer en LDR) te sturen.
Deze hoofdmodule meet daarna de temperatuur en vochtigheid in de kamer (hiervoor wordt de DHT11 gebruikt) en stuurt dit daarna serieel door naar een raspberry pi met processing.
IMG_20190719_103024.jpg

Met processing heb ik een simpel beeldscherm gemaakt waarop de tijd, de datum en natuurlijk alle waardes te zien zijn.
Als de temperaturen binnen de bepaalde waardes zitten dan zijn de vakjes groen, zitten ze daarbuiten dan zijn ze rood.
Het voordeel van dit schermpje is dat je het kan bedienen door middel van een touchscreen en daarom heb ik in het programma gemaakt dat als je op het betreffende blokje drukt dat deze temperatuur dan wordt uitvergroot.
IMG_20190719_103030.jpg


De LDR wordt gebruikt als nachtdimmer. Het schermpje hangt namelijk op mijn slaapkamer en s'nachts moet het schermpje dus uit.
Met de LDR wordt er dus gemeten hoe licht het in de kamer is en zodra dit onder een bepaalde waarde komt schakelt het schermpje uit.

Het voordeel van Blynk is daarnaast dat de data via het internet gaat ofwel de data is wereldwijd met een internet verbinding in te zien.
Daarom maak ik ook gebruik van de Blynk app om zo grafieken en real time data in te kunnen zien waar ik ook ben.
IMG_20190719_102927.png

De data wordt constant doorgestuurd naar de Blynk cloud (deze cloud is open source en kan dus ook lokaal op bijv een raspberry pi worden gedraaid) en wordt hier opgeslagen.
Via de mobiele app kan je dan verschillende grafieken aanmaken die daarna de data vanuit de Blynk cloud opvragen en laten zien.
 
Mooi hoor, knap ook :thumbs:
 
  • Leuk
Waarderingen: DAFW
Tja dan zit ik me af te vragen a wat voor zin heeft het om voor anderen deze signalen uit te lezen en b en verzenden is ook zo iets waar ik mijn vraagtekens bijzet is natuurlijk wel storings-gevoelig deze manier van doen
maar lees dat je dat al onder vangt met een protocol.
Ben benieuwd succes
Dat is eenvoudig uit te leggen. Het 433 Mhz systeem wordt door veel apparaten gebruikt. De kans is niet heel groot dat een ander systeem in het jouwe gaat zitten maar het kan wel. Zodra ik bijvoorbeeld mij auto vanuit de huiskamer op slot doe gaat er een schemer (led) lamp branden die op een 433 Mhz kontakt is aangesloten...
 
Sinds maart is eigenlijk het hele idee plus de werking van het project veranderd.
Het project werkte prima met de 433 mhz modules maar doordat ik gebruik maakte van de goedkope modules was het bereik een hekel punt.

Daarom ben ik opzoek gegaan naar een betere (stabielere) manier van communiceren en die vond ik in het programma Blynk.
Dit is een programma voor IOT toepassingen waarbij je zelf verschillende programmeerboards via internet(2,4 ghz) kan verbinden.

Hiervoor heb ik verschillende NodeMCU's (soort arduino met wifi chip) aangeschaft en heb al mijn sensoren daarop aangesloten.
Doordat Blynk gratis is (tot op zeker hoogte) en super goed werkt is er veel support en ook vanuit het bedrijf wat Blynk heeft gemaakt zijn er veel voorbeeld sketches beschikbaar.

Zonder veel moeite is het mij dus gelukt om de 4 meetmodules (met de ds18b20 als meetsensor) via de bridge optie naar een hoofdmodule (DHT11,actieve buzzer en LDR) te sturen.
Deze hoofdmodule meet daarna de temperatuur en vochtigheid in de kamer (hiervoor wordt de DHT11 gebruikt) en stuurt dit daarna serieel door naar een raspberry pi met processing.
Bekijk bijlage 276577
Met processing heb ik een simpel beeldscherm gemaakt waarop de tijd, de datum en natuurlijk alle waardes te zien zijn.
Als de temperaturen binnen de bepaalde waardes zitten dan zijn de vakjes groen, zitten ze daarbuiten dan zijn ze rood.
Het voordeel van dit schermpje is dat je het kan bedienen door middel van een touchscreen en daarom heb ik in het programma gemaakt dat als je op het betreffende blokje drukt dat deze temperatuur dan wordt uitvergroot.
Bekijk bijlage 276578

De LDR wordt gebruikt als nachtdimmer. Het schermpje hangt namelijk op mijn slaapkamer en s'nachts moet het schermpje dus uit.
Met de LDR wordt er dus gemeten hoe licht het in de kamer is en zodra dit onder een bepaalde waarde komt schakelt het schermpje uit.

Het voordeel van Blynk is daarnaast dat de data via het internet gaat ofwel de data is wereldwijd met een internet verbinding in te zien.
Daarom maak ik ook gebruik van de Blynk app om zo grafieken en real time data in te kunnen zien waar ik ook ben.
Bekijk bijlage 276580
De data wordt constant doorgestuurd naar de Blynk cloud (deze cloud is open source en kan dus ook lokaal op bijv een raspberry pi worden gedraaid) en wordt hier opgeslagen.
Via de mobiele app kan je dan verschillende grafieken aanmaken die daarna de data vanuit de Blynk cloud opvragen en laten zien.
Het is heel goed mogelijk om helemaal buiten blynk om te gaan met een ESP 32 bijvoorbeeld. Daarbij, wanneer je de waarden op je telefoon app hebt staan heeft dit alleen zin wanneer je ook op afstand kan bijsturen. Wil je e.e.a. opslaan kan dat ook heel goed op een eigensysteem, je werkt immers via het internet. Zelf werk ik daarbij ook met Nextion schermen. Dat laatste om het helemaal mooi te maken...
 
Wil je e.e.a. opslaan kan dat ook heel goed op een eigensysteem
Klopt maar ik regel er ook wat lichten mee en ga het systeem uitbreiden met wat koelventilatoren(die wil ik ook handmatig aan en uit kunnen zetten).
Daarnaast staat op de planning om de raspberry pi te gebruiken als een soort memo boord voor als ik weg ben en iemand anders voor de aquaria zorgt


De nodeMCU is een boord die werkt op de ESP8266 (een oudere chip) en dus iets langzamer maar prima voor deze taak.


Dat is eenvoudig uit te leggen. Het 433 Mhz systeem wordt door veel apparaten gebruikt. De kans is niet heel groot dat een ander systeem in het jouwe gaat zitten maar het kan wel. Zodra ik bijvoorbeeld mij auto vanuit de huiskamer op slot doe gaat er een schemer (led) lamp branden die op een 433 Mhz kontakt is aangesloten...

Mijn programma werkte met een eigen protocol en selecteerde dus of de data voor hem bedoeld was, tijdens eerdere testen kwam er geen data binnen van andere apparaten dus interferentie lijkt me dus niet de hoofdoorzaak. Mijn idee is dus dat het door de goedkope zendmodules komt en dat ze te weinig zendvermogen hadden.

Mooi hoor, knap ook :thumbs:
Bedankt maar het valt mee hoor;)
 
Klopt maar ik regel er ook wat lichten mee en ga het systeem uitbreiden met wat koelventilatoren(die wil ik ook handmatig aan en uit kunnen zetten).
Daarnaast staat op de planning om de raspberry pi te gebruiken als een soort memo boord voor als ik weg ben en iemand anders voor de aquaria zorgt



De nodeMCU is een boord die werkt op de ESP8266 (een oudere chip) en dus iets langzamer maar prima voor deze taak.




Mijn programma werkte met een eigen protocol en selecteerde dus of de data voor hem bedoeld was, tijdens eerdere testen kwam er geen data binnen van andere apparaten dus interferentie lijkt me dus niet de hoofdoorzaak. Mijn idee is dus dat het door de goedkope zendmodules komt en dat ze te weinig zendvermogen hadden.


Bedankt maar het valt mee hoor;)
Deze regelt verlichting, temperatuur en mijn CO2. Op basis van een Arduino Mega en een Nextion scherm. Verder heb ik ook een Arduino Uno met Nextion die mijn bemesting dagelijks doseert.
De meters heb ik getekend met Inkscape.
IMG_20190313_120744.jpg
 
  • Leuk
Waarderingen: DAFW
Deze regelt verlichting, temperatuur en mijn CO2. Op basis van een Arduino Mega en een Nextion scherm. Verder heb ik ook een Arduino Uno met Nextion die mijn bemesting dagelijks doseert.
De meters heb ik getekend met Inkscape.
Ziet er netjes uit:petjeaf:
De bemesting is trouwens wel een goed idee, daar ga ik me eens in verdiepen.
 

Terug
Bovenaan