NS-Lamp 2021
07-05-2021
Nooit meer voor Piet Snot naar het station toe met deze intelligente IoT-lamp.
Om te voorkomen dat ik met de auto naar het station rijd (om te gaan werken) kijk ik vlak voor vertrek altijd eerst even naar deze lamp. Als de lamp rood brandt dan moet ik even in de NS-App kijken wat er aan de hand is. Is hij groen dan is alles OK en vertrekt mijn trein gewoon op tijd.
In de lamp zit een D1 Mini die mijn website pollt. Op mijn website draait een PHP-script die verbinding maakt met de server van de NS om de actuele situatie op het station op te halen.
Zowel het PHP-scipt als het script voor de D1 Mini staan op mijn Github.
De lamp is lekker groot en is gemaakt naar het industrieel model van de eerste foto. Zie hier voor de 3D-modellen (OpenScad) om hem zelf te printen.
Het Arduino-script pollt de PHP-pagina elke 4 minuten. En het PHP-script roept alleen de NS-Api aan als het overdag is. Zo roep ik de Api niet te vaak aan en krijg ik hopelijk geen klachten van de NS.
Om te voorkomen dat ik met de auto naar het station rijd (om te gaan werken) kijk ik vlak voor vertrek altijd eerst even naar deze lamp. Als de lamp rood brandt dan moet ik even in de NS-App kijken wat er aan de hand is. Is hij groen dan is alles OK en vertrekt mijn trein gewoon op tijd.
In de lamp zit een D1 Mini die mijn website pollt. Op mijn website draait een PHP-script die verbinding maakt met de server van de NS om de actuele situatie op het station op te halen.
Zowel het PHP-scipt als het script voor de D1 Mini staan op mijn Github.
De lamp is lekker groot en is gemaakt naar het industrieel model van de eerste foto. Zie hier voor de 3D-modellen (OpenScad) om hem zelf te printen.
Het Arduino-script pollt de PHP-pagina elke 4 minuten. En het PHP-script roept alleen de NS-Api aan als het overdag is. Zo roep ik de Api niet te vaak aan en krijg ik hopelijk geen klachten van de NS.
date_default_timezone_set("Europe/Amsterdam");
$d = getdate();
$Uur = $d['hours'];
if($Uur>18 || $Uur<5) {
// 's Avonds hoef ik de status niet te weten
// Ik doe dan ook geen call naar de NS om API-calls te beperken
Uit();
}