Ab jetzt werden die Mindmaps auf der Domäne kleinhirn.eu veröffentlicht.
Für das dump1090-mutability (1.13) unter Debian für den Raspberry Pi gibt es da jetzt auch eine Mindmap.
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, Statistik, Krypto und Blockchain
Ab jetzt werden die Mindmaps auf der Domäne kleinhirn.eu veröffentlicht.
Für das dump1090-mutability (1.13) unter Debian für den Raspberry Pi gibt es da jetzt auch eine Mindmap.
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; } |
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? 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 } } |
Es gibt seit ein paar Tagen wieder eine neue Version. Folgende Dinge sind neu, wie Oliver Jowett schreibt, Zitat:“
“
Habe sie nun auch erfolgreich installiert, und es läuft auf dem rPi.
Es geht ganz schnell, das Update:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# System aktualisieren sudo update sudo upgrade # Version downloaden wget https://github.com/mutability/dump1090/releases/download/v1.10.3010.14mu-12/dump1090-mutability_1.10.3010.14mu-12_armhf.deb # Optional, den laufenden Server stopen sudo /etc/init.d/dump1090-mutability stop # Version installieren sudo dpkg -i dump1090-mutability_1.10.3010.14mu-12_armhf.deb # 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-12_armhf.deb |
Quelle: Tiobe Index
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?
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
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
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
Wie kann man schnell eine mp3 Datei aufnehmen bzw. mit dem Mac erstellen?
Für die Hausautomatisation mit Fhem auf dem Raspberry Pi benötigte ich eine mp3 Datei, die dann über OpenKarotz bei jedem klingeln an der Haustür abgespielt wird.
Auf dem Mac geht das mit dem schon installierten QuickTime Player und iTunes.
1. Quick Time Player und iTunes starten
„Wie können mp3 Dateien kostenlos mit dem internen Mikrofon vom Mac (OS X) erstellt (aufgenommen) werden?“ weiterlesen
Vor einem Jahr hatte ich schon mal über QR-Codes geschrieben, wie Quick Response online erzeugt werden können.
Jetzt wolle ich mal QR-Codes mit dem Raspberry Pi selbst erstellen. Das geht auch sehr einfach. Wie?
Erste das System auf den aktuellen Stand bringen und dann das qrencode Package installieren:
1 2 3 4 |
sudo apt-get update sudo apt-get upgrade # installieren von qrencode sudo apt-get install qrencode |
Eine Mindmap der installierten Abhängikeiten:
Nun ist die Version 3.3 installiert. Wer die neuere 3.4.4 braucht, muss sie halt selbst compilieren (wget, ./configure, make, make install)
So nun wollen wir gleich mal ein paar QR-Cods generieren. Zuerst einen mit einer URL
1 |
qrencode -l H -o qr-www.wenzlaff.info.png 'http://www.wenzlaff.info' |
dabei ist der Parameter -l der Korrekturlevel ( L ~7%, M ~15%, Q ~25%, H ~30% ) und ein QR-Code mit einem Text: „Raspberry Pi: QR-Codes mit qrencode generieren“ weiterlesen
Leider ist Karotz schon jetzt gestorben.
Mit OpenKarotz lebe er nun wieder. Danke. Echt cool das Projekt. Die Anleitung ist auch super. Man braucht nur
1. den Karotz reseten
2. die neue Firmware 2.0 flashen
3. das update auf 2.1 machen und den Patch 222 einspielen
schon hat man einen über einen WEB-Browser (URL = Karotz-IP) erreichbaren Karotz. Das ist alles schön mit Fotos auf der Homepage von OpenKarotz beschrieben. Auf deutsch oder englisch kann man die Google Übersetzung unten rechts auf der Seite aktivieren.
Bei klick auf das Logo, erscheint:
Der About Reiter zeigt die aktuellen Versionen an:
Auch über Telnet kann man den Karotz erreichen mit login: openkarotz
1 |
telnet Karotz-ip |
Auch die Integration über den Homeserver Fhem, der auf einem Raspberry Pi läuft, klappt auf Anhieb. Hier gibt es eine Anleitung dazu. Einfach in der /opt/fhem/FHEM/99_myUtils.pm
die folgende Methode einfügen:
1 2 3 4 5 6 |
sub karotz(@) { my ($ip,$cmd) = @_; my $url = "http://"."$ip"."/cgi-bin/".$cmd; my $ret = GetFileFromURL($url,3,undef,1,1); return $ret; } |
oder wenn man einen nicht blockenden Aufruf für Fhem haben möchte, oben in der Perl Datei
1 |
use HttpUtils; |
und dann diese Methode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
sub karotzBefehl(@) { my ($ip,$cmd) = @_; my $url = "http://"."$ip"."/cgi-bin/".$cmd; my $hash = { url => $url, callback=>sub($$$){ Log 1,"karotz: $url\nERR:$_[1] DATA:$_[2]" }, }; my ($err, $ret) = HttpUtils_NonblockingGet($hash); if($err) { Log3 undef, $hash->{loglevel}, "karotz: $err"; return undef; } return $ret; } |
Der Aufruf kann dann für eine Ansage oder einer Ohr-Bewegung dann in der *.cfg Datei mit:
1 2 |
karotzBefehl("Karotz-IP", "tts?voice=julia&text=Telefonanruf.$name&nocache=0");;\ karotzBefehl("Karotz-IP", "ears_random");;\ |
Dann kann in der fhem.cfg
ein Eintrag in der Art:
1 2 3 |
karotz(<IP-Karoz>,"ears_random");;\ # oder nicht blockend karotzBefehl("Karotz-IP", "ears_random");;\ |
gemacht werden und schon wackelt er mit den Ohren dank OpenKarotz.
Habt Ihr noch gute Seiten zu dem Thema gefunden oder Ideen und Tips?
Wie kann mit einem iPhone automatisch eine VPN Verbindung hergestellt werden, ohne das man es immer manuell vorher anschalten muss? Also VPN on Demand mit IPSec und „schared secret“. Das ist hilfreich, wenn man in öffentlichen WLANs unterwegs ist, so wird dann immer autom. eine VPN Verbindung aufgebaut, wenn sie benötigt wird. Es wird also nicht einmal vergessen. Und schon cool, wenn Anrufe auf dem Handy per VPN geführt werden können und Push-Benachrichtigungen autom. per VPN kommen.
Und wie kann automatisch das VPN im eigenen bekannten WLAN und Hotspots deaktivert werden? Das alles mit einem orginal iPhone, es ist kein Jailbreak nötig.
Hatte vor einiger Zeit schon mal versucht, mit einem iPhone eine automatische VPN Verbindung (VPN on Demand) aufzubauen. Das hatte nicht geklappt, wie hier beschrieben, weil diese Möglichkeit im Apple Konfigurationsprogramm nicht angeboten wird.
Habe jetzt aber einen Hinweis auf diese Quelle von Thomas Witt erhalten (Danke). Damit klappt es super. Wie muss man vorgehen?
1. Die VPN_FritzBox_OnDemand.mobileconfig laden.
2. Alle stellen die mit REPLACE gekennzeichnet sind, mit eigenen Werten ersetzen.
3. Die Profile Datei per E-Mail an das iPhone senden und das Profile installieren.
4. Manuell testen ob Verbindung läuft.
Habe es mit iPhone 6 Plus und iPadMini unter iOS 8.1.2 mit einer FritzBox 7490 (Version 06.23) getestet.
Hier die nötige Profile Datei von oben, mit Kommentaren von mir aus der Apple Referenz, so kann man auf einem Blick sehen, was man anpassen kann bzw. muss:
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 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!-- https://developer.apple.com/library/ios/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html#//apple_ref/doc/uid/TP40010206-CH1-SW7 --> <plist version="1.0"> <dict> <!-- VPN Payload The VPN payload is used for traditional systemwide VPNs based on L2TP, PPTP, and IPSec. This payload should not be confused with the Per-App VPN, described in Per-App VPN Payload. The VPN payload is designated by specifying com.apple.vpn.managed as the PayloadType value. In addition to the settings common to all payload types, the VPN payload defines the following keys --> <key>PayloadContent</key> <array> <dict> <!-- Determines the settings available in the payload for this type of VPN connection. IPSec (Cisco) --> <key>IPSec</key> <dict> <!-- Either SharedSecret or Certificate. Used for L2TP and Cisco IPSec. --> <key>AuthenticationMethod</key> <!-- The shared secret for this VPN account. Only present if AuthenticationMethod is SharedSecret. Used for L2TP and Cisco IPSec. --> <string>SharedSecret</string> <!-- 1 if the VPN connection should be brought up on demand, else 0. --> <key>OnDemandEnabled</key> <integer>1</integer> <!-- Determines when and how an on-demand VPN should be used. --> <key>OnDemandRules</key> <array> <dict> <!-- The action to take if this dictionary matches the current network. --> <key>Action</key> <!-- Disconnect—Tear down the VPN connection and do not reconnect on demand as long as this dictionary matches. --> <string>Disconnect</string> <!-- An interface type. If specified, this rule matches only if the primary network interface hardware matches the specified type. Supported values are Ethernet, WiFi, and Cellular. --> <key>InterfaceTypeMatch</key> <string>WiFi</string> <!-- An array of SSIDs to match against the current network. If the network is not a Wi-Fi network or if the SSID does not appear in this array, the match fails. Omit this key and the corresponding array to match against any SSID. --> <key>SSIDMatch</key> <array> <!-- TODO: eine oder mehree Netzwerk SSID einfügen --> <string>REPLACE_secure_wpa2_network_ssid</string> <string>REPLACE_my_private_wpa_network_ssid</string> </array> </dict> <dict> <!-- The action to take if this dictionary matches the current network. --> <key>Action</key> <!-- Connect — Unconditionally initiate a VPN connection on the next network attempt. --> <string>Connect</string> <!-- An interface type. If specified, this rule matches only if the primary network interface hardware matches the specified type. Supported values are Ethernet, WiFi, and Cellular. --> <key>InterfaceTypeMatch</key> <string>WiFi</string> <!-- An array of SSIDs to match against the current network. If the network is not a Wi-Fi network or if the SSID does not appear in this array, the match fails. Omit this key and the corresponding array to match against any SSID. --> <key>SSIDMatch</key> <array> <!-- TODO: evl. SSID für Hotspots oder Firma ergaenzen --> <string>REPLACE_UNSECURE_PUBLIC_SSID</string> <string>REPLACE_Public</string> <string>REPLACE_Telekom</string> </array> </dict> <dict> <key>Action</key> <string>Connect</string> <key>InterfaceTypeMatch</key> <string>WiFi</string> </dict> <dict> <key>Action</key> <!-- Ignore — Leave any existing VPN connection up, but do not reconnect on demand as long as this dictionary matches. --> <string>Connect</string> <key>InterfaceTypeMatch</key> <string>Cellular</string> </dict> <dict> <key>Action</key> <string>Ignore</string> </dict> </array> <!-- Present only if AuthenticationMethod is SharedSecret. The name of the group to use. If Hybrid Authentication is used, the string must end with [hybrid]. Used for Cisco IPSec. --> <key>LocalIdentifier</key> <!-- TODO: VPN Login eingeben --> <string>REPLACE_VPN_LOGIN</string> <!-- Present only if AuthenticationMethod is SharedSecret. The value is KeyID. Used for L2TP and Cisco IPSec. --> <key>LocalIdentifierType</key> <string>KeyID</string> <!-- IP address or host name of the VPN server. Used for Cisco IPSec. --> <key>RemoteAddress</key> <!-- TODO: VPN Server eintragen z.B. xxxxxxxxxxxxxxxxx.myfritz.net oder DynDNS der Fritzbox --> <string>REPLACE_VPN_SERVER</string> <!-- The shared secret for this VPN account. Only present if AuthenticationMethod is SharedSecret. Used for L2TP and Cisco IPSec. --> <key>SharedSecret</key> <!-- TODO: shared secret für den VPN Account eingeben. z.B. Shared-Secret-Fritzbox-VPN-User-Config --> <string>REPLACE_SHARED_SECRET</string> <!-- 1 if Xauth is on, 0 if it is off. Used for Cisco IPSec. --> <key>XAuthEnabled</key> <integer>1</integer> <!-- User name for VPN account. Used for Cisco IPSec. --> <key>XAuthName</key> <!-- TODO VPN Login Name (Gruppenname) eingeben --> <string>REPLACE_VPN_LOGIN</string> <!-- Keine Doku zu den Parameter, evl. Xauth auf 0 setzen --> <key>XAuthPassword</key> <!-- TODO: VPN Passwort eingeben --> <string>REPLACE_VPN_PASSWORD</string> </dict> <key>IPv4</key> <dict> <!-- Specifies whether to send all traffic through the VPN interface. If true, all network traffic is sent over VPN. --> <key>OverridePrimary</key> <integer>1</integer> </dict> <!-- Optional. A description of the profile, shown on the Detail screen for the profile. This should be descriptive enough to help the user decide whether to install the profile. --> <key>PayloadDescription</key> <!-- TODO: Beschreibung eingeben --> <string>Configures VPN settings</string> <!-- Optional. A human-readable name for the profile. This value is displayed on the Detail screen. It does not have to be unique. --> <key>PayloadDisplayName</key> <!-- TODO: Beschreibung eingeben --> <string>VPN</string> <!-- A reverse-DNS style identifier (com.example.myprofile, for example) that identifies the profile. This string is used to determine whether a new profile should replace an existing one or should be added. --> <key>PayloadIdentifier</key> <!-- TODO: Eingeben --> <string>REPLACE_UUID1.com.apple.vpn.managed.REPLACE_UUID2</string> <!-- The VPN payload is designated by specifying com.apple.vpn.managed as the PayloadType value. --> <key>PayloadType</key> <string>com.apple.vpn.managed</string> <!-- A globally unique identifier for the payload. The actual content is unimportant, but it must be globally unique. In OS X, you can use uuidgen to generate reasonable UUIDs. --> <key>PayloadUUID</key> <!-- TODO: UUID eingeben --> <string>REPLACE_UUID2</string> <!-- The version number of the individual payload. A profile can consist of payloads with different version numbers. For example, changes to the VPN software in iOS might introduce a new payload version to support additional features, but Mail payload versions would not necessarily change in the same release. --> <key>PayloadVersion</key> <real>1</real> <key>Proxies</key> <dict /> <!-- Description of the VPN connection displayed on the device. --> <key>UserDefinedName</key> <!-- TODO: Anpassen --> <string>VPN OnDemand</string> <!-- Determines the settings available in the payload for this type of VPN connection. IPSec (Cisco)... --> <key>VPNType</key> <string>IPSec</string> </dict> </array> <!-- Payload Dictionary Keys Common to All Payloads If a PayloadContent value is provided in a payload, each entry in the array is a dictionary representing a configuration payload. The following keys are common to all payloads: --> <!-- Optional. A human-readable name for the profile payload. This name is displayed on the Detail screen. It does not have to be unique. --> <key>PayloadDisplayName</key> <!-- TODO: Anpassen --> <string>VPN OnDemand</string> <!-- A reverse-DNS-style identifier for the specific payload. It is usually the same identifier as the root-level PayloadIdentifier value with an additional component appended. --> <key>PayloadIdentifier</key> <!-- TODO: UUID eingeben --> <string>REPLACE_UUID1</string> <!-- Optional. If present and set to true, the user cannot delete the profile (unless the profile has a removal password and the user provides it). --> <key>PayloadRemovalDisallowed</key> <false /> <!-- The only supported value is Configuration. --> <key>PayloadType</key> <string>Configuration</string> <!-- A globally unique identifier for the payload. The actual content is unimportant, but it must be globally unique. In OS X, you can use uuidgen to generate reasonable UUIDs. --> <key>PayloadUUID</key> <!-- TODO: UUID einfügen --> <string>REPLACE_UUID3</string> <!-- The version number of the individual payload. A profile can consist of payloads with different version numbers. For example, changes to the VPN software in iOS might introduce a new payload version to support additional features, but Mail payload versions would not necessarily change in the same release. --> <key>PayloadVersion</key> <integer>1</integer> </dict> </plist> |
In welcher Umbebung läuft es bei Euch? Oder einfach nur einen like hinterlassen.
Das Update war ja schon letztes Jahr, ist aber bei mir irgendwie vorbeigelaufen 😉
So werden die Features auch mehr, einfach die „alten“ in der Liste mit aufnehmen. Neue Möglichkeiten bei der Telefonie, welche? 😉
Diese neue Blog Adresse merken (http://top-drei-fotos.kleinhirn.eu/) oder gleich bookmarken, um jeweils die TOP 3 Fotos aus einem Bereich zu sehen. Den Anfang macht „Vietnam Park“. Die Kategorie „Raspberry Pi“ kommt auch noch 😉
Die Domäne Wenzlaff.de wurde im Durchschnitt über 1 Millionen mal im Monat aufgerufen, wie auf der Zugriffsstatistik von 2014 ersichtlich. Vielen Dank.
Was bringt 2015?
Suche noch einen Sponsor für 2015, denn bis jetzt war der Blog werbefrei.
Welche Themen wollt ihr sehen?
Für die aktuelle php5 Version gibt es ein Sicherheitsupdate.
Bei diesen Abhängikeiten (siehe Mindmap) kein Wunder:
Also wie gewohnt ein:
1 2 |
sudo update sudo upgrade |
und checken ob die neue Version vorhanden ist:
1 |
apt-show-versions php5 |
Es muss die Version: php5/wheezy uptodate 5.4.36-0+deb7u1 ausgegeben werden.
Wenn nicht, siehe hier.
Heute ist die neue Version PiAware 1.19.-3 erschienen.
Was gibt es neu:
Wir wird die neue Version nun installiert bzw. upgegradet?
Zuerste den (optional) den laufenden piaware Prozess stoppen mit:
1 |
sudo /etc/init.d/piaware stop |
Dann die aktuelle Version downloaden mit:
1 |
wget http://flightaware.com/adsb/piaware/files/piaware_1.19-3_armhf.deb |
Den update bzw. die Neuinstallation ausführen mit:
1 |
sudo dpkg -i piaware_1.19-3_armhf.deb |
Optional bei Neuinstallation:
1 |
sudo apt-get install -fy |
Nun den Server neu starten bzw. restarten mit:
1 |
sudo /etc/init.d/piaware restart |
Woran kann man nun erkennen das alles wieder läuft? Auf der User-Seite ist nun die folgende Warnung entfernt:
Und nach ein paar Minuten gibt es die Info:
Und natürliche werden auch die Fluginformationen aktualisiert, ok 723 Flugzeuge für den letzten Tag im Jahr ist nicht viel aber es sind ja auch noch ein paar Stunden bis 2015:
Es kann aber auch die Version angezeigt werden mit dem neuen Feature:
1 |
piaware -v |
Ausgabe wenn das update geklappt hat: 1.19-3
Gut Flug …
Habe nun mal eine Anleitung für den günstigen (1,86 Euro inkl. Versand!) USB Wifi Adapter erstellt.
Das sind die Angaben vom Hersteller:
Newest Mini 802.11N 150Mbps Wireless USB Adapter
150Mbps Mini Wireless-N USB Adapter connects a laptop or desktop computer to a Wireless-N network at up to 6x the speed and 3x the coverage of a Wireless-G connection. Enjoy proven Wireless-N speed and reliability in an ultra compact design that is slightly larger than a US penny. Setup is a breeze with one-touch Wi-Fi Protected Setup (WPS) technology. Advanced wireless encryption protects your valuable data. Wi-Fi Multimedia (WMM) Quality of Service (QoS) prioritizes important video, audio and gaming traffic. Seamlessly stream video, download files, play games and talk online with the 150Mbps Mini Wireless-N USB Adapter.
Features & Specs
Chipset RT8188
Complies with IEEE 801.11n IEEE 802.11g, IEEE 802.11b standards
20MHz/40MHz bandwidth
Reverse Direction Data Flow and Frame Aggregation
WEP 64/128, WPA, WPA2 Support
Multiple BSSID Support
Provides USB 2.0 Hi-Speed interface
Cisco CCX V1.0 V2.0 V3.0 Compliance
Low Power with Advanced Power Management
Drivers for XP, Vista, Win7, Linus, & Mac
Works With Windows 7,Windows XP, Windows Vista , Mac OSX 10.6 ~ 10.8 And Linux 2.6.18~2.6.38
Internal Antenna
Transmission Distance: Indoor: Up to 100m, Outdoor up to 300m (depending on surrounding environment)
Interface: USB2.0
Frequency Range:2.4GHz-2.4835GHz
Data Security: WPA; 64/128-bit WEP; TKIP/AES
So sieht er im Detail aus:
Es gibt aber auch einen Treiber für den Raspberry Pi mit der aktuellen wheezy 3.12.35+.
Wie wird der Treiber für den WLAN Stick von Ralink installiert?
Zuerst mit lsusb
schauen ob er schon erkannt wird, Ausgabe:
Bus 001 Device 004: ID 148f:760b Ralink Technology, Corp.
Treiber holen und installieren dann Reboot:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Treiber laden wget https://dl.dropboxusercontent.com/u/67643651/mt7601_3.12.35_730.tar.gz # Treiber entpacken nach # lib/modules/3.12.35+/kernel/drivers/net/wireless/mt7601Usta.ko # und # etc/Wireless/RT2870STA/RT2870STA.dat # mit sudo tar xf mt7601_3.12.35_730.tar.gz -C / # Modulabhängigkeiten neu landen sudo depmod 3.12.35+ # Optional checken ob das Modul erfolgreich eingetragen wurde cat /lib/modules/3.12.35+/modules.dep | grep mt7601Usta # Ergebnis: kernel/drivers/net/wireless/mt7601Usta.ko # # Reboot sudo reboot |
Schauen ob alles OK:
sudo lsmod | grep mt7601Usta
mt7601Usta 601487 1
Dann iwconfig
und super, der Ralink Stick ist da:
Dann noch das WLAN umbennenen von ra0 auf wlan0 und zwar die Datei
1 |
sudo nano /etc/udev/rules.d/70-persistent-net.rules |
anlegen und ergänzen von:
1 |
ACTION=="add", SUBSYSTEM=="net", ATTR{type}=="1", KERNEL=="ra*", NAME="wlan0" |
Nach einem sudo reboot
ist es erfolgreich umbenannt nach wlan0:
Nun noch die Datei /etc/network/interfaces
um folgende Angaben erweitern um mit einer festen IP-Adresse zugreifen zu können:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
auto lo iface lo inet loopback iface eth0 inet dhcp auto wlan0 allow-hotplug wlan0 iface wlan0 inet static # TODO eigene Adresse wählen z.B.: address 7.7.7.50 netmask 255.255.255.0 # TODO eigenes Gateway wählen z.B.: gateway 7.7.7.1 wpa-ap-scan 1 wpa-scan-ssid 1 wpa-ssid "TODO-NETZWERK" wpa-psk "TODO-PASSWORT" |
Nach einem sudo reboot
kann man sich mit dem Raspberry Pi ohne Kabel verbinden.