Posts

Er worden posts getoond met het label arduino

Energiebesparing door Domotica

Afbeelding
Een van de voordelen van al deze domotica in huis is het feit dat ik nu veel meer overzicht heb over mijn energieverbruik, en daarop kan anticiperen en het kan bijstellen waar nodig. Het verloop van mijn energieverbruik ziet er normaal gesproken als volgt uit: (in oranje mijn gasverbruik, in blauw mijn electriciteitsverbruik). Gedurende de wintermaanden geeft dit een goed beeld van de grenzen van wat ik met domotica kan doen: het gasverbruik is voornamelijk afhankelijk van de buitentemperatuur. Hierbij is het verschil tussen een thuiswerkdag (linker berg) en een kantoordag goed te zien, het scheelt bijna een euro aan stookkosten. Om de kosten laag te houden, heb ik de volgende strategieën toegepast: Als ik aanwezig ben, is de temperatuur in de binnenruimtes ingesteld op 18 graden, en 21 graden in de huiskamer.  Als ik een kamer binnenkom, wordt de verwarming ingesteld op 21 graden in die kamer.  Na het verlaten van de kamer gaat deze weer terug naar 18 graden. De stereo en de ...

Automatische gordijnen

Afbeelding
  Het laatste wat in mijn huis nog niet was aangesloten aan de domotica, waren de gordijnen; in de keuken had ik al een rolgordijn van Ikea neergehangen die gekoppeld is aan mijn domotica, maar de huiskamer was nog voorzien van een ouderwetse simpele gordijnrails.  Aangezien deze inmiddels van pure ouderdom aan het bezwijken was (rollers die kapot sprongen, de bevestiging aan het plafond die loskwam), leek me dit het uitgelezen moment om over te gaan op nieuwe rails, die ook direct op afstand bestuurd konden worden. Na een kleine speurtocht op internet bleek te keus redelijk overzichtelijk: ik kon kiezen voor wat obscure Chinese producten, of een oerdegelijk Nederlands product: de Forest Shuttle. Dit systeem met een op maat gemaakte gordijnrails (zelfs in een bocht te krijgen) is het ultieme gordijnsysteem. Het was wel redelijk aan de prijs, maar aangezien dit deel uitmaakt van de vaste inrichting van het huis is dat relatief: dit systeem zal waarschijnlijk de eerste 10 jaar g...

NFC Scanner voor toegangscontrole

Afbeelding
  Deuren en Sloten Omdat ik al geruime tijd de deuropeners had geautomatiseerd, lag het voor de hand om een toegangssysteem te bouwen wat automatisch de deuren opende als een bevoegd iemand voor de deur stond. Ik heb verschillende methoden bekeken: gezichtsherkenning vingerafdrukscanner RFID en/of de opvolger, NFC Toen ik de kans kreeg om goedkoop een aantal NFC/RFID scanners aan te schaffen, ben ik met het laatste idee aan de haal gegaan. Het bleek redelijk makkelijk om zowel met Arduino als onder Python de 'tags' uit te lezen: Arduino:  Hierbij gebruik ik de Adafruit PN532 library, die zowel SPI als I2C ondersteunt; ik gebruik i2c. #include <Adafruit_PN532.h> #define PN532_IRQ   (2) #define PN532_RESET (3) Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET); void setup(void) {   nfc.begin();   uint32_t versiondata = nfc.getFirmwareVersion();   if (! versiondata) {     Serial.print("Didn't find PN53x board");     while (1); ...

Relais op afstand

Afbeelding
De i2c bus Vanuit een ander project heb ik al wat ervaring opgedaan met het gebruiken van de i2c bus; deze bus kan gebruikt worden om extra I/O poorten en sensoren aan te sluiten, zelfs op een redelijke afstand. Volgens de specificaties zou een afstand van 1 meter het maximaal haalbare zijn, maar dit is redelijk flexibel: ik heb succesvol een afstand van ruim 2 meter gebruikt. Ik heb deze bus gebruikt om vanuit een Arduino Mega een kastje aan te sluiten met daarin twee apparaten: een MCP23017 IC (16-poorts I/O expander) met daarop aangesloten een 4-voudig relais. een BMP280 sensorboard voor meting van luchtdruk en temperatuur. Voor de aansluiting met de Arduino gebruik ik 4-voudige platte telefoonkabel en RJ-12 stekkers. Op deze manier kan ik op eenvoudige wijze meer I/O aansluiten. In de Arduino code heb ik dit geregeld door de Adafruit mcp library te laden, mits er een compiler flag wordt gezet: #if defined(MCP_present) #include <Wire.h> #include "Adafruit_MCP23017.h"...

Smart meter in de revisie

