Problemen met sensornetwerk

De sensoren die op de doucheWTW zitten worden al tijden stabiel bemeten met een Raspberry PI. De tweede Raspberry die ik boven inzet heb ik tijden getest met slechts 1 sensor en ook die was stabiel. Nu ik meer sensoren aan heb gesloten loopt deze Raspberry om de haverklap vast. In sommige gevallen loopt enkel mijn meetsoftware spaak en is die herstarten voldoende. Maar ik heb ook al enkele keren meegemaakt dat de PI compleet vast loopt en ik hem volledig moet herstarten.

Ik heb voor de zekerheid het netwerk van sensoren al drastisch verkleind naar slechts 3 sensoren maar ook dit was niet de oplossing. De lengte van de bekabeling is dus niet het probleem. Ook alle aansluitingen heb ik gecontroleerd en alle aansluitingen zijn netjes gesoldeerd en geïsoleerd. Waarom deze PI dan zo vaak vast loopt is mij een raadsel.

Ik heb vandaag de code iets aangepast en uitgebreid met logging. De software schrijft nu netjes op een aantal kritieke plekken logging weg. Hieronder een een kort voorbeeldje.

[nl.mk.http.UploadTemperatures:91]: - ========================
[nl.mk.http.UploadTemperatures:92]: - Start processing sensors
[nl.mk.onewire.DS18x20:25]: - Init all DS18 sensors
[nl.mk.onewire.DS18x20:34]: - Loading sensor: 28-00000689e513
[nl.mk.onewire.DS18x20:34]: - Loading sensor: 28-00000689fcab
[nl.mk.onewire.DS18x20:34]: - Loading sensor: 28-0000065bb38b
[nl.mk.onewire.DS18x20:34]: - Loading sensor: 28-0000065bb70b
[nl.mk.onewire.DS18x20:34]: - Loading sensor: 28-0000068a319c
[nl.mk.onewire.DS18x20:34]: - Loading sensor: 28-0000068a5a41
[nl.mk.onewire.DS18x20:34]: - Loading sensor: 28-0000068a8d67
[nl.mk.onewire.DS18x20:34]: - Loading sensor: 28-0000068a9bff
[nl.mk.onewire.structure.Sensor:61]: - Reading temperature 28-00000689e513
[nl.mk.onewire.structure.Sensor:67]: - got correct temperature
[nl.mk.onewire.structure.Sensor:67]: - got correct temperature
[nl.mk.onewire.structure.Sensor:67]: - got correct temperature
[nl.mk.onewire.structure.Sensor:89]: - Measured: 26.062
[nl.mk.http.UploadTemperatures:35]: - DB: Going to send: CV_AANVOER with value: 26.062
[nl.mk.http.UploadTemperatures:61]: - OK

Ik heb de software vanochtend aangepast en de PI is, nog, niet vastgelopen. Ik houd het in de gaten. Als dit alles stabiel blijft lopen zal ik een uitgebreid artikel schrijven over hoe ik alles monitor, de data wordt opgeslagen en hoe ik daar grafieken en een dashboard van kan maken.

 

2 Reacties

  1. Marco

    RaspberryPi’s zijn en blijven heel erg gevoelig voor matige en of te kleine SD-kaarten. Persoonlijk heb ik hier ook veel problemen mee gehad en recent is er weer een Rpi met 4gb overleden. Mijn eigen Rpi met een 64gb Samsung kaartje draait al 2 jaar mega stabiel.

    Just my 2 cents 🙂

  2. Martin Kleinman (Auteur bericht)

    Mijn code update lijkt de PI stabieler te hebben gemaakt. In plaats van eenmalig aan het begin alle sensoren op te zoeken doet hij dit nu elke run. Mocht een sensor dan tijdelijk onbereikbaar zijn dan klapt de software er niet op.
    Verder zag ik in de logging vannacht ineens “Network unreachable” fouten. Blijkbaar klapt de WIFI adapter er dus om de haverklap uit. Heb nu een cron script gebouwd die elke 5 minuten controleert of de verbinding nog werkt ( ping naar de router ).

    If not dan gooit hij wlan0 down en daarna weer up. Mocht dat niet werken dan verander ik het in een sudo reboot.

Geen reacties toegestaan.