Hier die finale BPMN 2.0 Version zur CUPS-Drucklösung auf den Raspberry Pi.
Die CUPS BPMN 2.0 Datei kann als Archive hier kostenlos geladen werden.
Bitte Feedback gerne als Kommentar.
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Alles um den Mac
Hier die finale BPMN 2.0 Version zur CUPS-Drucklösung auf den Raspberry Pi.
Die CUPS BPMN 2.0 Datei kann als Archive hier kostenlos geladen werden.
Bitte Feedback gerne als Kommentar.
Siehe auch neueren Eintrag.
Um mit Apple-Rechner (Mac OS X, Yosemite 10.10.2) per Freigaben mit dem Finder auf dem Raspberry Pi zugreifen zu können, kann Netatalk verwendet werden. So würde eine Freigabe z.B. aussehen:
Das System aktualisieren und avahi-daemon und netatalk installieren:
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install avahi-daemon netatalk |
Dann in der Datei:
1 |
sudo nano /etc/netatalk/afpd.conf |
Am Ende anfügen bzw. das # am Anfang entfernen:
1 |
- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword |
Dann in der Datei:
1 |
sudo nano /etc/netatalk/AppleVolumes.default |
vor der Zeile „End of File“ folgenden Eintrag ergänzen um die Public Freigabe zu erzeugen, sonst ist nur das Home-Verzeichnis des Users freigegeben:
1 |
folder/share/Public Public options:upriv perm:0776 |
Nun noch die Datei
1 |
sudo nano /etc/avahi/services/afpd.service |
mit folgenden Inhalt anlegen:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=Xserve</txt-record> </service> </service-group> |
Der Eintrag in der Zeile mit model= legt das Icon fest. Möglich Werte sind da: Mac (default), AirPort, AppleTV1,1, iMac, MacBook, MacBookAir, MacBookPro, Macmini, MacPro, PowerBook, PowerMac und Xserve.
Beide Services noch restarten:
1 2 |
sudo service avahi-daemon restart sudo service netatalk restart |
Nach ein paar Sekunden kann auf die Verzeichnisse „normal“ Zugegriffen werden.
Die Freigabe für „Apple Time Machine“ kommt dann in einem anderen Blogeintrag.
Soll der avahi beim Neustart des Pi automatisch starten? Dann noch ein:
1 2 |
sudo update-rc.d avahi-daemon defaults sudo update-rc.d netatalk defaults |
Optional, mal testweise schauen ob alles nach einen reboot läuft
1 2 3 4 5 6 7 |
sudo reboot now # nun müssten beide Services laufen sudo /etc/init.d/avahi-daemon status # ok, da kommt eine ausgabe, nun noch netatalk testen mit ps ax | grep netatalk # liefer z.B. wenn er läuft # 1232 pts/0 S+ 0:00 grep --color=auto netatalk |
Viel Spaß
Es muss die JavaFX lib dem Classpath hinzugefügt werden. Die liegt auf dem Mac unter:
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/jfxrt.jar
Dann z.B. ein Klasse von javafx.application.Application
ableiten und die start
Methode überschreiben. Wir wollen nur einen Button anzeigen, der seinen Text bei klick ändert. Hier der ganze JavaFX Code:
package de.wenzlaff;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
// Classpath um JavaFX jfxrt.jar ergänzen, es liegt in:
// /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/jfxrt.jar
public class StartFxGui extends Application {
private Button button;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
button = new Button("Mein erstes JavaFX Programm!");
button.setOnAction(new EventHandler
@Override
public void handle(ActionEvent arg0) {
button.setText("cool");
}
});
VBox root = new VBox();
root.getChildren().add(button);
Scene scene = new Scene(root, 200, 200);
stage.setScene(scene);
stage.show();
}
}
Der CUL-V3-OEM CC1101 für 868 Mhz von Busware mit fester lambda/4 Mikroantenne wird ohne Firmware geliefert. CUL V3 – ATMega32U4 Prozessor, 2,5 kB RAM, 32 kB Flashmemory, 1 kByte EEPROM, Herstellungs Video):
Zuerst muss also der CUL mit einer aktuellen Firmware geflasht werden, so wie
hier für Mac OS X beschrieben. Also die aktuelle culfw 1.55 Firmware oder neuer laden und in ein Verzeichnis entpacken.
Dann brauchen wir noch das Programm zum flashen der Firmware, welches wir mit
sudo port install dfu-programmer
auf der Konsole installieren können.
Testen ob der Programmer richtig installiert wurde geht mit
$ dfu-programmer
Ausgabe: „Mit Mac OS X Maverick einen CUL CC1101 868Mhz von Busware für FS20 für den Raspberry Pi mit culfw 1.55 flashen und in Fhem einbinden“ weiterlesen
Zuerste den Backup Ordner lokalisieren, wo bisher die Backups gespeichert werden.
Das geht über das Menü: iTunes-Einstellungen-Geräte
mit der Maus, dann eine Backup Datei in der Listbox selektieren und mit der Rechten-Maustaste im Kontextmenü „Im Finder Anzeigen“ wählen.
Unten den Pfad ablesen:
z.B.:
~/Library/Application Support/MobileSync/Backup
Dann iTunes schließen.
Alle backups aus den obigen Ordner in den neuen Ziel-Ordner auf die Festplatte verschieben
Neues Festplatten Verzeichnis anlegen z.B.:
mkdir /Volumes/Macintosh\ HD\ 2\ TB/iTunes/Backup
Den alten Ordner löschen:
rmdir ~/Library/Application Support/MobileSync/Backup
Dann einen Symbolischen-Link mit ln -s im Terminal erzeugen (Pfad anpassen).
Also z.B.:
ln -s /Volumes/Macintosh\ HD\ 2\ TB/iTunes/Backup ~/Library/Application\ Support/MobileSync/Backup
Nun kann iTunes wieder gestartet werden, und alle Backups werden jetzt immer dort gespeichert und die kopierten sind auch wieder da.
Für die iTunes Media siehe auch hier.
Das neue Sicherheitsupdate für iOS 6 und 7 für iPad…, iPhone und auch Apple TV muss installiert werden, um die Probleme mit SSL/TLS zu fixen.
Vor der Installation wird jeweils ein Backup angefertigt, das für die vielen Apple Geräte doch viel Platz einnimmt. Dafür ist nun meine SSD zu klein. Deshalb wird die iTunes Media wie hier beschrieben auf die Festplatte verschoben.
Für die Backup Dateien siehe diese Anleitung.
Ein JeeLink ist soeben aus England eingetroffen.
Die rote Draht-Antenne und der USB-Stecker sind gut sichtbar:
Wenn der JeeLink in den USB Port des Rechners gesteckt wird, leuchtet ganz kurz die Rote und Grüne LED auf.
Im Auslieferungszustand ist der JeeLink mit einem Demo-Sketch geladen. (JeeLib).
Dann die Arduino IDE starten und über den Menüpunkt Werkzeuge-Serieller Port die Schnittstelle ( /dev/tty.usbserial… ) auswählen und den Seriellen-Monitor starten. Dort unten links die Geschwindigkeit auf 57600 Baud stellen. Schon wird nach einiger Zeit diese Ausgabe generiert:
Dann stellen wir mit:
8b 100g 31
die Frequenz auf 868 MHz für FS20 Nutzung, net group = 100 und node ID = 31 ein und klicken auf senden.
Dann werden alle paar Sekunden Daten angezeigt.
Nun schalten wir mal testweise die Aktivitäts-LED an mit 1l on
Erster Quicktest: OK
Wie setzt ihr den JeeLink ein?
Mit der Apple App Pages (ist beim neuen iPadMini kostenlos dabei) ein Dokument erstellen und dann
Fertig ist das eBook im ePub-Format.
Mit AirPrint kann von einem iPad, iPhone, iPod touch und Mac sofort gedruckt werden, ohne vorher Treiber installieren oder Software laden zu müssen. Einfach einen AirPrint-Drucker auswählen und drucken.
Wer keinen AirPrint fähigen Drucker hat, kann ihn mit einen rPi und CUPS dazu leicht verwenden, so das über das iPhone, iPad bzw. Mac gedruckt weden kann.
Es gibt dazu diese gute Anleitung die super mit meinem HP LJ 2600n über das Netzwerk funktioniert. Es sollte aber auch alle anderen Drucker laufen.
Diese Seite kurz zusammengefasst:
1 2 3 4 5 6 7 8 9 10 |
sudo apt-get install avahi-daemon cups cups-pdf python-cups sudo nano /etc/cups/cupsd.conf # Zeile anpassen: Only listen for connections from the local machine. # von Alt: Listen localhost:631 auf Port 631 # 3 x Allow @Local ergänzen in location, location admin, location local/conf sudo service cups restart sudo adduser pi lpadmin |
Über Browser die Adresse
1 |
https://[PI-IP-Adresse]:631 |
aufrufen und Option “Freigeben von Druckern welche mit diesem System verbunden sind” aktivieren und den Drucker einrichten.
AirPrint einrichten mit dem Py-Script:
1 2 3 4 5 |
sudo mkdir /opt/AirPrint cd /opt/AirPrint sudo wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py sudo chmod +x airprint-generate.py sudo ./airprint-generate.py -d /etc/avahi/services |
Restart:
1 2 |
sudo service cups restart sudo service avahi-daemon restart |
So jetzt kann von jedem Apple Gerät über AirPrint gedruckt werden. Oder über den Mac.
Tip: Wer Fehler suchen muss, kann in der
/etc/cups/cupsd.conf
Datei den LogLevel warn auf
LogLevel debug2
setzen. Dann werden mehr Ausgaben nach /var/log/cups/error_log geschrieben. Man kann sich diese Datei auch mit
tail -n 100 -f /var/log/cups/error_log
ausgeben lassen. Damit die geänderten Einstellungen wirksam werden, muss der CUPS Server mit
sudo service cups restart
restartet werden.
Wenn ein virtuelle PDF-Drucker mit cups-pdf eingerichtet wird, werden die PDFs default mäßig in
/var/spool/cups-pdf/ANONYMOUS
gespeichert. So können, ohne das ein Drucker angeschlossen ist, jederzeit von iPhone, iPad und Mac nach PDF „gedruckt“ werden.
Der PDF-Drucker kann so eingestellt werden:
Super! Klappt es bei Dir auch?
Habe noch diese gute Anleitung mit vielen Fotos in engl. gefunden.
Die SD-Karte vom Raspberry Pi oder auch jede andere, in den Mac stecken und mit der Eingabe im Terminal:
diskutil list
feststellen wie die SD-Karte gemountet wurde. Bei mir /dev/disk3
Und den Backup-Prozess starten mit dd (data definition):
sudo dd if=/dev/rdisk3 of=~/Backups/Raspbeery-Pi/ini-rot-backup.img bs=1m
if = input file
of = output file
~ = Homeverzeichnis
Das Prefix „r“ vor dem rdisk3 soll den Prozess beschleunigen, da es auf den raw Speicher der Karte zugreift.
bs = block size hier 1 MB
Bis die 8 GB als backup gespeichert sind, dauert je nach SD-Karten Größe ein paar Minuten, bei mir ca. 7 Minuten:
Dann kann die SD-Karte entfernt werden und das Backup bei Bedarf eingespielt werden.
Das Einspielen des Backup (Restore) dauert bei einer 8GB Karte über eine Stunde.
Dazu die SD-Karte in den Mac stecken und
diskutil list # schauen wo die SD-Karte gemountet ist
sudo diskutil unmount /dev/disk3s1 # SD-Karte unmounten
sudo dd if=ini-rot-backup.img of=/dev/disk3 bs=1m # Image ini-rot-backup.img auf SD-Karte kopieren
eingeben. Wenn die Ausgabe:
kommt, dann ist der Kopiervorgang abgeschlossen.
7680+0 records in
7680+0 records out
8053063680 bytes transferred in 10605.150176 secs (759354 bytes/sec)
Die Anzeige des Fortschritt des Kopiervorgangs wird in diesem Eintrag beschrieben.
Von VirtualBox die VirtualBox 4.3.2 for OS X hosts
und VirtualBox 4.3.2 Oracle VM VirtualBox Extension Pack downloaden. Es muss ja nicht immer eine virtuelle Maschine von VMware oder Parallels sein.
VirtualBox und Extensions Pack installieren.
So, jetzt kann in der virtuelle Maschine Linux installiert werden. Die Anleitung zu VirtualBox ist hier {PDF} zu finden.
Coole Anleitung auf Deutsch. Habe das alles installiert mit neuem Debian CD Image (7.2.0). Eclipse läuft super…
Und das gestartete Eclipse Kepler:
Ein Virtual Network Computing (VNC) zeigt den Bildschirminhalt auf einen entfernten Rechner (VPN-Client) an.
Ein VNC-Server ist auf dem rPi schnell eingerichtet. In der Konsole folgende Befehle eingeben:
sudo apt-get update
sudo apt-get install tightvncserver
Und dann starten des VNC-Servers mit:
vncserver :1
es muss ein 8-Stelliges Passwort vergeben werden und bei der Frage nach view-only mit nein antworten.
Der VNC-Server startet dann mit
Jetzt können wir mit einem VNC-Client über das Netzwerk zugreifen. Wir verwenden für den Mac OS X den kostenlosen TightVNC. Diesen Client gibt es auch für Windows.
Nach dem Download von TightVNC Java Viewer (Version 2.7.2) und auspacken des Archives kann der Client gestartet werden mit:
in dem Verzeichnis wo das Archiv ausgepackt wurde. Es öffnet sich dieser Dialog:
java -jar tightvnc-jviewer.jar
Dort die IP-Adresse des rPi eingeben. Nach klick auf connect wird das SSH Passwort abgefragt und dann das VPN-Server Passwort.
Schon erscheint der Deskop vom rPi über das Netzwerk per VNC:
Von dort kann dann ziemlich schnell alles mit Maus und grafisch gestartet werden. Z.b. der Browser:
Stoppen kann man den TightVNC VNC-Server mit:
vncserver -kill :1
Mit einem iPad oder auch mit Windows kann man über das kostenlose Programm Mocha VNC Lite auf den rPi zugreifen. Dort braucht dann nur in der Konfiguration die VNC Server Adresse, der Server Port 5901 und das VNC Passwort eingegeben werden. Dann zurück zum Menü und klick auf Connect. Schon ist der Desktop vom rPi zu sehen.
Greift man nur mit dem iPad auf den Server zu, kann man den Server auch etwas optimiert starten mit
vncserver :1 -geometry 1024×768 -depth 24
Und will man den VNC-Server automatisch nach dem Neustart des rPi starten dann, einfach ein neues Verzeichnis anlegen:
mkdir /home/pi/.config/autostart
und dort eine Datei mit Namen tightvnc.desktop anlegen mit folgenden Inhalt:
[Desktop Entry]
Type=Application
Name=TightVNC
Exec=vncserver :1
StartupNotify=false
Nach dem Update auf OS X Mavericks läuft Mac Ports nicht mehr. Es gibt eine neue Version von Ports V. 2.2.1.
Was ist nötig?
1. Update neue Version von Xcode.
2. Neue Version von Command Line Developer Tool für Mavericks laden:
3. Es müssen die Lizensbedingungen bestätigt werden:
sudo xcodebuild -license
4. Port updaten mit
sudo port upgrade selfupdate
sudo port upgrade outdated
das ganze dauert dann ein paar Minuten (ca. 30-60 min) je nach dem was installiert wird.
Dann kommt es zu dieser Fehlermeldung:
sudo port upgrade outdated
---> Fetching distfiles for llvm-3.2
Error: llvm-3.2 is not supported on Mavericks or later.
Error: org.macports.fetch for port llvm-3.2 returned: unsupported platform
Please see the log file for port llvm-3.2 for details:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-3.2/llvm-3.2/main.log
Error: Unable to upgrade port: 1
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Ok, dann im Internet gesucht und Ticket mit Lösung gefunden, das die Version 3.2 nicht unterstüzt wird. Deshalb habe
ich die Version 3.3 und 3.4 installiert:
sudo port install llvm-3.3
sudo port install llvm-3.4
Dann ist es noch zu folgenden Abbruch mit gstreamer1 gekommen:
---> Building gstreamer1
Error: org.macports.build for port gstreamer1 returned: command execution failed
Please see the log file for port gstreamer1 for details:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_gstreamer1/gstreamer1/main.log
Error: Problem while installing gstreamer1
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Dazu habe ich das Ticket 40963 erstellt.
[UPDATE] Das Problem wurde gefixt, es gab auch schon einige ähnliche Tickets. Super und Danke das das so schnell gefixt wurde.
Jetzt gibt es noch einen Abbruch in lrzsz für das Modem, dazu habe ich das Ticket 41028 erstellt. Konnte es selbst fixen, in dem ich minicom reinstalliert habe.
1. Download eines Image von . Z.b. das 2014-09-09-wheezy-raspbian.zip Archiv. Das zip Archiv entpacken.
2. SD Karte (z.B. 8 GB) in einstecken und ermitteln welches Device es am Rechner ist unter Apple Menu –> Über diesen Mac –> Weitere Informationen… –> Systembericht –> Hardware ->USB –> Unter USB Hochgeschwindigkeits-Bus / Hub / Integrierter Speicherkartenleser dann die Info unter BSD-Name:
In meinem Fall ist es: disk3
Oder mit diskutil list
schauen.
3. sudo diskutil unmount /dev/disk3s1
4. sudo dd if=Downloads/2014-09-09-wheezy-raspbian.img of=/dev/disk3 bs=1m
Jetz ca. 60 min warten bis die Meldung
2825+0 records in
2825+0 records out
2962227200 bytes transferred in 2020.681419 secs (1465955 bytes/sec)
kommt. Dann kann die Karte ausgeworfen und in den Raspberry Pi gesteckt werden.
5. Netzwerkkabel anschließen und Strom anschalten.
Per ssh pi@10.1.1.1 (Adresse anpassen)
und Passwort: raspberry im Terminal anmelden.
6. Auf dem Prompt raspi-config eingeben und Konfigurieren der Sprache (de_DE.ISO-8859-15@euro), Erweiterten Speicher, SSH Server, neues Passwort und auf neueste Version updaten. Restart. Alles über diese schöne GUI:
7. Und testen ob Java installiert ist mit java -version
, JA sogar die Version 1.8:
8. Und System noch updaten mit:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get clean
# Firmware update
sudo rpi-update
sudo ldconfig
sudo reboot
Wenn der VPN Client Tunnelblick installiert ist, ein Verzeichnis anlegen mit der Extension
.tblk
z.B. OpenWRT10.tblk
In diese Verzeichnis die Datei OpenWRT10.ovpn mit folgenden Inhalt kopieren:
remote 192.168.2.223 1194
client
dev tun
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert thomas.crt
key thomas.key
cipher bf-cbc
comp-lzo
# Statische IP Adresse: Server 10.0.0.1 Client 10.0.0.2
ifconfig 10.0.0.2 10.0.0.1
verb 3
mute 20
Die folgenden drei Zertifikate müssen auch in diesem Verzeichnis vorhanden sein:
Dann kann mit einem doppelklick auf das Verzeichnis die VPN Verbindung aufgebaut werden. Wenn die Verbindung geklappt hat, erscheint:
Um nur mal eben ein kleines Diagramm zu erstellen, benötigt man nicht immer Visio oder andere kostenpflichtige Programme. Es geht auch mit dem kostenlosen Programm Dia, welches für Mac OS, Windows und Linux erhältlich ist.
Für den Mac, geht auch die Installation über Port, also auf der Konsole:
sudo port install Dia
eingeben und schon ist alles richtig installiert.
Nach dem Download und install kann man gleich loszeichnen. So sieht die Arbeitsfläche von Dia aus:
Hier mal ein Beispiel eines ersten Versuchs:
Wenn man im Mac OS X mit gedrückter cmd Taste ein Icon im Dock anklickt, öffnet sich der Finder mit der selektierten Anwendung an der Stelle wo die Anwendung gespeichert ist.
Das gleiche passiert auch, wenn in der Spotlight suche ein Ergebniss gefunden wurde, dann cmd und Return drücken.
Auch öffnet sich ein neues Finder-Fenster wenn man mit gedrückter cmd Taste in der offenen Sidebar auf einen Eintrag (Favoriten) klickt.
iOS 7.0 Download Zeit ca. 13 Stunden für 1,24 Gb 🙁 vorausberechnet.
Nach 12 Stunden ist alles geladen, jetzt noch das update. Mal sehen wann es durch ist!
iOS 7 läuft nun. Mal was Neues!
Fürs iPadMini ging alles unter eine Stunde. Das iPad2 ist noch in Arbeit, soll 6 Stunden dauern für 1,05 Gb. Da kommen die Bytes einzeln durch die Leitung.