Afbeelding
Slimme Meter Hoewel ik al een tijdje de slimme meter uitlas met een op ESP01 gebaseerd draadloze interface, bleef dit een een beetje een zorgenkindje: hoewel het een op Arduino gebaseerde sketch was, had ik veel moeite om het te compileren, en bovendien was het een erg gecompliceerde oplossing, die teveel mogelijkheden had voor mijn doel: ik wilde alleen de meterwaarden uitlezen via MQTT, zodat ik ze kon gebruiken in Home Assistant. Op een gegeven moment hield de interface op met werken, dus dit was het punt om schoon schip te maken. Mijn aanpak was als volgt: Een eigen interface bouwen om de seriële output van de meter te lezen. Ik had al een paar pogingen ondernomen, maar het was elke keer mislukt. De software integreren in de 'library' die ik gebouwd had voor de Arduino Mega controllers. Dit was ook al een keer gestrand op het 'blokkerende' karakter van het uitlezen van een seriële verbinding. Interface De interface bouwen bleek na wat naspeurwerk simpel te zijn: het...

Zonneschermen

Afbeelding
Omdat mijn huis een groot voorraam heeft die redelijk vrij uitzicht heeft op het oosten, is het vooral in de zomer nodig om het licht enigszins te filteren. Er zit dan ook een zonnescherm op, maar deze is erg oud en versleten. Ik heb onlangs besloten om deze te vervangen door 'screens', oprolbare buitenschermen die het licht verminderen en inkijk tegengaan. De aansturing van deze screens kan op 2 manieren: bedraad of draadloos. In Nederland is Somfy oververtegenwoordigd, en deze heeft 2 verschillende draadloze systemen, die helaas een paar nadelen hebben voor de doe-het-zelver: het is een gesloten systeem, en ze zijn moeilijk te integreren in een ander domotica-systeem. Qua prijs scheelt dit aanzienlijk: de draadloze versie is ongeveer 60 tot 100 euro duurder per screen, en de afstandsbediening is ook tamelijk duur (ca. 50 euro). Dat zou me dus tussen de € 220 en € 300 euro kosten, en dan heb ik nog niet eens gekeken naar de extra kosten om een en ander te automatiseren, d...

Smart meter

Afbeelding
Uitlezen Smart Meter Onlangs is bij mij een slimme meter geplaatst, zodat het energiebedrijf op afstand de meterstanden uit kan lezen. De huidige generatie slimme meters is standaard uitgerust met een poort, waardoor externe apparatuur kan worden aangesloten om deze meterstanden uit te lezen. Deze aansluiting wordt de 'P1' poort genoemd, het protocol wat over deze poort wordt gestuurd heet 'DSMR'. Er zijn verschillende versies van dit protocol, maar de data ligt vast in een standaard (inmiddels versie 5). Deze aansluiting levert ook +5V voeding, om eventuele randapparatuur aan te sluiten. De P1 poort levert elke seconde een nieuw 'telegram', met daarin de recente data van de meter. De relevante informatie die ik er uit haal zijn de volgende velden: actueel energieverbruik actueel energietarief actuele meterstand laag tarief actuele meterstand hoog tarief actuele meterstand gasmeter Deze waarden worden op de MQTT bus gezet, waardoor 'Home Ass...

Arduino Ethernet libraries

Afbeelding
Voor het aansluiten van Arduino controllers aan ethernet zijn diverse opties beschikbaar. De oudste is de W5100 chip, die meestal als compleet shield wordt verkocht. Dit shield is robuust, betrouwbaar, en kan gebruikt worden met de standaard Arduino 'Ethernet' library. Een relatief nieuwe optie is de ENC28J60 chip, deze is wat compacter en goedkoper, en kan gebruikt worden met diverse libraries: De UIPEthernet library De EtherCard library  Ik heb een test gedaan met alle drie de libraries, om te zien hoeveel ruimte ze gebruiken: ENJC26u50/UIPEthernet: 12k W5100/Ethernet: 1.2k ENJC26u50/EtherCard: 1.6k Hieruit bleek dat de originele W5100 met Ethernet library verreweg de minste ruimte innam, dus ik heb mijn arduino's gestandardiseerd op deze module en library.

Arduino

Afbeelding
Arduino Modules   Voor de sturing maak ik gebruik van Arduino modules, omdat deze overal verkrijgbaar zijn, goedkoop, en universeel inzetbaar. Mijn standaard module bestaat uit: Arduino Mega: de 'grote' versie, met meer geheugen, meer aansluitingen, en meer rekenkracht. Dit is nodig omdat de ethernet module al wat in- en uitgangen inpikt, en ik wat ruimte nodig heb voor flexibiliteit. Qua prijs maakt het eigenlijk niet zoveel uit... W5100 ethernetshield, de 'oude' versie, deze wordt het best ondersteund door de bestaande libraries, en is qua mogelijkheden ruim voldoende voor mijn toepassingen. PoE (Power Over Ethernet) adapter, hiermee zorg ik ervoor dat de voeding over de ethernet kabel wordt aangevoerd. DC-DC converter: deze module zorgt ervoor dat de 12 volt voeding teruggebracht wordt naar 5 volt voor de arduino. Dit is efficiënter dan de eigen voeding van de Arduino te gebruiken. Libraries Qua software gebruik ik de volgende libraries: #include...