Pond[CTRL] en CORS

Vakantie! Eindelijk tijd om PondCTRL aan de nieuwe vijver (ondertussen al 1.5 jaar in bedrijf) te hangen. De vijver is kraakhelder, de vissen doen het goed en de waterwaarden zijn stabiel.

Ik liep gelijk tegen een probleem aan. In oudere browsers kon je CORS (Cross-Origin Resource Sharing) nog omzeilen. Waarom zou ik dat willen? De WiFi-module van Pond[CTRL] welke fungeert als het ‘besturingssysteem’ heeft slechts 1MB flash geheugen. Wil je gebruik maken van OTA-updates, dan hou je minder dan de helft over. De HTTPS-library neemt meer dan de helft van de beschikbare ruimte in beslag waardoor er onvoldoende ruimte overblijft voor het besturingssysteem.

En toen? Een HTTPS-app naar een HTTP-bron. Ik heb een interface geschreven. De app roept op HTTPS de interface aan. De interface, geschreven in PHP, doet dezelfde aanroep via cURL naar de HTTP-bron. Voor de app komt het antwoord van een HTTPS-bron en dus voldoet deze aan de CORS-policy van moderne browsers. De interface ondersteunt zowel GET als POST verzoeken.

En dan nog wat mooie plaatjes 😁.

Kraakhelder water. De bodem is goed zichtbaar (1.20m)
Pond[CTRL] in de nieuwe behuizing. De behuizing is voorzien van een 35mm DIN-rail en de print zit geklikt op zelfgemaakte DIN-rail / PCB klemmen. Stroomvoorziening is operationeel, sensoren zijn nog niet aangesloten.
De online app. Pond[CTRL] is weer actief 👊.