Nu we WiFi hebben, willen we natuurlijk ook iets nuttigs daarmee doen. Informatie ophalen waar we iets mee kunnen. Daarom is er al de ChatGPT client. Maar als je wil weten wat het weer voor de komen de dagen wordt, of hoe druk het is onderweg naar Nunspeet, dan verwijst ChatGPT je naar andere online diensten. En hoe vervelend is het dan als je je 32- of 64-bitter op moet starten om die informatie op te halen?
Wel, daarom heb ik nog twee programma’s geschreven om deze informatie op te halen:
Weerbericht op de Electron
Verkeersinformatie op System 5
Beide diensten leveren hun informatie aan als JSON bestand. Voor wie JSON niet kent, dit is een ASCII bestandsformaat om informatie over objecten over te dragen aan andere applicaties of systemen. In tegenstelling tot XML zit er vrij weinig structuur in een JSON bestand en is er ook geen controle mogelijk zoals dat bij XML wel mogelijk is. Daar staat tegenover dat JSON over het algemeen wel wat compacter is.
Voor onze computers volstaat het om het JSON bestand in het paged RAM van de WiFi kaarten te laden en dan met behulp van zoekopdrachten de gewenste informatie uit de data te halen. Mijn programma’s laten vrij basale informatie zien, in de informatie die binnengehaald wordt staat meer informatie. Zo bevat het weerbericht ook windsnelheden, kans op regen en dat soort informatie die je gewend bent van sites als Buienradar of WeerOnline. Het zichtbaar maken van deze informatie, eventueel voorzien van enkele leuke pictogrammen, laat ik aan uw creativiteit over geachte lezer.
Ik gebruik een soort van MVC model om deze progamma's te maken. MVC staat voor:
Model: | het ophalen van de data vanaf een website of uit een database |
View: | het weergeven van de informatie op het scherm |
Controller: | het verwerken van de informatie uit het model en doorgeven aan de view |
Door nu de 'view' duidelijk gescheiden te houden van de overige twee onderdelen is het makkelijk om dit soort programma's te schrijven voor elke 8-bitter: Atom, Electron, BBC of System 5. In aparte broncode bestanden worden routines geschreven om de juiste schermmode in te stellen en de uitvoer af te handelen. Het 'model' is voor elke computer vrijwel hetzelfde. De voornaamste verschillen zitten daar in de gebruikte I/O-adressen.
Dus... Apple CarPlay kan de auto uit en de System 5 of Beeb-met-Cub kunnen op het dashboard geplaatst worden want uiteindelijk willen wij toch liever Acorn in de auto, nietwaar?