Schon seit 2013 gibt es das Patientenrechtgesetzt im BGB. Da gabe es das erste Modell (Version 1 Modell B) vom Raspberry Pi schon ein Jahr. Bis heute wurden über 3,5 Millionen Raspberry Pis verkauft.
Dazu mal eine Mindmap (als PDF).
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Alles was mit Hardware zu tun hat.
Vor ein paar Tagen ist eine neue Firmware für den Raspberry Pi erschienen. Wie kann die installiert werden? Wie kann die installierte Version angezeigt werden?
Am einfachsten benutzt man den update Befehl sudo rpi-update
mit dem Hexxeh updater. Wenn es eine neue Firmware gibt, wird die in ein paar Minuten installiert. Wenn die Firmware schon aktuell ist, wird auch eine Meldung ausgegeben.
So läuft der Updateprozess:
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 |
sudo rpi-update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** Performing self-update % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 7635 100 7635 0 0 26509 0 --:--:-- --:--:-- --:--:-- 27967 *** Relaunching after update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** Downloading specific firmware revision (this will take a few minutes) % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 168 0 168 0 0 291 0 --:--:-- --:--:-- --:--:-- 298 100 22.9M 100 22.9M 0 0 295k 0 0:01:19 0:01:19 --:--:-- 1153k *** Updating firmware *** Updating kernel modules *** depmod 3.12.30+ *** Updating VideoCore libraries *** Using HardFP libraries *** Updating SDK *** Running ldconfig *** Storing current firmware revision *** Deleting downloaded files *** Syncing changes to disk *** If no errors appeared, your firmware was successfully updated to 11bfdffaca95e630b1fed0a8992fee880c17c26d *** A reboot is needed to activate the new firmware |
Wie oben steht, ist nun noch ein sudo reboot
nötig und die neue Firmware ist aktualisiert.
Ist die Firmware schon aktuell, gib es folgende Meldung:
1 2 3 4 5 6 7 8 9 |
sudo rpi-update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** Performing self-update % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 7635 100 7635 0 0 21159 0 --:--:-- --:--:-- --:--:-- 21876 *** Relaunching after update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** Your firmware is already up to date |
Aber wie kann nun die aktuelle Version angezeigt werden?
Mit
1 |
uname -a |
Ergebnis:
1 |
Linux pi-entw 3.12.30+ #717 PREEMPT Fri Oct 17 18:46:31 BST 2014 armv6l GNU/Linux |
Oder auch mit mehr Details:
1 |
/opt/vc/bin/vcgencmd version |
Ergebnis:
1 2 3 |
Oct 17 2014 17:56:05 Copyright (c) 2012 Broadcom version 845092531e360acd37f2f1964157f8079c77edfb (clean) (release) |
Dabei ist der lange Sting hinter Version der Hashwert der Version.
Sollte der rpi-updater nicht vorhanden sein, kann er leicht wie auch hier beschrieben mit
1 |
sudo apt-get install rpi-update |
installiert werden. Er wird dann diese Abhängigkeiten, wie in dieser Mindmap verwenden:
Die aktuellste Firmware gibt es auf Github. Dort gibt es auch die Beschreibung, was es neu gibt. Zitat:“
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
kernel: Bump to 3.12.30 kernel: bcm2708: Eliminate i2s debugfs directory error Qualify the two regmap ranges uses by bcm2708-i2s ('-i2s' and '-clk') to avoid the name clash when registering debugfs entries. kernel: Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use optimised memcpy/memmove/memcmp/memset implementations. kernel: bcm2708-dmaengine: nobble peak throughput to prevend SD host lockups Artificially throttling DMA throughput to/from the SD host prevents errors seen on very high-spec UHS-1 cards.See: http://www.raspberrypi.org/forums/viewtopic.php?f=63&t=5057&start=275#p626694 firmware: dpi: Add options to alter dpi settings through dpi_output_format See: http://www.raspberrypi.org/forums/viewtopic.php?f=100&t=86658&p=628061#p628061 firmware: arm_loader: Avoid gpioman spam when POWER_LOW is not defined" |
Truecrypt 7.1 kann gut wie in dieser Anleitung beschrieben installiert werden.
Hier in Kurzform wie die nötigen Packages geladen, ausgepackt und selbst compiliert werden können, da es für den rPi keine fertigen Packages gibt. Der compile Vorgang dauert ca. 1 Stunde, dabei darf das Terminal Fenster nicht geschlossen werden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install libfuse-dev screen wget "https://github.com/AuditProject/truecrypt-verified-mirror/raw/master/Source/TrueCrypt%207.1a%20Source.tar.gz" tar xfz "TrueCrypt 7.1a Source.tar.gz" cd truecrypt-7.1a-source wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/*.h wget http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.12.tar.gz tar xfz wxWidgets-2.8.12.tar.gz make NOGUI=1 WX_ROOT=~/truecrypt-7.1a-source/wxWidgets-2.8.12 wxbuild make NOGUI=1 WXSTATIC=1 cp Main/truecrypt /usr/local/bin/ sudo chmod +x /usr/local/bin/truecrypt rm -rf truecrypt-7.1a-source/ rm TrueCrypt\ 7.1a\ Source.tar.gz truecrypt --version |
Ergebnis: TrueCrypt 7.1a
Nun alle Befehle ausgeben mit:
1 |
truecrypt --help |
liefert die Anleitung:
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 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 |
Synopsis: truecrypt [OPTIONS] COMMAND truecrypt [OPTIONS] VOLUME_PATH [MOUNT_DIRECTORY] Commands: --auto-mount=devices|favorites Auto mount device-hosted or favorite volumes. --backup-headers[=VOLUME_PATH] Backup volume headers to a file. All required options are requested from the user. -c, --create[=VOLUME_PATH] Create a new volume. Most options are requested from the user if not specified on command line. See also options --encryption, -k, --filesystem, --hash, -p, --random-source, --quick, --size, --volume-type. Note that passing some of the options may affect security of the volume (see option -p for more information). Inexperienced users should use the graphical user interface to create a hidden volume. When using the text user interface, the following procedure must be followed to create a hidden volume: 1) Create an outer volume with no filesystem. 2) Create a hidden volume within the outer volume. 3) Mount the outer volume using hidden volume protection. 4) Create a filesystem on the virtual device of the outer volume. 5) Mount the new filesystem and fill it with data. 6) Dismount the outer volume. If at any step the hidden volume protection is triggered, start again from 1). --create-keyfile[=FILE_PATH] Create a new keyfile containing pseudo-random data. -C, --change[=VOLUME_PATH] Change a password and/or keyfile(s) of a volume. Most options are requested from the user if not specified on command line. PKCS-5 PRF HMAC hash algorithm can be changed with option --hash. See also options -k, --new-keyfiles, --new-password, -p, --random-source. -d, --dismount[=MOUNTED_VOLUME] Dismount a mounted volume. If MOUNTED_VOLUME is not specified, all volumes are dismounted. See below for description of MOUNTED_VOLUME. --delete-token-keyfiles Delete keyfiles from security tokens. See also command --list-token-keyfiles. --export-token-keyfile Export a keyfile from a security token. See also command --list-token-keyfiles. --import-token-keyfiles Import keyfiles to a security token. See also option --token-lib. -l, --list[=MOUNTED_VOLUME] Display a list of mounted volumes. If MOUNTED_VOLUME is not specified, all volumes are listed. By default, the list contains only volume path, virtual device, and mount point. A more detailed list can be enabled by verbose output option (-v). See below for description of MOUNTED_VOLUME. --list-token-keyfiles Display a list of all available security token keyfiles. See also command --import-token-keyfiles. --mount[=VOLUME_PATH] Mount a volume. Volume path and other options are requested from the user if not specified on command line. --restore-headers[=VOLUME_PATH] Restore volume headers from the embedded or an external backup. All required options are requested from the user. --save-preferences Save user preferences. --test Test internal algorithms used in the process of encryption and decryption. --version Display program version. --volume-properties[=MOUNTED_VOLUME] Display properties of a mounted volume. See below for description of MOUNTED_VOLUME. MOUNTED_VOLUME: Specifies a mounted volume. One of the following forms can be used: 1) Path to the encrypted TrueCrypt volume. 2) Mount directory of the volume's filesystem (if mounted). 3) Slot number of the mounted volume (requires --slot). Options: --display-password Display password characters while typing. --encryption=ENCRYPTION_ALGORITHM Use specified encryption algorithm when creating a new volume. --filesystem=TYPE Filesystem type to mount. The TYPE argument is passed to mount(8) command with option -t. Default type is 'auto'. When creating a new volume, this option specifies the filesystem to be created on the new volume (only 'FAT' and 'none' TYPE is allowed). Filesystem type 'none' disables mounting or creating a filesystem. --force Force mounting of a volume in use, dismounting of a volume in use, or overwriting a file. Note that this option has no effect on some platforms. --fs-options=OPTIONS Filesystem mount options. The OPTIONS argument is passed to mount(8) command with option -o when a filesystem on a TrueCrypt volume is mounted. This option is not available on some platforms. --hash=HASH Use specified hash algorithm when creating a new volume or changing password and/or keyfiles. This option also specifies the mixing PRF of the random number generator. -k, --keyfiles=KEYFILE1[,KEYFILE2,KEYFILE3,...] Use specified keyfiles when mounting a volume or when changing password and/or keyfiles. When a directory is specified, all files inside it will be used (non-recursively). Multiple keyfiles must be separated by comma. Use double comma (,,) to specify a comma contained in keyfile's name. Keyfile stored on a security token must be specified as token://slot/SLOT_NUMBER/file/FILENAME. An empty keyfile (-k "") disables interactive requests for keyfiles. See also options --import-token-keyfiles, --list-token-keyfiles, --new-keyfiles, --protection-keyfiles. --load-preferences Load user preferences. -m, --mount-options=OPTION1[,OPTION2,OPTION3,...] Specifies comma-separated mount options for a TrueCrypt volume: headerbak: Use backup headers when mounting a volume. nokernelcrypto: Do not use kernel cryptographic services. readonly|ro: Mount volume as read-only. system: Mount partition using system encryption. timestamp|ts: Do not restore host-file modification timestamp when a volume is dismounted (note that the operating system under certain circumstances does not alter host-file timestamps, which may be mistakenly interpreted to mean that this option does not work). See also option --fs-options. --new-keyfiles=KEYFILE1[,KEYFILE2,KEYFILE3,...] Add specified keyfiles to a volume. This option can only be used with command -C. --new-password=PASSWORD Specifies a new password. This option can only be used with command -C. -p, --password=PASSWORD Use specified password to mount/open a volume. An empty password can also be specified (-p ""). Note that passing a password on the command line is potentially insecure as the password may be visible in the process list (see ps(1)) and/or stored in a command history file or system logs. --protect-hidden=yes|no Write-protect a hidden volume when mounting an outer volume. Before mounting the outer volume, the user will be prompted for a password to open the hidden volume. The size and position of the hidden volume is then determined and the outer volume is mounted with all sectors belonging to the hidden volume protected against write operations. When a write to the protected area is prevented, the whole volume is switched to read-only mode. Verbose list (-v -l) can be used to query the state of the hidden volume protection. Warning message is displayed when a volume switched to read-only is being dismounted. --protection-keyfiles=KEYFILE1[,KEYFILE2,KEYFILE3,...] Use specified keyfiles to open a hidden volume to be protected. This option may be used only when mounting an outer volume with hidden volume protected. See also options -k and --protect-hidden. --protection-password=PASSWORD Use specified password to open a hidden volume to be protected. This option may be used only when mounting an outer volume with hidden volume protected. See also options -p and --protect-hidden. --quick Do not encrypt free space when creating a device-hosted volume. This option must not be used when creating an outer volume. --random-source=FILE Use FILE as a source of random data (e.g., when creating a volume) instead of requiring the user to type random characters. --slot=SLOT Use specified slot number when mounting, dismounting, or listing a volume. --size=SIZE Use specified size in bytes when creating a new volume. -t, --text Use text user interface. Graphical user interface is used by default if available. This option must be specified as the first argument. --token-lib=LIB_PATH Use specified PKCS #11 security token library. --volume-type=TYPE Use specified volume type when creating a new volume. TYPE can be 'normal' or 'hidden'. See option -c for more information on creating hidden volumes. -v, --verbose Enable verbose output. IMPORTANT: If you want to use TrueCrypt, you must follow the security requirements and security precautions listed in chapter 'Security Requirements and Precautions' in the TrueCrypt documentation (file 'TrueCrypt User Guide.pdf'). Examples: Create a new volume: truecrypt -t -c Mount a volume: truecrypt volume.tc /media/truecrypt1 Mount a volume as read-only, using keyfiles: truecrypt -m ro -k keyfile1,keyfile2 volume.tc Mount a volume without mounting its filesystem: truecrypt --filesystem=none volume.tc Mount a volume prompting only for its password: truecrypt -t -k "" --protect-hidden=no volume.tc /media/truecrypt1 Dismount a volume: truecrypt -d volume.tc Dismount all mounted volumes: truecrypt -d |
Dieser BPMN 2.0 Prozess wurde mit Eclipse modeliert und dann als Grafik exportiert.
Diese BPMN 2.0 Diagramme können auch leicht als Grafik exportiert werden. Dazu in dem Diagramm mit rechts klick und dann im Kontexmenü auf „Export Diagram…“.
Es öffnet sich dann der Export Dialog, dort können nun im BMP, GIF, JPG, PNG oder RLE Format die BPMN 2.0 Diagramme exportiert werden.
Heute ist mal wieder Basteltag. Habe an meinen Vodafone WANCommonInterfaceConfigRouter Easybox 802 leider keine serielle Schnittstelle.
Also den Lötkoben angeschaltet und die Box geöffnet. Es brauchte lediglich die zwei Kreuzschlitzschrauben unten entfernt werden und dann die Vorderseite mit sehr viel Gewalt von unten nach oben aufgeklappt werden. Dann die 3 Lötpunkte gesucht und hier auf der OpenWrt Seite gefunden.
Hab aber auch noch selbst eins erstellt. Der rote Rahme kennzeichntet die Schnittstelle (klick auf das Foto, zeigt es in hoher Auflösung):
Hier werden die drei Drähte angelötet:
Hier noch mal eine detail Ansicht:
Dann habe ich die Drähte nach hinten rechts rausgeführt. Wer noch Heißkleber hat, könnte die Drähte mit einem Tropfen sichern. Da ich die Bohrmaschine nicht rausholen wollte, habe ich mit dem Lötkolben einfach in das Gehäuse „gebohrt“.
Hier noch ein Foto von der sauberen „Bohrung“.
Dann den Deckel wieder rauf, und einen Seriellen zu USB Wandler (CP 2101 Adapter) an der Konsole angeschlossen.
Das Terminal Programm auf 115200 Baud und 8N1 und die EasyBox eingeschaltet, und „Wie kann an einer Easybox 802 (ARV752DPW) eine serielle Schnittstelle angeschlossen werden?“ weiterlesen
Es währe doch toll, wenn man bei eintreffender E-Mail benachrichtigt würde oder?
So braucht man nicht immer die 148 Mails checken, und kann die Welt retten.
In diesem Projekt, beschreibe ich wie das Betreff jeder eintreffende E-Mail per Sprachausgabe ausgegeben wird. Dazu wird der Karotz benutzt, der nicht nur für Sprachausgabe nützlich ist.
Zuerst das System aktuallisieren und die nötigen cpan Packages installieren:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
sudo apt-get update sudo apt-get upgrade sudo cpan install Mail::IMAPClient # bei Nachfrage mit ja antworten: # yes # bei der nächsten Nachfage mit return bestätigen # local::lib # ... Stunden später ... sudo cpan install IO::Socket::SSL sudo cpan install IO::Socket::INET # und optional damit Umlaute auch dargestellt werden sudo cpan install MIME::Parser # und optional GnuPG wenn nur signierte E-Mails gelesen werden sollen sudo cpan install Mail::GnuPG |
Folgende Zeile in der Datei fhem.cfg
ergänzen:
1 |
define name mailcheck host user password |
z.B. der IMAP von Strato:
define mailcheck mailcheck imap.strato.de e-mail-von@wenzlaff.de passwort
Nach einem restart von Fhem steht die letzte Betreffzeilen der E-Mails als Reading bereit. So sieht es dann in Fhem aus:
Jetzt fehlt noch den Subject als userReadings zu setze und eine notify Funktion in der fhem.cfg die das Subject liest und an eine Funktion übergibt. Diese Funktion macht die Sprachausgabe des Karotz und wurde an anderer stelle hier im Blog beschrieben.
1 2 3 4 5 6 7 8 |
# Folgende events werden generiert # # 2014-10-11 19:13:02 mailcheck mailcheck Subject: Ohne Umlaute # define mailcheckAnsage notify mailcheck:Subject.* {\ my $betreff=ReadingsVal("mailcheck", "Subject", "E-Mail ohne Betreff");;\ Set_Karotz_Nachricht('karotz-token',"$betreff");;\ } |
Nach einem reread von Fhem, wird jetzt jedesmal das Betreff von Karotz angesagt.
Mögliche Fehler:
1. Wenn dieser Fehler im Log steht, wurden die obigen cpan Packages nicht oder nicht richtig installiert:
1 2 3 4 5 6 |
2014.10.11 15:58:46 1: reload: Error:Modul 32_mailcheck deactivated: Can't locate Mail/IMAPClient.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM ./FHEM/lib) at ./FHEM/32_mailcheck.pm line 11, <> line 85. BEGIN failed--compilation aborted at ./FHEM/32_mailcheck.pm line 11, <> line 85. 2014.10.11 15:58:46 0: Can't locate Mail/IMAPClient.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM ./FHEM/lib) at ./FHEM/32_mailcheck.pm line 11, <> line 85. BEGIN failed--compilation aborted at ./FHEM/32_mailcheck.pm line 11, <> line 85. |
2. Wenn der MIME::Parser nicht installiert ist, wird aus diesem Betreff:
mit üüüüääää
dann
Wenn der MIME Parser aber installiert wurde, und Fhem restartet wurde, klappt es auch mit den Umlauten:
3. Fhem aktualisieren.
Habe festgestellt, das Fhem mit einem update
nicht mehr die Scripte autom. aktualisiert. Mit einem update force
hat es nach ein paar Fehlermeldungen wieder geklappt. Es waren an einigen Dateien nicht mehr die nötigen Userrechte gesetzt.
Zuerst mal eine Mindmap zu TShark, dem Kommandline-Tool von Wireshark (frühe Ethereal).
Zuerste den rPi aktualisieren und das Packet installieren mit:
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install tshark |
Zuerst einmal die Befehle und die Version für die Komandozeile mit
1 |
tshark -h |
ausgeben:
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 |
TShark 1.12.1 (Git Rev Unknown from unknown) Dump and analyze network traffic. See http://www.wireshark.org for more information. Copyright 1998-2014 Gerald Combs <gerald@wireshark.org> and contributors. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Usage: tshark [options] ... Capture interface: -i <interface> name or idx of interface (def: first non-loopback) -f <capture filter> packet filter in libpcap filter syntax -s <snaplen> packet snapshot length (def: 65535) -p don't capture in promiscuous mode -I capture in monitor mode, if available -B <buffer size> size of kernel buffer (def: 2MB) -y <link type> link layer type (def: first appropriate) -D print list of interfaces and exit -L print list of link-layer types of iface and exit Capture stop conditions: -c <packet count> stop after n packets (def: infinite) -a <autostop cond.> ... duration:NUM - stop after NUM seconds filesize:NUM - stop this file after NUM KB files:NUM - stop after NUM files Capture output: -b <ringbuffer opt.> ... duration:NUM - switch to next file after NUM secs filesize:NUM - switch to next file after NUM KB files:NUM - ringbuffer: replace after NUM files Input file: -r <infile> set the filename to read from (- to read from stdin) Processing: -2 perform a two-pass analysis -R <read filter> packet Read filter in Wireshark display filter syntax -Y <display filter> packet displaY filter in Wireshark display filter syntax -n disable all name resolutions (def: all enabled) -N <name resolve flags> enable specific name resolution(s): "mntC" -d <layer_type>==<selector>,<decode_as_protocol> ... "Decode As", see the man page for details Example: tcp.port==8888,http -H <hosts file> read a list of entries from a hosts file, which will then be written to a capture file. (Implies -W n) Output: -w <outfile|-> write packets to a pcap-format file named "outfile" (or to the standard output for "-") -C <config profile> start with specified configuration profile -F <output file type> set the output file type, default is pcapng an empty "-F" option will list the file types -V add output of packet tree (Packet Details) -O <protocols> Only show packet details of these protocols, comma separated -P print packet summary even when writing to a file -S <separator> the line separator to print between packets -x add output of hex and ASCII dump (Packet Bytes) -T pdml|ps|psml|text|fields format of text output (def: text) -e <field> field to print if -Tfields selected (e.g. tcp.port, _ws.col.Info) this option can be repeated to print multiple fields -E<fieldsoption>=<value> set options for output when -Tfields selected: header=y|n switch headers on and off separator=/t|/s|<char> select tab, space, printable character as separator occurrence=f|l|a print first, last or all occurrences of each field aggregator=,|/s|<char> select comma, space, printable character as aggregator quote=d|s|n select double, single, no quotes for values -t a|ad|d|dd|e|r|u|ud output format of time stamps (def: r: rel. to first) -u s|hms output format of seconds (def: s: seconds) -l flush standard output after each packet -q be more quiet on stdout (e.g. when using statistics) -Q only log true errors to stderr (quieter than -q) -g enable group read access on the output file(s) -W n Save extra information in the file, if supported. n = write network address resolution information -X <key>:<value> eXtension options, see the man page for details -z <statistics> various statistics, see the man page for details --capture-comment <comment> add a capture comment to the newly created output file (only for pcapng) Miscellaneous: -h display this help and exit -v display version info and exit -o <name>:<value> ... override preference setting -K <keytab> keytab file to use for kerberos decryption -G [report] dump one of several available reports and exit default report="fields" use "-G ?" for more help WARNING: dumpcap will enable kernel BPF JIT compiler if available. You might want to reset it By doing "echo 0 > /proc/sys/net/core/bpf_jit_enable" |
Erst wollen wir uns die vorhandenen Interfaces anschauen und die Nummer merken.
1 |
sudo tshark -D |
Liefert die folgende Liste der verfügbaren Interfaces:
1. eth0
2. wlan0
3. wlan0mon
4. any
5. lo (Loopback)
6. nflog
7. nfqueue
8. usbmon1
Dann mal 10 Sekunden in die Datei traffic.pcap den Netzwerkverkehr von 1 (eth0) sichern mit:
1 |
tshark -i 1 -a duration:10 -w traffic.pcap |
Kommt es zu dieser Fehlermeldung:
1 2 3 |
Capturing on 'eth0' tshark: The capture session could not be initiated on interface 'eth0' (You don't have permission to capture on that device). Please check to make sure you have sufficient permissions, and that you have the proper interface or pipe specified. |
dann nicht aus Sicherheitsgründen mit sudo starten. TShark sollte nicht als root ausgeführt werden und der aktuelle User hat nicht die Rechte auf die Schnittstellen zuzugreifen.
Den aktuellen User (hier pi) für den Zugriff reconfigurieren mit:
1 |
sudo dpkg-reconfigure wireshark-common |
Es erscheint so ein Dialog:
Dort mit Ja antworten.
Damit die Berechigung für den User (pi) gesetzt wird, und es nicht zu dieser Fehlermeldung kommt:
1 |
tshark: Couldn't run /usr/bin/dumpcap in child process: Keine Berechtigung |
Einmal:
1 |
sudo usermod -a -G wireshark pi |
Dann einmal abmelden:
1 |
exit |
und wieder anmelden.
Schon können Dateien im PCAP Format auf dem Raspberry Pi erzeugt werden und auf einem anderen Rechner mit Wireshark ausgewertet werden.
Wie können aus den von Kismet generierten *.netxml Logdateien lesbare HTML oder CSV Dateien bzw. Reports erstellt werden?
Mit diesem Log-Viewer.
Das Archive klv-2.01.tar.gz laden und auspacken.
1 |
tar -xpzvf klv-2.01.tar.gz |
Das Verzeichnis klv-2.01
in das /home/pi/kismet
kopieren und in das Verzeichnis wechseln mit
1 |
cd /home/pi/kismet/klv-2.02 |
Python Script starten mit aufruf des Verzeichnisses, wo die Logdateien (*.netxml) liegen, also ein Verzeichnis höher
1 |
/klv.py .. |
es wird in dem Verzeichnis eine kismet-log-summary.html
generiert, hier ein Beispiel Report.
Oder für die CSV Generierung
1 |
./klv.py -o csv .. |
erzeugt kismet-log-summary.csv
.
Wie wird Kismet auf dem Raspberry Pi installiert? Zuerst mal eine Mindmap als Überblick zu Kismet:
Kismet wird wie folgt installiert, nachdem das System upgedated wurde:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install kismet
„Raspberry Pi: Kismet ( قسمة ) installieren unter Debian (jessie)“ weiterlesen
Wenn es beim hochfahren von Fhem zu folgenden Abbruch im Log kommt:
1 2 3 |
2014.10.06 18:41:43 1: reload: Error:Modul 02_RSS deactivated: Can't locate GD.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM ./FHEM/lib) at ./FHEM/02_RSS.pm line 13, <> line 1. BEGIN failed--compilation aborted at ./FHEM/02_RSS.pm line 13, <> line 1. |
hilft der RSS Workshop weiter.
Es fehlen einige Perl Package, die in der default wheezy Installation nicht installiert sind. Die können wir wie folgt installiert:
1 |
sudo apt-get install libgd2-xpm-dev libgd-graph-perl libgd-text-perl libimage-librsvg-perl libxml-simple-perl |
Nach einem Restart von Fhem, ist im Logfile alles wieder ok.
Wie kann eine Benachrichtigung mit dem Namen und der Telefonnummer an ein iPhone mit Fhem versendet werden. So weiss man immer wer zu Hause anruft und wann. So kann man evl. gleich zurückrufen.
In der Fritzbox 7490 gibt es jetzt keine Funktion mehr um das Telefonbuch in XML zu exportieren, wenn die Kontakte mit Google syncronisiert werden.
Wie kommt man nun an das passende XML Telefonbuch?
Über die kostenlose Fon App der Fritzbox, die es für iOS und Android gib. Oder mit diesem Tool selbst transformieren.
„Wie kann eine Pushover Benachrichtigung an ein iPhone mit Namen und Telefonnummer mit Fhem auf einem Raspberry Pi versendet werden?“ weiterlesen
In diesem Blog Beitrag habe ich beschrieben, wie OpenHab auf den rPi eingerichtet wird. Nun wollen wir analog zur Demo-Anwendung eine eigene Haus-Anwendung schreiben bzw. erstellen und sie nach und nach erweitern.
So sieht die Demo-Anwendung aus:
Die Demo-Anwendung wird wesentlich in zwei Dateien bearbeitet die man sich mal anschauen sollte:
1. /configuration/items/demo.items
2. /configuration/sitemap/demo.sitemap
„Wie kann die Demo-Anwendung von OpenHab auf dem Raspberry Pi erweitert und von einem iPad bzw. iPhone aufgerufen werden?“ weiterlesen
Wie kann OpenHab und eine Demo-Anwendung auf einem Raspberry Pi (Debian) installiert werden?
OpenHab läuft auch auf einem Raspberry Pi. Auf Wikipedia gibt es einen kurzen Überblick zu OpenHab.
Um erste Erfahrungen mit OpenHab zu machen, kann man die Demo Anwendung von OpenHab installieren. Als Basis dient die aktuelle Debian 7.6 Version, auf der schon Java installiert ist.
1. Zuerst checken ob Java installiert ist und läuft mit:
1 |
java -version |
Ausgabe:
1 2 3 |
java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode) |
2.Verzeichnis anlegen
1 2 |
mkdir OpenHab cd OpenHab |
3. Von hier die https://openhab.ci.cloudbees.com/job/openHAB/
die aktuelle Version 1.6.0 laden und auspacken (erst die runtime und später die demo)
1 2 3 4 5 6 7 |
wget https://openhab.ci.cloudbees.com/job/openHAB/lastSuccessfulBuild/artifact/distribution/target/distribution-1.6.0-SNAPSHOT-runtime.zip # Archiv auspacken unzip distribution-1.6.0-SNAPSHOT-runtime.zip # Optional: Archiv löschen rm distribution-1.6.0-SNAPSHOT-runtime.zip |
4. Usermod für User pi setzen und default openhab.cfg erstellen
1 2 3 4 5 6 |
sudo usermod -a -G dialout pi # Konfigdatei erstellen, alle default Einstellungen cd /configurations cp openhab_default.cfg openhab.cfg cd .. |
5. Demo zip laden uns auspacken (eine Readme Datei wird evl. überschrieben)
1 2 3 4 5 6 7 |
wget https://openhab.ci.cloudbees.com/job/openHAB/lastSuccessfulBuild/artifact/distribution/target/distribution-1.6.0-SNAPSHOT-demo.zip # Demo Anwendung auspacken unzip distribution-1.6.0-SNAPSHOT-demo.zip # Optional: Archive löschen rm distribution-1.6.0-SNAPSHOT-demo.zip |
6. Starten von OpenHab und im Browser aufrufen (ip anpassen)
1 |
./start.sh |
Dann im Browser die folgende URL der Demo Anwendung aufrufen:
1 |
http://raspberry-ip:8080/openhab.app?sitemap=demo |
Hier nun einige Fotos, von der Demoanwendung:
Wie nutzt Ihr OpenHab?
Für Rsyslog gibt es für den Raspberry Pi (Debian, wheezy) ein Sicherheitsupdate.
Als Folge von dieser Schwachstelle kann ein Angreifer fehlerhafte Nachrichten an einen Server senden, wenn dieser Daten aus nicht vertrauenswürdigen Quellen annimmt. Damit könnte dann ein Denial-of-Service-Angriff gestartet werden. Das rsyslog hat diese Abhängigkeiten als Mindmap auf einem Raspberry Pi (jessie):
Update auf der Konsole wie gewohnt:
1 2 3 4 5 6 7 8 |
sudo apt-get update sudo apt-get upgrade # Optional: Version checken mit: apt-show-versions rsyslog # Ausgabe: # rsyslog/wheezy uptodate 5.8.11-3+deb7u1 |
Wie kann der WIFI USB Stick an den Raspberry Pi angeschlossen werden?
Den USB-Stick einstecken und checken ob er schon vom System erkannt wird.
Dazu die Bootmessages ausgeben mit dmesg
:
1 2 3 4 5 6 7 8 9 10 11 |
dmesg # Ergebnis... usb 1-1.2: new high-speed USB device number 4 using dwc_otg usb 1-1.2: config 1 interface 0 altsetting 0 has 7 endpoint descriptors, different from the interface descriptor's value: 5 usb 1-1.2: New USB device found, idVendor=148f, idProduct=5370 usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-1.2: Product: 802.11 n WLAN usb 1-1.2: Manufacturer: Ralink usb 1-1.2: SerialNumber: 1.0 ... |
Ok, der wird erkannt.
Ein paar Tools (optional) installieren:
1 |
sudo apt-get install wireless-tools wpasupplicant usbutils bridge-utils hostapd wicd-curses iw |
Konfiguration ausgeben mit iwconfig
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
iwconfig # Ausgabe wlan0 IEEE 802.11bgn ESSID:"netzwerk-frei" Mode:Managed Frequency:2.442 GHz Access Point: XX:XX:XX:XX:AA:0D Bit Rate=72.2 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on Link Quality=67/70 Signal level=-43 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:2 Missed beacon:0 lo no wireless extensions. eth0 no wireless extensions. |
Und den Namen des Sticks mit lsusb
1 2 3 4 5 6 |
lsusb # Ergebnis... Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter ... |
Einstellungen in /etc/network/interfaces
mit
1 |
sudo nano /etc/network/interfaces |
Folgenden Inhalt für eine statische IP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
auto lo iface lo inet static address 127.0.0.1 netmask 255.0.0.0 auto eth0 iface eth0 inet dhcp address 10.8.8.93 netmask 255.255.255.0 gateway 10.8.8.1 auto wlan0 allow-hotplug wlan0 iface wlan0 inet static address 10.8.8.39 netmask 255.255.255.0 gateway 10.8.8.1 wpa-ap-scan 1 wpa-scan-ssid 1 wpa-ssid "netzwerk-name" wpa-psk "passwort" |
Restarten mit
1 |
sudo service networking restart |
Und checken mit ifconfig
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 |
ifconfig # Ergebnis eth0 Link encap:Ethernet Hardware Adresse xx:xx:xx:xx:xx:xx UP BROADCAST MULTICAST MTU:1500 Metrik:1 RX packets:329 errors:0 dropped:0 overruns:0 frame:0 TX packets:188 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:146935 (143.4 KiB) TX bytes:42847 (41.8 KiB) lo Link encap:Lokale Schleife inet Adresse:127.0.0.1 Maske:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metrik:1 RX packets:1711 errors:0 dropped:0 overruns:0 frame:0 TX packets:1711 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:0 RX bytes:327456 (319.7 KiB) TX bytes:327456 (319.7 KiB) wlan0 Link encap:Ethernet Hardware Adresse 00:xx:xx:xx:xx:4a inet Adresse:10.8.8.39 Bcast:10.8.8.255 Maske:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 RX packets:3065 errors:0 dropped:0 overruns:0 frame:0 TX packets:1705 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:532497 (520.0 KiB) TX bytes:358053 (349.6 KiB) |
Ok, sieht alles gut aus. Der Netzwerkanschluss kann raus. Und siehe da, es läuft alles weiter über WLAN.
Nach einigen Tagen, war kein Zugriff mehr möglich über WLAN. Nach einem Restart über Kabel lief es wieder. Ob das an dem Powermanagement liegt. Das werde ich jetzt erst einmal ausschalten. Dazu die Datei /etc/network/interfaces
um eine Zeile ergänzen und das Netzwerk neu starten:
1 2 3 4 |
sudo nano /etc/network/interfaces # ergänzen um wireless-power off sudo /etc/init.d/networking reload |
Kontrolle mit
1 |
iwconfig |
Ausgabe jetzt auf off:
1 |
Power Management:off |
Mal sehen wie lange er jetzt durchhält.
Evl. auch noch überprüfen ob nur ein Modul im Kernel aktiv ist und auch das richtige, dazu die Hersteller ID und Produkt ID aus obigen Befehl mit modprobe aufrufen:
1 |
modprobe -c | grep -i "148f.*5370" |
Es darf nur ein Modul ausgegeben werden und für diesen Stick das rt2800usb:
1 |
alias usb:v148Fp5370d*dc*dsc*dp*ic*isc*ip*in* rt2800usb |
Eine weitere Fehlerquelle kann sein, das der Funkkanal automatisch wechselt.
Dazu erst einmal schauen, auf welchen Kanal der Stick arbeitet mit
1 |
iwlist chan |
Ergebnis:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
wlan0 13 channels in total; available frequencies : Channel 01 : 2.412 GHz Channel 02 : 2.417 GHz Channel 03 : 2.422 GHz Channel 04 : 2.427 GHz Channel 05 : 2.432 GHz Channel 06 : 2.437 GHz Channel 07 : 2.442 GHz Channel 08 : 2.447 GHz Channel 09 : 2.452 GHz Channel 10 : 2.457 GHz Channel 11 : 2.462 GHz Channel 12 : 2.467 GHz Channel 13 : 2.472 GHz Current Frequency:2.442 GHz (Channel 7) lo no frequency information. eth0 no frequency information. |
Oder mit
1 |
iw list |
ein paar mehr Details:
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 |
Wiphy phy0 max # scan SSIDs: 4 max scan IEs length: 2257 bytes Coverage class: 0 (up to 0m) Device supports RSN-IBSS. Supported Ciphers: * WEP40 (00-0f-ac:1) * WEP104 (00-0f-ac:5) * TKIP (00-0f-ac:2) * CCMP (00-0f-ac:4) Available Antennas: TX 0 RX 0 Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point Band 1: Capabilities: 0x172 HT20/HT40 Static SM Power Save RX Greenfield RX HT20 SGI RX HT40 SGI RX STBC 1-stream Max AMSDU length: 3839 bytes No DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 2 usec (0x04) HT RX MCS rate indexes supported: 0-7, 32 TX unequal modulation not supported HT TX Max spatial streams: 1 HT TX MCS rate indexes supported may differ Bitrates (non-HT): * 1.0 Mbps * 2.0 Mbps (short preamble supported) * 5.5 Mbps (short preamble supported) * 11.0 Mbps (short preamble supported) * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) * 2472 MHz [13] (20.0 dBm) * 2484 MHz [14] (disabled) Supported commands: * new_interface * set_interface * new_key * start_ap * new_station * new_mpath * set_mesh_config * set_bss * authenticate * associate * deauthenticate * disassociate * join_ibss * join_mesh * set_tx_bitrate_mask * frame * frame_wait_cancel * set_wiphy_netns * set_channel * set_wds_peer * probe_client * set_noack_map * register_beacons * start_p2p_device * set_mcast_rate * connect * disconnect Supported TX frame types: * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 Supported RX frame types: * IBSS: 0x40 0xb0 0xc0 0xd0 * managed: 0x40 0xd0 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * mesh point: 0xb0 0xc0 0xd0 * P2P-client: 0x40 0xd0 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * P2P-device: 0x40 0xd0 software interface modes (can always be added): * AP/VLAN * monitor valid interface combinations: * #{ AP, mesh point } <= 8, total <= 8, #channels <= 1 HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports TX status socket option. Device supports HT-IBSS. Device supports low priority scan. Device supports scan flush. Device supports AP scan. |
Wie in dem Heise Artikel beschrieben, gibt es in der bash eine Sicherheitslücke CVE-2014-6271.
Das sind die Abhängigkeiten der bash, auf meinem Raspberry Pi (Debian, Jessie)
Für den Raspberry Pi gibt es schon ein Update. Ob das System verletzbar ist kann wie folgt in der Konsole getestet werden:
1 |
env x='() { :;}; echo verwundbar' bash -c "echo Test ob die bash verwundbar ist." |
Wenn das System verletzbar ist, wird „verwundbar“ ausgegeben:
Auch mit:
1 |
apt-show-versions bash |
bekommt man den Hinweis, das ein Update möglich ist.
Also den rPi updaten mit:
1 2 |
sudo apt-get update sudo apt-get upgrade |
Dann noch checken, mit dem Test:
Ok.
Und noch mal die Version checken:
Ok, wir sind nun wieder auch der sicheren Seite oder doch nicht (ShellShock) (CVE-2014-7169).
Wer die Raspbian Debian Wheezy Version: September 2014 installiert hat, hat die neueste Version vom Release: 9.9.2014 URL: raspbian.org mit Kernel version: 3.12. installiert.
Wie kann auf dem rPi diese Infos ermittelt werden?
Der Name und die Release Version steht in der Datei /etc/issue
und kann auf der Konsole mit:
1 |
cat /etc/issue |
ausgegeben werden. Es wird bei mir ausgegeben:
1 |
Raspbian GNU/Linux 7 |
Details unter „Wie wird auf dem Raspberry Pi die aktuell installierte Debian Version angezeigt?“ weiterlesen
Mittels APT (Advanced Packaging Tool) ist es sehr einfach, Programmpakete zu suchen, zu installieren oder auch das ganze System auf den neuesten Stand zu bringen. Für dieses Tool gibt es nun ein Sicherheitspatch der installiert werden sollte.
Zitat: „It was discovered that APT, the high level package manager, does not
properly invalidate unauthenticated data (CVE-2014-0488), performs
incorrect verification of 304 replies (CVE-2014-0487), does not perform
the checksum check when the Acquire::GzipIndexes option is used
(CVE-2014-0489) and does not properly perform validation for binary
packages downloaded by the apt-get download command (CVE-2014-0490).
For the stable distribution (wheezy), these problems have been fixed in
version 0.9.7.9+deb7u3.
For the unstable distribution (sid), these problems have been fixed in
version 1.0.9.“
Bei der Gelegenheit gleich alles updaten mit: „Sicherheitsupdate für das Raspberry Pi wheezy Package APT erschienen“ weiterlesen
In dem guten Artikel von Michael Kofler wird in Kurzform ein schöner Überblick über das für private Nutzung kostenlose Wolfram gegeben. Das mit allen Raspberry Pi ausgelieferte Wolfram, nimmt nur sehr viel Platz auf der Karte ein, ca. 500 MB.
Kein Wunder bei diesen Abhängigkeiten:
Bevor es gelöscht wird, muss aber noch einmal schnell ein „Hallo Welt“ programmiert und ausgeführt werden. „Wie kann Mathematica bzw. Wolfram vom Raspberry Pi Modell B+ entfernt werden, um ca. 500 MB Speicher freizugeben?“ weiterlesen
Habe noch einen alten Cinergy HTC USB XS Stick gefunden für den ich keine Software für den Mac habe. Mit dem rPi kann man aber ja jeden TV Stick verwenden und das TV Signal von Kabel oder Antenne dann auf den PC oder auf iPad, iPhone und Co streamen.
Der TV Streaming Server tvheadend kann wie hier ausführlich beschrieben installieren werden „Wie kann der TV Streaming Server tvheadend Version 3.4~wheezyauf einem Raspberry Pi mit Cinergy HTC USB XS Stick und anderen installiert werden?“ weiterlesen