Bouwen en programmeren van het meetstation

talen: ennl

Door: Matthijs Kooijman

Voor Meet je stad! is er een meetstation ontwikkeld, waarmee diverse zaken gemeten kunnen worden en draadloos verstuurd worden. De metingen op deze site worden hiermee verzameld. De meetstations zijn bedoeld om tijdens workshops door de deelnemers zelf gebouwd te worden, en kunnen door geïnteresseerden zelf geprogrammeerd worden.

De instructies voor het bouwen van dit meetstation kun je downloaden. Naast instructies over het bouwen van het meetstation en de weerhut om het station te beschermen, bevat het bestand ook een hoofdstuk over het programmeren van het meetstation met de Arduino-omgeving. Om dit programmeren mogelijk te maken, zijn naast de Arduino software zelf, nog een aantal bestanden nodig. De makkelijkste manier om deze te installeren is door deze zipfile te downloaden en uit te pakken in de “sketchbook” directory van Arduino. Om te zien waar je sketchbook is kun je de Arduino IDE opstarten en naar File → Preferences gaan. Na het uitpakken van de zipfile moet je de Arduino IDE opnieuw opstarten.

Deze zipfile bevat het volgende:

  • De zogenaamde "board files" voor het meetstation. Deze bestanden vertellen de Arduino IDE hoe het meetstation in elkaar zit (wat voor microcontroller er gebruikt is, hoe snel deze ingesteld staat, hoe de pinnen er op aangesloten zijn, etc.) en hoe deze geprogrammeerd moet worden. Als de board files goed geinstalleerd zijn zal in de Arduino IDE onder Tools → Board een optie "MJS meetstation" verschijnen. Deze bestanden komen in de hardware subdirectory van je sketchbook terecht. Zie ook de github pagina voor de laatste versie en historie.
  • De Arduino sketch (het programma, ook wel firmware genoemd) die er voor zorgt dat de microcontroller periodiek de sensoren gaat uitlezen, de metingen verstuurt, tussendoor in slaapstand gaat, etc. Deze sketch komt in de mjs_firmware subdirectory van je sketchbook terecht. Zie ook de github pagina voor de laatste versie en historie.
  • Een aantal Arduino libraries die gebruikt worden door de sketch en bijvoorbeeld communicatie met de GPS, radio en sensoren regelen. Welke libraries dit precies zijn staat in de broncode van de sketch. Deze libraries komen in de libraries subdirectory van je sketchbook terecht.

Naast het uitpakken van de zipfile, heb je mogelijk ook nog drivers of permissieconfiguratie voor USB-toegang nodig. Onder Linux is dit makkelijk te realiseren door het dfu-util package te installeren. Op Debian/apt-gebaseerde distributies bijvoorbeeld:

sudo apt install dfu-util

Op andere besturingssystemen is mogelijk ook wat nodig, zie deze documentatie voor details.

Je kunt de afzonderlijke onderdelen ook zelf installeren via o.a. de "Boards manager" en "Library manager" in de Arduino IDE. Dit is net wat meer werk, maar maakt het wel makkelijker om in de toekomst de laatste versie van de board files en libraries binnen te halen. Zie de github pagina van de firmware voor instructies.

Om de firmware daadwerkelijk in de microcontroller te zetten, open je de sketch in de Arduino IDE (File → Sketchbook → mjs_firmware), selecteer je "MJS meetstation" (Tools → Board) en de goede seriële poort (Tools → Port) en klik je op "Upload").

Downloads