Sikkepitje.nl

Sikkepitje.nl

this private cloud

Temperatuurbewaking

Temperatuurbewaking is een project om de temperatuur in de serverruimte te meten bij mijn werkgever, Bonhoeffercollege in Castricum. De aktuele temperatuur wordt weergegeven op de temperatuur-webpagina.

Temperatuurbewaking v1.0

Versie 1 maakt gebruik van een temperatuursensor met i2C interface, de LM75, en een aansluiting aan de parallelle poort van een server. Fysiek is het niets meer dan een printerpoortconnector en een printplaatje aan een stekker. Op de server met Windows Server 2003 besturingssysteem werd op het bureaublad een (Windows) Delphi-programma uitgevoerd die de sensor uitlas. Niet echt een nette oplossing voor een server. Alle details hierover zijn te vinden op de I2C op parallelle poort-pagina.

i2c-lpt-schema-v2 lm75-25p1

Temperatuurbewaking v2.0

Versie 2 gebruikt dezelfde temperatuursensor in combinatie met een Arduino. De Arduino leest de temperatuursensor via de I2C-interface en biedt een seriele interface via een USB-aansluiting. De noodzaak voor v2.0 was het gebrek aan een parallelle poort op een nieuwe server, en een nieuwe opzet voor de bewakingsoftware. Eisen aan de nieuwe temperatuurbewaking waren :

  • draait op Linux, want ik had een Linuxserver beschikbaar
  • stuurt SMS en e-mail alarms wanneer de temperatuur boven een grenswaarde uitkomt.
  • heeft een seriele of USB-aansluiting.

Op de server draait een Python-programma in een cronjob , die elke seconde de sensor uitleest en bepaalt of er een alarm moet worden afgegeven via e-mail. Het script stuurt ook SMS-alarms via e-mail.

Een latere versie gebruikt het Munin-framework om temperatuur weer te geven in een grafiek. Hiervoor heb ik een munin-node-plugin in Python geschreven die de sensor direct uitleest. Deze is te vinden in de MuninExchange als read_serial_temperature .

temperatuurbewaking1