Es kommt häufig vor, das man für Eclipse Plug-ins die entsprechenden Extension Points suchen muss. Die können leicht an den unterschiedlichen Icons erkannt werden. Einfach auf dem Mac CMD+Shift+A (Windows Ctrl+Alt+A) aufrufen und einen bekannte Teil eingeben, dann auf die Icons am Rande achten:
Wie kann der Plug-in Spy für UI Teile oder der Menü Syp auf dem Mac (Win) von Eclipse aufgerufen werden?
Wenn man in Eclipse sehen will, welche UI Komponenten gerade selektiert bzw. aktiv sind, kann der Plug-in Spy verwendet werden. Mit dem kann auch mit nur einen klick auf den Quellcode des jeweiligen aktiven Plug-ins zugegriffen werden. Wie kann der aber auf einem Mac aufgerufen werden (Vier Tasten gleichzeitig): fn+shift+alt+F1 (auf Windows Alt+Shift+F1)
Es erscheint dann solch ein PopUp-Dialog:
und noch ein Beispiel:
Analog dazu gibt es auch einen Spy für die Menüs, der wird mit fn+shift+alt+F2 (auf Windows Alt+Shift+F2) aufgerufen und dann ein Menüpunkt auswählen, es kommt dann z.B. dieser Dialog:
Raspberry Pi: Wie kann ein Hardware-Reset-Taster eingebaut werden?
Der Lötkolben war gerade noch heiß, deshalb noch mal eben zwei Kontakte an dem Raspberry Pi (Model B Revision 2.0, ältere Rev. haben diese Reset Logik nicht, meiner hat Rev. 7, siehe cat /proc/cpuinfo) angelötet. In der 2 Rev. des rPi kann an P6 eine Steckerleiste angelötet werden. Wenn diese beiden Kontakte über einen Taster geschlossen werden, wird ein Hardware-Reset ausgelöst. Ist evl. mal ganz hilfreich.
Hier findet Ihr die zwei P6 Lötpunkte, an denen ich die Steckerleiste angelötet haben:
Eclipse PlugIn: Wie kann Text im Konsolen Fenster ausgegeben werden?
Manchmal möchte man einfach nur Text in der Konsole ausgeben. Früher, d.h. vor Eclipse 3.0 musste man dazu eine eigene View erzeugen. Das braucht man nun nicht mehr, man kann die vorhandenen generic Log Konsole verwenden.
Aufrufen geht dann einfach so:
1 2 3 4 5 6 |
MessageConsole konsole = getKonsole("Konsole"); MessageConsoleStream out = konsole.newMessageStream(); out.println("Hallo sagt Thomas von der Konsole."); out.println("Wir schreiben einfach in die Konsole oder?"); out.println(); out.println("Ist das Cool?"); |
Hier die Methode, die die Konsole liefert bzw. erzeugt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
/** * Liefert die Log Konsole. Wenn keine Konsole vorhanden ist, wird eine neu erzeugt. * * @param konsolenName * der Name der Konsole * @return MessageConsole */ private MessageConsole getKonsole(String konsolenName) { ConsolePlugin plugin = ConsolePlugin.getDefault(); IConsoleManager konsolenManager = plugin.getConsoleManager(); IConsole[] konsolen = konsolenManager.getConsoles(); for (int i = 0; i < konsolen.length; i++) { if (konsolenName.equals(konsolen[i].getName())) { return (MessageConsole) konsolen[i]; } } // keine Konsole gefunden, dann erzeugen wir eine MessageConsole konsole = new MessageConsole(konsolenName, null); konsolenManager.addConsoles(new IConsole[] { konsole }); return konsole; } |
Wir erhalten dann folgenden Ausgabe:
Um das zu erreichen, muss noch eine neue Abhängigkeit ( org.eclipse.ui.console) (Dependencies) ergänzt werden:
Raspberry Pi: Wie kann eine automatische Scriptausführung nach einem reboot eingerichtet werden?
Wie kann ein Script automatisch nach dem reboot starten? Da gibt es mehrere Möglichkeiten. Hier die via crontab und @reboot.
Cron ist in den meisten Installationen schon enthalten. In Kali und Debian Linux mit diesen Abhängigkeiten, wie meine Mindmap zeigt: „Raspberry Pi: Wie kann eine automatische Scriptausführung nach einem reboot eingerichtet werden?“ weiterlesen
Raspberry Pi: Wie kann die Bandbreite pro Prozess mit NetHogs angezeigt werden?
Mit dem Kommandozeilenwerkzeug nethogs, das die Bandbreitennutzung nach Prozessen und Sub-Netzen gruppieren kann, bekommt man schnell einen Überblick.
Es listet die PID, den Prozessnamen, Send Bytes, Received Bytes und den ausführenden Benutzer auf.
Die Installation ist auf dem Raspberry Pi mit:
1 |
apt-get nethogs |
schnell erledigt. Das Programm hat nur die folgenden Abhängigkeiten:
„Raspberry Pi: Wie kann die Bandbreite pro Prozess mit NetHogs angezeigt werden?“ weiterlesen
Raspberry Pi: Was ist bei Kali Linux anders als im Debian?
Wer den Raspberry Pi bisher unter Debian laufen hat, wundert sich evl. über einige Unterschiede zu Kali Linux. Welche fallen zuerst auf?
Es gibt default kein raspi-config. Der Speicher der SD-Karte kann aber mit raspi-config sehr einfach expandiert werden. Deshalb ausnahmsweise ein paar Packages, die nicht von Kali stammen, wie folgt installieren mit dem root User:
1 2 3 4 5 6 7 8 9 |
apt-get update apt-get upgrade wget http://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20150706_all.deb # lua5.1 da lua5.2 nicht läuft wget http://http.us.debian.org/debian/pool/main/l/lua5.1/lua5.1_5.1.5-7.1_armel.deb wget http://http.us.debian.org/debian/pool/main/t/triggerhappy/triggerhappy_0.3.4-2_armel.deb dpkg -i triggerhappy_0.3.4-2_armel.deb dpkg -i lua5.1_5.1.5-7.1_armel.deb dpkg -i raspi-config_20150706_all.deb |
Dann gibt es unter Kali kein /boot
Verzeichnis mit den Boot Dateien. Das /boot
Verzeichnis ist dort leer. Das /boot
Verzeichnis liegt auf einer anderen Partition und zwar auf mmcblk0p1
. Deshalb ein Verzeichnis z.B. /boot-bereich anlegen und mounten. Dann können diese Dateien bearbeitet werden.
Wenn die Dateien bearbeitet wurden, einfach das Verzeichnis wieder umounten.
1 2 3 4 |
mkdir /boot-bereich mount /dev/mmcblk0p1 /boot-bereich/ nano /boot-bereich/config.txt umount /boot-bereich |
Welche Unterschiede fallen Euch auf? Gern als Kommentar.
Raspberry Pi: Wie können OpenHab Addons installiert werden?
Wie können Addons für OpenHab installiert werden?
Dazu erweitern wir erst einmal die Addons mit den Bindings. Die werden später benötigt.
1 2 3 4 5 |
cd OpenHab/addons wget https://openhab.ci.cloudbees.com/job/openHAB/lastSuccessfulBuild/artifact/distribution/target/distribution-1.6.0-SNAPSHOT-addons.zip unzip distribution-1.6.0-SNAPSHOT-addons.zip # Optional: Löschen des zip rm distribution-1.6.0-SNAPSHOT-addons.zip |
Jessie: RPI-Monitor für den Raspberry Pi installieren
Dieser Entwurf aus dem letzten Jahr, wollte ich nun auch noch veröffentlichen. Wer einen RPI-Monitor braucht:
Wie hier gut beschrieben die Version 2.6.1 installieren, da die aktuelle Version 2.9.1 unter jessie nicht läuft.
Aber auch auf der RPI-Monitor Seite wird die Installation ausführlich beschrieben.
1 2 3 4 5 |
sudo apt-get update && sudo apt-get upgrade sudo apt-get install dpkg-dev librrds-perl libhttp-daemon-perl libjson-perl libipc-sharelite-perl libfile-which-perl wget --no-check-certificate https://github.com/XavierBerger/RPi-Monitor-deb/raw/master/packages/rpimonitor_2.6-1_all.deb sudo dpkg -i rpimonitor_2.6-1_all.deb rm rpimonitor_2.6-1_all.deb |
Nun im Browser http://IP:8888/ aufrufen.
„Jessie: RPI-Monitor für den Raspberry Pi installieren“ weiterlesen
Raspberry Pi: Wardriving (Warwalking) Kismet netxml Dateien visualisieren mit Google Earth
Auswertung der netxml
Daten geht auch sehr gut mit giskismet, das die netxml
Dateien in eine SQLite Datenbank (default: wireless.dbl ) kopiert und auch GoogleEarth / KML Dateien für die Visualisierung via SQL erzeugen kann.
Installiert wird es auf dem Raspberry Pi mit: „Raspberry Pi: Wardriving (Warwalking) Kismet netxml Dateien visualisieren mit Google Earth“ weiterlesen
Raspberry Pi: GPS-Module GY-GPS6MV2 einrichten
Haben nun auch einen GPS-Empfänger (Datenblatt (pdf)) bekommen. Hier ein paar Highlights:
- Model: GY-GPS6MV2
- Power Supply Range: 3 V to 5 V
- Ceramic antenna
- EEPROM for saving the configuration data when powered off
- Backup battery
- LED signal indicator
- Antenna Size: 25 x 25 mm
- Module Size: 25 x 35 mm
- Default Baud Rate: 9600 bps
Klein und billig: „Raspberry Pi: GPS-Module GY-GPS6MV2 einrichten“ weiterlesen
OpenWrt Barrier Breaker 14.07: Wie kann Dump1090 auf einem TP-WR703N Router unter OpenWrt zum Airplanespotting installiert werden?
Hatte noch einen TP-WR703N rumliegen. Wenn dort die aktuelle Version von OpenWrt (14.07) installiert ist, geht es mit LuCI sehr schnell.
Auf die Seite System – Software gehen. Im Filter dump1090 eingeben und auf Find package
klicken. Dann unten mit klick auf Install
das fertige Package installieren.
„OpenWrt Barrier Breaker 14.07: Wie kann Dump1090 auf einem TP-WR703N Router unter OpenWrt zum Airplanespotting installiert werden?“ weiterlesen
Arduino: Wie können RFID Tags eingelesen werden?
Wie können RFID-Tags eingelesen werden?
Das geht ganz einfach mit einem Arduino Nano und ein 125 kHz EM4100 RFID card reader module (RDM630 UART) das keine 5 Euro inkl. Versand kostet.
Die Belegung des RFID-Readers:
Die PINs:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
1.Pin Definition (WEIGAND26): 2. Pin definition (TTL interface RS232 data format): P1: P1: PIN1 DATA0 PIN1 TX PIN2 DATA1 PIN2 RX PIN3 PIN3 PIN4 GND PIN4 GND PIN5 +5V(DC) PIN5 +5V(DC) P2: P2: PIN1 ANT1 PIN1 ANT1 PIN2 ANT2 PIN2 ANT2 P3: P3: PIN1 LED PIN1 LED PIN2 +5V(DC) PIN2 +5V(DC) PIN3 GND PIN3 GND |
Spec RDM630: Baud Rate: 9600bps,N,8,1, Frequenze: 125 kHz, DC 5V (+-5%), <50 mA, Empfangsbereich: 2 bis 5 cm, Checksum card 10byte Data mit XOR
So sieht der Aufbau aus:
Es sind nur 3 Verbindungen zwischen dem Arduino und dem RDM630 nötig und zwar:
1 2 3 4 5 |
Arduino Nano: D6 auf PIN 1 des RDM630 (TX) +5v auf PIN 5 des RDM630 (+5 Volt) GND auf PIN 4 des RDM630 (GND) Antenne auf P2 PIN 1 und 2 des RDM630 |
Dann folgende Software RFIDReader.ino auf den Arduino laden, die den Vorteil hat, das die serielle Konsole frei bleibt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
/* RFIDReader Beschreibung: Dieses Programm liesst RFID-Tags von Transponer ein und ueberprueft die Checksumme (XOR) und gibt die Nummer auf der Seriellen-Konsole aus wenn die Nummer erkannt wurde gefolgt von einem OK. Folgende Verbindungen sind noetig: Arduino Nano: D6 auf PIN 1 des RDM630 +5v auf PIN 5 des RDM630 (+5 Volt) GND auf PIN 4 des RDM630 (GND) Antenne auf P2 PIN 1 und 2 des RDM630 Serielle Konsole auf 57000 Baud stellen. Compile mit Arduino 1.5.8 IDE. Einstellung: Board Arduino Nano, Prozessor Arduino ATMega328, Programmer USBtinyISP Der Sketch verwendet 8.216 Bytes (26%) des Programmspeicherplatzes. Das Maximum sind 30.720 Bytes. Globale Variablen verwenden 378 Bytes (18%) des dynamischen Speichers, 1.670 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes. Dieses Programm basiert auf dem Beispielprogramm von maniacbug https://maniacbug.wordpress.com/2011/10/09/125khz-rfid-module-rdm630/ Copyright (C) 2015 Thomas Wenzlaff http://www.wenzlaff.de This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see {http://www.gnu.org/licenses/}. */ #include <SoftwareSerial.h> // Pin definitions // Specifies a function to call when an external interrupt occurs. Replaces any previous function that was attached to the interrupt. // Most Arduino boards have two external interrupts: numbers 0 (on digital pin 2) and 1 (on digital pin 3). // The Arduino Mega has an additional four: numbers 2 (pin 21), 3 (pin 20), 4 (pin 19), and 5 (pin 18). const int rfid_irq = 0; // PIN 6 ist auf dem Nano der D6 oder der Pin 9 von rechts, wenn die Stecker rechts liegen const int rfid_tx_pin = 6; // RX wird nicht benoetigt const int rfid_rx_pin = 7; // Untertrueckung von Rauschen bzw. leer Ausgaben, evl. aendern const long LEER = 16843009L; // Baud Rate zum Host PC, evl. aendern const long baudRate = 57600L; // For communication with RFID module SoftwareSerial rfid(rfid_tx_pin, rfid_rx_pin); // Indicates that a reading is now ready for processing volatile bool ready = false; // Buffer to contain the reading from the module uint8_t buffer[14]; uint8_t* buffer_at; uint8_t* buffer_end = buffer + sizeof(buffer); void rfid_read(void); void setup(void) { // Oeffnet die Serielle Verbindung zum Host PC um die Ausgabe der RFID-Tags zu sehen // Geschwindigkeit kann angepasst werden Serial.begin(baudRate); Serial.println("Starte RFID-Reader V. 1.0 von wenzlaff.info"); // Open software serial connection to RFID module pinMode(rfid_tx_pin,INPUT); // muss fest fuer das Modul auf 9600 stehen rfid.begin(9600); Serial.println("OK"); // Listen for interrupt from RFID module. Fallingfor when the pin goes from high to low. attachInterrupt(rfid_irq,rfid_read,FALLING); } void loop(void) { if ( ready ) { // Convert the buffer into a 32-bit value uint32_t result = 0; // Skip the preamble ++buffer_at; // Accumulate the checksum, starting with the first value uint8_t checksum = rfid_get_next(); // We are looking for 4 more values int i = 4; while(i--) { // Grab the next value uint8_t value = rfid_get_next(); // Add it into the result result <<= 8; result |= value; // Xor it into the checksum checksum ^= value; } // Pull out the checksum from the data uint8_t data_checksum = rfid_get_next(); // evl. die Nummer anpassen, oder die if abfrage loeschen if (result != LEER){ if ( checksum == data_checksum ){ Serial.print(result); Serial.println(" OK"); } } // We're done processing, so there is no current value ready = false; } } // Convert the next two chars in the stream into a byte and // return that uint8_t rfid_get_next(void) { // sscanf needs a 2-byte space to put the result but we // only need one byte. uint16_t result; // Working space to assemble each byte static char byte_chars[3]; // Pull out one byte from this position in the stream snprintf(byte_chars,3,"%c%c",buffer_at[0],buffer_at[1]); sscanf(byte_chars,"%x",&result); buffer_at += 2; return static_cast<uint8_t>(result); } void rfid_read(void) { // Only read in values if there is not already a value waiting to be // processed if ( ! ready ) { // Read characters into the buffer until it is full buffer_at = buffer; while ( buffer_at < buffer_end ) *buffer_at++ = rfid.read(); // Reset buffer pointer so it's easy to read out buffer_at = buffer; // Signal that the buffer has data ready ready = true; } } |
Compile mit der Arduino 1.5.8 IDE.
Einstellung in der IDE:
Board Arduino Nano, Prozessor Arduino ATMega328, Programmer USBtinyISP
Serielle Konsole auf 57000 Baud stellen
und einen RFID-Tag an die Antenne halten:

Es wird eine Reichweite von ca. 4 cm erreicht. Wenn die Antenne unter der Schreibtischplatte montiert wird, kann der RFID-Tag sicher gelesen werden, wenn der Tag oben drauf liegt (Anwesendheitskennung).
Habt ihr eine Idee, wie die Reichweite vergrößert werden kann?
Oder einen guten Anwendungsfall?
Wie kann mit der neuen Java Zeit API 1.8 ein Zeitstempel (2014-01-31_15:12:00) erzeugt werden?
Java 1.8 gibt es ja nun schon einige Zeit. Warum nicht die neue Time API verwenden?
Vorteil, die meisten Time und Date Klassen sind immutable und thread-safe. Z.B die LocalDateTime, LocalDate und DateTimeFormatter.
Hier mal ein Beispiel, um einen Zeitstempel in der Form 2014-01-31_15:12:00 zu erzeugen:
1 2 3 4 5 |
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; private static final DateTimeFormatter ZEITSTEMPEL_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH:mm:ss"); |
1 2 3 4 5 6 |
private static String getZeitstempel() { // 2014-01-31_15:12:00 LocalDateTime heute = LocalDateTime.now(); String zeitstempel = ZEITSTEMPEL_FORMAT.format(heute); return zeitstempel; } |
Vorgestern wurde eine neue Version von dump1090-mutability (1.13) für den Raspberry Pi veröffentlicht
Die neue Version von Dump1090-mutability ist in der Version 1.13 veröffentlicht worden.
Was es neues gibt, steht hier. Läuft auf dem rPi mit ca. 30% CPU Last, wie man mit htop sehen kann:
Sieht doch cool aus, oder?
Hier mal eine Auswertung der letzten Tage aus EDDV:
Wie kann mit der neuen Java 1.8 Time Api einmal am Tag um Mitternacht ein Ereignis erzeugt werden?
Wie kann mit der neuen Java 1.8 Time Api einmal am Tag um Mitternacht ein Ereignis erzeugt werden? Natürlich geht auch jeder andere Zeitpunkt, aber hier mal das Beispiel um Mitternacht:
1 2 3 4 5 6 |
// Plant die Ausführungen ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); // einmal am Tag um Mitternacht Long mitternacht = LocalDateTime.now().until(LocalDate.now().plusDays(1).atStartOfDay(), ChronoUnit.MINUTES); // und los.. scheduler.scheduleAtFixedRate(new AnzahlProTagAction(flugInfosProTag, parameter), mitternacht, 1440, TimeUnit.MINUTES); |
Hier die Beispiel Klasse.
Wichtig ist das sie von TimerTask
ableitet und die run()
Methode überschreibt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class AnzahlProTagAction extends TimerTask { private Parameter parameter; private FlugInfosProTag flugInfosProTag; public AnzahlProTagAction(FlugInfosProTag flugInfosProTag, Parameter parameter) { this.flugInfosProTag = flugInfosProTag; this.parameter = parameter; } @Override public void run() { // hier der auszuführende Code } } |
Raspberry Pi: TWFlug ermöglicht nun die Summe aller Flugzeuge am Tag via Fhem
Habe gerade eine fix für TWFlug hochgeladen, der auch eine neue Funktion hat.
Es kann jetzt in Fhem die Summe aller Flugzeuge pro Tag angezeigt werden. Wird ein Flugzeug zwei oder mehrmals am Tag empfangen, wird es nur einmal in der Summe pro Tag berücksichtigt.
Es wird einmal am Tag kurz vor Mitternacht ein Eintrag in folgender Form geschrieben:
1 |
2015-01-05_23:59:41 flugdaten summe-pro-tag: 1296 |
Fix in Time Funktion, jetzt mit neuer 1.8 Time Api, LocalDateTime …
7700 Alarm Ausgabe in Konsole
In Fhem kann dann diese Grafik ausgegeben werden:
Hier der nötige Eintrag in der twflug.cfg
Datei:
1 2 3 |
# die Grafik mit der Logdatei verbinden für die Anzahl Flugzeuge pro Tag define FlugdatenProTag_SVG SVG FileLog_Flugdaten:myFlugProTag:CURRENT attr FlugdatenProTag_SVG room Flugdaten |
Die myFlugProTag.gplot
Datei:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
/* myFlugProTag.gplot Version 1.0 vom 06.01.2015 Dieses GNU-Plot Script zeigt die Flugdaten von den empfangenen Transpondern pro Tag an. Copyright (C) 2015 Thomas Wenzlaff http://www.wenzlaff.de This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see {http://www.gnu.org/licenses/}. */ # Die Logdatei sieht wie folgt aus: # 2015-01-05_23:54:43 flugdaten anzahl: 4 # 2015-01-05_23:59:41 flugdaten summe-pro-tag: 1296 set terminal png transparent size <SIZE> crop set output '<OUT>.png' set xdata time set timefmt "%Y-%m-%d_%H:%M:%S" set xlabel " " set title 'Summe aller empfangene Flugzeuge pro Tag' set ytics set y2tics set grid ytics y2tics set ylabel "Anzahl Flugzeuge" set y2label "Anzahl Flugzeuge" #FileLog 4:summe-pro-tag\x3a:0: plot "<IN>" using 1:2 axes x1y2 title 'Summe aller Flugzeuge pro Tag' ls l2fill lw 2 with lines |
Welche Funktionen brauch ihr noch?
Raspberry Pi: Neue Version dump1090-mutability (1.10.3010.14mu-11) veröffentlicht
Wie hier beschrieben, gibt es einen neuen fork von DUMP1090. Nun ist wieder eine neue Version erschienen (1.10.3010.14mu-11).
Was ist neu?
-Es kann jetzt ein maximaler Bereich angegeben werden mit Parameter –max-range parameter
-Anzeige der Nachrichten Zeit
-Fix bei der UTC Uhr anzeige
-Fix im Info Panel
-Farbe des Flugeuges grau wenn es nicht mehr gesehen wird
-Fix beim beenden über SIGINT
-div. Fix..
Wie kann das update installiert werden?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# System aktualisieren sudo update sudo upgrade # Version downloaden wget https://github.com/mutability/dump1090/releases/download/v1.10.3010.14mu-11/dump1090-mutability_1.10.3010.14mu-11_armhf.deb # Laufenden Server stopen sudo /etc/init.d/dump1090-mutability stop # Version installieren sudo dpkg -i dump1090-mutability_1.10.3010.14mu-11_armhf.deb # Es erscheint eine Frage nach dem maximalen Bereich in nautische Meilen Eingab z.B. 200 # Checken ob der Server läuft sudo /etc/init.d/dump1090-mutability status # Ausgabe: [ ok ] dump1090-mutability is running. # Archive kann gelöscht werden rm dump1090-mutability_1.10.3010.14mu-11_armhf.deb |
Dann aufrufen der Seite im Browser mit http://rpi-adresse:port
Raspberry Pi: Einfaches steuern der Ports, Kamera, System usw. über Browser mit BerryIO V. 1.12.0
Einfaches steuern der IO Ports, Kamera, LCD, SPI, Network, Systemstatus usw. des rPi geht mit BerryIO, das in ein paar Minuten installiert ist.
Zuerst einmal ein kleiner Überblick als Mindmap:
Und nun die Installation:
1 2 3 4 5 6 7 8 9 10 11 |
# System aktualisieren sudo apt-get update sudo apt-get upgrade # Download der aktuellen Version wget -N https://raw.github.com/NeonHorizon/berryio/master/scripts/berryio_install.sh # Script ausführbar machen chmod +x berryio_install.sh # Installation starten sudo ./berryio_install.sh # Programm Hilfe aufrufen berryio help |
Ausabe der Hilfe:
1 2 3 4 |
BerryIO V1.12.0 (2014-08-02) USAGE: sudo berryio <command> [<option>] [<option>] [....] |
Es gibt auch eine Kommandozeilen API. Cool mit der Api, man kann auch alles über das Terminal abfragen und evl. scripten. Da kommt mir doch gleich eine Idee zum Fhem Server.
Aber die Gui ist auch schön.
Aufruf im Browser: http://pi-adresse
dann eingabe des Users: pi und Passwort.
Schon erscheint der Dialog:
Über das Menü können leicht die anderen Reiter angezeigt werden. Hier mal eine kleine Auswahl: „Raspberry Pi: Einfaches steuern der Ports, Kamera, System usw. über Browser mit BerryIO V. 1.12.0“ weiterlesen
Raspberry Pi: Wie kann ein neuer Mode S Decoder für RTLSDR Devices (DUMP1090 fork) dump1090-mutability installiert werden?
Der DUMP1090 Server läuft bei mir schon lange auf einem eigenen Raspberry Pi B+ ganz gut. Es gibt nun einen neuen fork von Oliver Jowett (thanks), der einige Neuerungen bzw. Erweiterungen hat. Der dump1090-mutability.
Der mutability fork braucht nicht als root laufen und enthält die FlightAware (faupt1090) Verbindung. Auch läßt er sich besser konfigurieren auch mit externen Server. Es gibt auch eine schönere GUI, mit Kreisen rund um den Standort und bessere Daten. So werden jetzt alle Flugzeuge in Summe angezeigt und auch mit Postitionsdaten. Also einige Gründe, mal umzuschwenken.
Hier mal ein Foto um Geschmack zu machen mit der Summe der Flugzeuge:
Und hier ein Foto, wenn ein Flugzeug selektiert ist mit Details:
„Raspberry Pi: Wie kann ein neuer Mode S Decoder für RTLSDR Devices (DUMP1090 fork) dump1090-mutability installiert werden?“ weiterlesen