StratoPi: Weerballon naar de stratosfeer met een Raspberry Pi

Doelstelling

Dit project is bij uitstek geschikt voor mensen met een passie voor computing, Raspberry Pi's, ruimtevaart en vliegen die over voldoende vrije tijd beschikken. De beoogde hoogte is 100.000 voet (30.480 meter).

StratoPi is volledig open source en wordt door de community ontwikkeld. Het is een puur hobbyproject zonder commerciële drijfveren; alle onderdelen zijn tegen detailhandelsprijzen aangeschaft. De initiatiefnemer heeft voornamelijk ervaring als oprichter van Elastic Byte en als DevOps Engineer, waardoor dit project persoonlijk onontgonnen terrein is.

Onderdelen

Raadpleeg de volledige onderdelenlijst voor een overzicht van het gebruikte materiaal.

Legaliteit en FAA-regelgeving

Volgens de website Strato Flights is goedkeuring van de Federal Aviation Administration (FAA) vereist. Wetten en regelgeving kunnen op elk moment aanzienlijk wijzigen vanwege recente ontwikkelingen rondom spionnageballonnen.

Zie voor meer informatie:

  • https://eclipse.montana.edu/education/engineering-course/eng-lesson09-faaregs.pdf
  • https://www.ecfr.gov/current/title-14/chapter-I/subchapter-F/part-101
  • https://www.ecfr.gov/current/title-14/chapter-I/subchapter-C/part-48
  • https://www.cbsnews.com/news/military-tracking-balloon-western-us-military/

Softwarearchitectuur

Alle software is geschreven in Python 3 met gebruik van standaard PyPI-pakketten. Het patroon van elke applicatie is in essentie: gegevens ophalen (pollen) en deze vervolgens invoegen in PostgreSQL. De enige uitzondering is de communicatie-applicatie, die via pg_notify luistert naar gegevens uit PostgreSQL en deze via draadloze netwerken doorstuurt naar Slack.

Hoewel er aanvankelijk was overwogen om elke applicatie in een Docker-container te draaien, is er gekozen voor de eenvoudigste oplossing: het gebruik van bewezen systemd-services voor elke applicatie (KISS-principe).

Applicaties

  • battery: Pollt het batterijpercentage en de batterijtemperatuur en voert deze gegevens in PostgreSQL in.
  • communication: Luistert via pg_notify naar batterij-, omgevings- en locatiegegevens uit PostgreSQL en verzendt deze via draadloze netwerken naar Slack.
  • environmental: Pollt de Bosch BME280-sensor en de CPU-temperatuur van de Raspberry Pi, en voert deze gegevens in PostgreSQL in. Hiermee worden temperatuur, atmosferische druk en vochtigheid geleverd.
  • location: Pollt de Waveshare GPS en voert de gegevens in PostgreSQL in. Dit omvat datum, tijd, breedtegraad, lengtegraad, hoogte, snelheid en koers. Op basis van de koers kan ook de richting (zoals Noord, Zuidoost, etc.) worden bepaald. Daarnaast wordt de verticale snelheid per minuut automatisch berekend via een PostgreSQL-trigger.

Tests

Diverse tests zijn uitgevoerd, waaronder tests voor de camera, massa en stroomvoorziening.

Hoe kun je helpen?

Er zijn diverse manieren om bij te dragen aan het project:

  • Raadpleeg de GitHub Issues voor openstaande taken.
  • Mogelijk fysiek aansluiten bij de lancering en berging (lancering vanuit Tennessee).
  • Code review en Pull Requests voor de Python-code.
  • Aanbevelingen en optimalisaties voor onderdelen.
  • 3D-modellering en printen (voor structurele aspecten en bevestigingsmaterialen).
  • Expertise op het gebied van vluchten, ruimtevaart en fysica om te voorkomen dat belangrijke details over het hoofd worden gezien.
  • Ervaring met GIS en GPS (KML, GeoJSON, GPS Visualizer, Google Earth/Maps).
  • Videobewerking van het beeldmateriaal van de vlucht.
  • Contacten voor de aanschaf van latex ballonnen.
  • Contacten voor de levering van helium.