CHICK steht für Central Host for Inflight Computing and Knowledge. Bei CHICK laufen alle Fäden zusammen.
So sendet SPRUCE jedes einzelne Foto an CHICK und CHICK speichert es ab; SAITE, ADAM und POPE leiten ihre
Messwerte an CHICK weiter und CHICK schreibt alles ganz ordentlich in eine Datenbank.
CHICK ist ein Einplatinencomputer vom Typ Raspberry Pi B+ (was übersetzt Himbeertörtchen bedeutet).
CHICK hat etliche Vorteile gegenüber einem richtigen Computer:
Mit ca. 35 Euro für CHICK und 19 Euro für eine Speicherkarte ist CHICK recht günstig und im Falle des Verlusts des Ballons ist kein teurer Supa-Dupa-Computer weg.
CHICK ist leicht. Zwei CHICKs wiegen weniger als eine Tafel Schokolade!
Im Internet gibt es jede Menge Anleitungen und Hilfen zum Raspberry Pi und zu Raspbian.
Die Programmierung in Python ist recht einfach erlernbar.
CHICK - Die Hardware
Das ist CHICK, links die Ober- und rechts die Unterseite. Weil von der Rückseite nur ein kleines bisschen interessant ist,
gibt es davon nur den interessanten Ausschnitt zu sehen. Mit dem Mauszeiger könnt Ihr die Einzelteile von CHICK untersuchen.
Zum Testen und Programmieren von CHICK können USB-Tastatur und -Maus angeschlossen werden.
Mit einem Monitor am HDMI-Anschluss (oder einem Fernseher am analogen Video-Ausgang) kann man CHICK wie einen normalen Computer bedienen.
Zum Aufspielen von System-Updates oder zur Installation von Modulen aus dem Internet lässt sich CHICK entweder mit einem Ethernet-Kabel
oder einem USB-WLAN-Dongle in ein Netzwerk integrieren.
Eine weitere Möglichkeit auf CHICK zuzugreifen ist über das Netzwerkprotokoll SSH. So kann man CHICK mit einem anderen Computer von einem beliebigen Ort kontrollieren.
i
IPS sorgt für Spannung
CHICK erwartet eine Eingangsspannung von 5,0V. Die angeschlossenen Systeme SPRUCE, ADAM und SAITE werden von CHICK mit Strom versorgt (POPE bekommt aus Gründen der Ausfallsicherheit eine eigene Stromversorgung). Auch EFA erwartet 5,0V. Solange CHICK am Boden getesetet und programmiert wird, erfolgt die Stromversorgung mit einem passenden Handyladekabel.
Dass man JACKY während des Flugs nicht an eine Steckdose anschließen kann, ist klar. JACKY muss also Batterien mitnehmen. Vier AA-Lithium-Batterien dürften über ausreichend Kapazität verfügen, um CHICK und alle angeschlossenen Geräte für die Dauer des Flugs mit Energie zu versorgen. Lithiumbatterien sind aus zwei Gründen besonders geeignet:
Sie sind bei höherer Kapazität wesentlich leichter als herkömmliche Batterien vom Typ AA.
Sie sind unempfindlicher gegen Kälte als andere Batteriearten. Bei Umgebungstemperaturen bis -70°C ist dies ein wichtiger Aspekt.
AA-Batterien haben eine Spannung von 1,5V, vier davon in Serie geschaltet liefern also 6,0V. Damit haben wir ein Problem: CHICK will nämlich nur 5,0V. Und wenn die Batteriespannung nach einiger Zeit auf unter 1,25V gesunken ist, ist die Spannung für CHICK zu niedrig.
Zwischen CHICK und den Batterien ist also ein Baustein erforderlich, der die Versorgungsspannung für CHICK konstant bei 5,0V hält. Diese Aufgabe soll IPS - Inflight Power Supply - übernehmen.
IPS ist ein Spannungswandler vom Typ Pololu S18V20F5.
Der GPIO-Anschluss
GPIO steht für General Purpose Input/Output. Die Funktionalität der meisten Pins ist also frei programmierbar.
Hier werden alle Messgeräte angeschlossen, die JACKY mitnimmt. Wie genau jedes einzelne Messgerät angeschlossen
wird, seht Ihr auf der jeweiligen Seite von ADAM, SAITE und POPE. Die Belegung der einzelnen Pins könnt
Ihr dem nebenstehenden Schema entnehmen.
CHICK - Die Software
CHICK läuft mit dem Betriebssystem Raspbian. Raspbian ist eine Linux-Art auf Debian-Basis.
Wenn man ohne SSH-Verbindung direkt an CHICK arbeitet, steht sogar eine grafische Benutzeroberfläche (Graphical User Interface - GUI) zur Verfügung
ähnlich der von Windows oder OS X. Das GUI von Raspbian heißt LXDE.
Über die SSH-Verbindung kann man nur in der Konsole arbeiten, d.h. jeder Befehl muss eingetippt werden,
und man erhält lediglich Buchstaben oder Zahlen als Rückmeldung. Das hört sich umständlich an,
ist aber nach einiger Zeit recht einfach.
Die Programmierung erfolgt mit Python. Python ist eine Scriptsprache, die fest in Raspbian integriert ist.
Namenspate für die Programmiersprache ist die britische Komikergruppe Monthy Python.
Damit CHICK dazu gebracht werden kann all das zu tun, was während des Ballonflugs vorgesehen ist, büffelt der TNA bei der CodecademyPython.
mySQL - Hä?
mySQL ist das Datenbankmanagementsystem, das alle Messwerte von SAITE, ADAM und POPE in eine Datenbank schreibt.
Und mit dem die Messwerte nach dem Flug wieder ausgelesen werden. In einer Datenbank sollen größere Mengen an Daten (eigentlich nur Buchstaben und Zahlen) effizient, widerspruchsfrei und dauerhaft gespeichhert werden.
mySQL verwaltet relationale Datenbanken, das heißt, alle Daten werden in Zeilen von Tabellen abgespeichert. Das soll schnell und speichersparend (effizient) und so geschehen,
dass alle erfassten Messwerte nach dem Abschalten von CHICK (oder nach einem Ausfall) noch vorhanden sind (dauerhaft). Wichtig ist auch, dass alle Messwerte so abgelegt sind, dass man sie eindeutig wieder auslesen kann; es soll ja nicht sein,
dass man zu CHICK sagt Gib mir den Umgebungsdruck im 1.235. Messdurchgang! und CHICK hüstelt und antwortet: Tja, also, da hätten wir jetzt mehrere Möglichkeiten.... Die Daten müssen daher widerspruchsfrei abgelegt werden.
Die von SPRUCE geschossenen Fotos werden nicht in der Datenbank gespeichert, sehr wohl aber für jeden Messdurchgang der Dateiname des jeweligen Fotos.
Zur Installation von mySQL auf CHICK werden nach einander folgende Zeilen eingegeben:
sudo apt-get install mysql-server
sudo apt-get install python-mysqldb
Damit sind sowohl mySQL selbst als auch eine mySQL-Python-Bibliothek auf CHICK installiert.
Technische Daten und Links
BSP-Bezeichnung
CHICK
Central Host for Inflight Computing and Knowledge
Handelsname
Raspberry Pi B+
CPU
Broadcom BCM2835 ARM11 700Mhz
Speicher
512MB RAM
32GB auf microSD Karte
Betriebssystem
Raspbian
ein LINUX-System auf Debian-Basis, speziell für den Raspberry Pi
Ein- und Ausgänge
Video: HDMI und analog 3,5mm Klinke (zusammen mit Audio)
Audio: 3,5mm Klinke (zusammen mit analog Video)
Netzwerk: 10/100MB Ethernet
Erweiterungsmöglichkeiten: 4 x USB 2.0
Daten-I/O: GPIO (40 Pins)
Kartenslot: microSD
Sonstiges: Anschluss für Raspberry Pi Camera Module und für Display
Stromversorgung: Micro-USB 5,0V 2,0A