Social-Networks:
Facebook
Instagram
Tumblr

Blog: Latest Entries (15):


Projekt SMS2X gestartet

Mein neustes Projekt ist heute Abend gestartet. Es geht um ein Framework, dass SMS empfangen kann und diese dann anhand verschiedener Regeln wie Absender, Empfänger oder Inhalt an ein oder auch mehrere externe Systeme weiterleiten kann.
Diese Weiterleitung an andere System geschieht über Plugins, die auch dann die Daten aus der SMS aufbereiten sollen, so dass sie vom externen System verarbeitet werden können.
Einfache Plugins wie "in eine DB" schreiben, an einen REST-Service oder meine MessageDriven Bean schicken, werden direkt dann mitgeliefert.

Das Empfangen und Senden von einer SMS mit Java habe ich schon letzten Monat erfolgreich getestet, deswegen glaube ich, dass ich relativ schnell zu ersten Ergebnissen kommen werden. In den nächsten 2 Monaten hätte ich gerne den ersten brauchbaren Prototypen.

bbcode-image

Windows x86-Code auf ARM

x86 Code auf ARM

Windows NT war ja nie auf Intel-CPUs beschränkt. Auch wenn viele Plattformen nur in den Anfangen bis WinNT 4.0 unterstützt wurden und nur die Alpha-Plattform hätte fast noch Windows 2000 erhalten.

bbcode-image


Wobei in Deutschland neben den X86 und x86-64 Versionen eigentlich nur die PowerPC-Version (XBox 360) und die Alpha-Version von Bedeutung war, weil wirklich ein PC mit Alpha CPU und WinNT 4.0 im normalen Handel (Vobis) auftauchte.

Gut die ARM-Version für die kleinen Surfaces und Smartphones lief in Deutschland auch ganz gut, aber zum wirklichen Arbeiten musste man auch hier zu einem Surface Pro mit Intel CPU greifen.

Das Problem ist und war, dass es zu viele native Programme gibt, die nur für
eine CPU-Plattform kompiliert wurden und werden. Die Windows Universal App Plattform hat zu wenig Verbreitung und Java für Desktop-Anwendungen... naja.. der Zug ist meiner Meinung nach schon lange abgefahren.
Die Alpha-Plattform hatte hier den Vorteil, dass hier ein Win32 Emulator mitgeliefert wurde, der alle möglichen Windows Programme wie Office und so direkt ausführen konnte und dass wohl auch in einer wirklich guten Geschwindigkeit.

Im Endanwenderbereich gibt es momentan neben x86 und x86-64 nur noch ARM. Alles andere spielt kaum eine Rolle oder wird in eher speziellen Anwendungsgebieten eingesetzt, wo ein Windows nicht wirklich benötigt wird oder auch sinnvoll wäre.

Es gab schon PCs mit ARM CPUs und die waren wohl auch nicht schlecht zu den damaligen Zeiten. Es wird auch immer wieder über moderne Notebooks und PCs mit ARM-CPUs spekuliert, wobei hier nie wirklich was geschehen ist. Es gab eher Bestrebungen Aufgaben, die sonst von PCs erledigt werden, auf ARM Geräte zu verschieben.
ARM-Geräte sind meistens einfachere Tablets und Smartphones. Auf denen mit Anwendungen wie Word oder sogar Bildbearbeitungen und Videoschnitt zuarbeiten ist eigentlich kaum möglich. Eine externe Tastatur hilft, eine Maus bring schon mehr und am Ende ist das Display bei den Smartphones auf jeden Fall zu klein.

Microsoft hat Continuum entwickelt, welches das Smartphone in einen kleinen PC verwandelt, wenn man eben Monitor, Maus, Tastatur, etc an das Smartphone anschließt.
Es gibt eine Art Desktop und die Anwendungen passen sich soweit an, dass man sie besser und vor allem schneller bedienen kann.

Soweit klingt alles ganz toll. Ein Gerät, das man mobil und stationär verwenden kann und dass sich der jeweiligen Umgebung anpasst. Nintendo geht mit der Switch ja in eine ähnliche Richtung.

Aber am Ende fehlt immer irgend eine Windows-Anwendung die es nur für Intel-CPUs gibt und wegen der man dann eben doch bei PC und Smartphone bleibt.
Nun hat Microsoft einen performanten Emulator für immerhin Win32 Anwendungen entwickelt der auch ARM Geräten läuft. Damit könnte man also auf dem Smartphone, dann auch Win32 Anwendungen wie Photoshop oder kleine Spiele laufen lassen.
Das wäre dann auch ein Grund wieder bei den mobilen Geräten zu Windows zu wechseln, weil man damit dann wirklich ein kleines Notebook oder einen kleinen PC einsparen könnte und mit dem Smartphone viele Bereich abdecken könnte, die momentan nur von PCs oder den großen Tablets bedient werden können.

Es ist spannend und würde mal wieder etwas mehr Bewegung in den PC-Markt bringen.

Jetzt fehlen nur noch extrem gut skalierende CPUs und Kühllösungen, die es ermöglichen im mobilen Betrieb stromsparend und kühl zu arbeiten und im stationären oder Dockingstation-Betrieb dann viel Leistung bringen zu können.
Aber auch bei Thema kann man wohl mal auf Nintendos Switch Konsole gespannt sein.

Modules und der Composer-Autoloader

Man kann nicht nur über die composer.json den Autoloader befüllen. Wenn man z.B. Module hat die nicht über den Composer installiert werden sondern aus einem Verzeichnis geladen werden, müsste man die Einträge per Hand vornehmen, was aber nicht wirklich ideal ist.


$autoloader = require_once("../vendor/autoload.php");

foreach(ModuleFactory->getModuleList("modules/") as $module){
if(is_dir($module->getPath() . "/deploy/classes")){
$autoloader->addPsr4($module->getName()."\", $module->getPath() . "/deploy/classes");
}
}


Damit kann schnell und einfach alle Klassen des Modules hinzufügen und muss keinen eigenen ClassLoader schreiben.

Es ist natürlich langsamer als die über "dump-autoload" angelegten Mappings, aber dafür auch sehr viel flexibler.

AVM DVB-C Repeater als DVB-T Ersatz

DVB-T wird abgeschaltet. Das ist nicht schön, weil doch viele es nutzen. Nicht dass es besonders gut funktioniert hätte oder eine gute Bildqualität geliefert hätte. Viele hatten doch eher öfters Empfangsprobleme, wenn die Wände mal stabiler waren. Aber es war doch besser als Kabel für DVB-C oder DVB-S durch die Wohnung zu verlegen. Gerade wenn man zur Miete wohnt, kann man nicht vernünftig in jeden Raum so ein Kabel legen.

DVB-T2 ist an sich keine alternative, weil hier für die privaten Sender eine monatliche Gebühr fällig wird, was
sich wohl im Jahr auf so 70 Euro aufsummieren wird. Meiner Erfahrung nach setzen die wenigstens Haushalte rein auf DVB-T und es sind zu meist nur 2. oder 3. Geräte, die keinen direkten anderen Anschluss finden, die über DVB-T betrieben werden.

Bei mir war es ein DBV-T Stick an dem PC meiner Frau, der in paar Monaten nutzlos sein würde. Ein Kabel für DVB-C oder überhaupt ein weiteres Kabel dahin zu legen ist sehr suboptimal. LAN geht über das Stromkabel und ansonsten wird für alles so weit wie möglich nur WLAN verwendet. Nur im Arbeitszimmer intern gibt es richtiges LAN mit einem Switch und vielen Kabeln.

Ich kam dann auch die Idee das TV-Signal zu streamen. Es gibt mehrere fertige Lösungen dafür, so dass ich keinen Streaming Server selbst zusammen bauen musste. Die scheinbar beste Lösung kam von AVM. Der AVM FRITZ!WLAN Repeater DVB-C kann zwei Streams liefern und integriert sich direkt in das WLAN als Repeater so dass man ihn nur an die Steckdose stecken muss das Kabel für das TV-Signal verbinden muss. Ein T-Adapter ist auch gleich dabei.

bbcode-image

bbcode-image

bbcode-image


Also so einen bestellt. Die Installation ging sehr einfach. Hardware war innerhalb von 2 Minuten installiert.

bbcode-image


Dann mit dem WLAN des Repeater verbunden und http://fritz.repeater aufgerufen.

bbcode-image


Über das Menü kann man das Gerät dann in das vorhandene WLAN integrieren (man könnte auch ein LAN-Kabel verwenden oder ein weiteres WLAN nur damit einrichten).
Dann lief der Sendersuchlauf und kurz darauf waren alle Sender gefunden.

Dann folgte der komplexe Teil. Nämlich den Stream zu den Geräten zu bekommen. In der Senderübersicht des Gerätes kann man sich eine Senderliste als m3u-Datei erzeugen lassen und diese im VLC laden. Der listet dann alle Sender auf und man kann die jeweiligen Streams öffnen. Funktionierte gleich sehr gut und stabil. Die Qualität ist auf jeden Fall besser als DVB-T.

bbcode-image


Im Schlafzimmer steht noch ein TV-Gerät, das zwar über DVB-C angeschlossen war, aber dort immer Aussetzer im Stream hatte während die Streams über den Amazon Fire TV Stick problemlos liefen. Apps für TV-Streams der Pro7/Sat.1 Sender gibt es, aber die ganzen anderen Sender würden fehlen. VLC für den Fire Stick kann zwar auf alle möglichen Netzwerk und NAS Freigaben zugreifen, aber nichts mit der m3u-Datei anfangen.

bbcode-image


AVM bietet die FritzAppTV an, die aber erstmal nur über den Google Play-Store und iTunes zu bekommen ist. Aber zum Glück gibt es die APK direkt von AVM auch direkt als Download auf dieser Seite.

Jetzt muss man diese APK nur noch auf dem Fire TV Stick installieren. Das ist zum Glück auch sehr einfach. Bei den Einstellungen des Sticks die beiden Optionen in den Entwicklereinstellungen aktivieren. Dann habe ich mit Hilfe dieser Anleitung und der dort angebotenen Programme zum Download angebotenen Programme (Bei der Installation auf Addware achten! und es wird dann nur eine FTV.zip Datei "installiert") die APK auf dem Stick installiert. Die App tauchte dort direkt auf und lies sich ohne Probleme starten.

bbcode-image


bbcode-image


Streams laufen gut und auch hier stimmt die Bildqualität.

Damit kann DVB-T jetzt abgeschaltet werden ohne dass es uns noch irgendwie interessieren würde und als Nebeneffekt ist die Bildqualität und die Stabilität der Streams sehr viel besser geworden.

Postfix für Weiterleitungen

Meine meisten Email-Adressen sind ja nur Weiterleitungen. Beim Umzug meiner Domains auf meinen Server habe ich auch erst einmal alle umgezogen, die keine Email-Adressen haben. Das waren ein paar, aber dann war ich schnell bei denen mit Email-Adressen.
Damit ich nun auch hier einen sehr weichen Umzug hinbekomme, waren nun alle dran, die nur Weiterleitungen hatten.

bbcode-image


Weiterleitungen sind mit Postfix wirklich einfach umgesetzt. Die DNS Einträge hat Netcup bei mir immer gleich schon mit eingerichtet, so dass ich dort nichts weiter machen musste.

Zu erst muss natürlich Postfix instaliert werden.


sudo apt-get install postfix


Danach einfach die Config-Datei von Postfix editieren. Die Datei findet man jeden Falls unter Ubuntu
hier:


/etc/postfix/main.cf


Ans Ende der Datei wird etwas eingefügt:


virtual_alias_domains = mydomain.com, myotherdomain.com
virtual_alias_maps = hash:/etc/postfix/virtual.cf


In die virtual.cf kommen die Weiterleitungen:


test@mydomian.com redirect@othermailprovider.com
test2@mydomian.com redirect@othermailprovider.com


und dann holgt das typische Neuladen der Dienste


postmap /etc/postfix/virtual.cf
sudo service postfix reload


ich hatte mich an diesem Artikel orientiert http://www.binarytides.com/postfix-mail-forwarding-debian/


RXTXComm in Eclipse

Um RXTXComm für Java in Eclipse verwenden zu können muss man auch die DLLs Eclipse bekannt machen.
Im Buildpath muss man die JAR finden und dann ausklappen. Bei der Native Library Location muss man Edit wählen.

bbcode-image


Ich hatte die DLLs einfach mit im lib-Folder abgelegt.

bbcode-image


Danach lief auch die Suche von SMSlib.

bbcode-image


Leider funktioniert mein alter Huawei E1750 unter Windows 10 wohl nicht mehr so einfach. Ich habe mir mal den 4G Systems XS Stick P10 bestellt und hoffe, dass dieser gleich und ohne Probleme funktioniert.

Und dann mal die Beispiele zum SMS-Empfang von SMSlib testen.

Rewrite meines PHP-Frameworks

Zum 10. Geburtstag meines PHP-Frameworks wird sich da viel ändern und es damit dann wieder etwas mehr zu anderen Frameworks aufschließen können.

Mein eigener Class-Loader fliegt raus und es wird noch der ClassLoader vom Composer verwendet. Meiner kann zwar auch mit PSR4 umgehen, aber nach dem Umstieg muss ich dann auch alles darauf umstellen und habe keine Ausrede mehr, weil die Kompatibilität weg fällt.

Es gibt nun ein public-Verzeichnis so dass alle Config-Dateien und Classes außerhalb des Bereiches liegen, auf dem Benutzer zugreifen können. Das sorgt für mehr Sicherheit, macht das Laden von CSS und Bildern aus dem Theme-Verzeichnis aber komplizierter. Ich überlege hier auf Assetic umzusteigen. Momentan läuft meine Lösung aber sehr gut.

Und das Beste und wichtigste was aber auch am meisten Arbeit machen wird (darum habe ich ganz viele alte Module erst einmal gelöscht und lasse auch die alten PHP-Pages drin) ist, dass Module-Pages nun wirklich mit Controller und Twig-Template gerendert werden. Die Twig-Templates könenn vom Theme und von eigenes Templates in der Instance überschrieben werden und so kann man nun endlich das Aussehen der Module leicht und schnell anpassen.
Smarty war schon länger drin, wurde aber nie benutzt und ist jetzt raus geflogen.

bbcode-image


Mein erstes Projekt damit wird sein, die Zeiterfassung für Kunden-Projekte neu zu schreiben und für alle brauchbar zu machen. Das wird wohl am Ende nur 1-2 Tage dauern. Also nichts im Vergleich zum Umbau des Frameworks.

King Pigeon RTU5023 Anleitung

Das King Pigeon RTU5023 ist ein Gerät zum Messen von Temperatur und Luftfeuchtigkeit. Der Vorteil ist, dass das Gerät diese Messungen dann auch über das Handy-Netz (Quad-Band) per SMS verschicken kann. Mit dem sehr stabilen Gehäuse und dem Anschluss für den Senor kann man damit also ohne Probleme Transporte mit LKWs oder Zügen von einem Standort aus überwachen. Mit einer SMS-Flat entstehen auch kaum zusätzliche Kosten. Die SIM-Karte darf keinen PIN haben, da man an dem Gerät keine PIN eingeben kann und die Programmierung rein über Commands erfolgt, die man dem Gerät per SMS schickt. Antworten tut das Gerät auch über SMS.

bbcode-image


Ich habe das Gerät von der Switch GmbH bekommen, um mal heraus zu finden wie es funktioniert und wie man es in vorhandene Systeme integrieren kann.

Das Problem ist, erst einmal etwas über das Gerät heraus zu finden. Bei chinesischen Geräten ist das ja immer das Problem, dass man zwar viele Seiten findet wo man das Gerät kaufen kann, aber kaum Seiten vom Hersteller oder mit Anleitungen. Das ist auch hier so. Die Infos zu den SMS Commands ist schwer zu finden und auch nicht gerade übersichtlich oder gut erklärt.

ABER es gibt einen Vorteil und dieser ist die Android-App im Google Play-Store. Diese macht an sich nichts andere als Eingaben in die App per SMS zu verschicken. Antworten kommen per SMS und werden dort wieder eingetragen.

bbcode-image


Also einfach das Gerät anschließen und die App installieren. Als erstes muss man das Gerät anmelden. Nummer eingeben, das default Passwort ist 1234 und den Rest nach belieben ausfüllen und speichern.

bbcode-image


Ich wurde erst einmal mit SMS voll gespamt. Meistens dass die Report-Time auf 999 stehen würde. Also diese erst einmal auf 1h gestellt und schon hörte es auf. Man kann sich stündlich Reports der Messungen zusenden lassen oder Alarm SMS, falls die Tempartur- oder Luftfeuchtigkeit-Range über oder unter schritten wird.

bbcode-image


Das Tolle ist, dass die SMS natürlich auch einfach im Handy vorliegen. Da kann man dann anhand der Zuordnungen von Befehl und Antwort sich die meistens Commands einfach so erarbeiten.


1234DT001


Das setzt die Report-Time auf 1h.

bbcode-image


Als nächstes geht es nun darum SMS zu empfangen und deren Inhalt auszuwerten. Davon ist wohl das Empfangen das Problem, wobei ich noch einen UMTS-Stick rumliegen habe und es da wohl entsprechende Java-Libs gibt.
Damit kann man sich dann ein SMS-Gate bauen und die eingehenden SMS parsen und weiterleiten. Aber das kommt dann nächste Woche.

Microsoft Surface und Micro SD Karte

Eine der Eigenschaften des Microsoft Surface Pro 4 mit Core m3 CPU ist der doch sehr geringe Speicher in Form einer 128GB SSD. Im Vergleich zu den Speichergrößen von Android Tablet ist 128GB schon wirklich groß und scheint erst einmal ausreichend.
Der Unterschied zu einem Android-Tablet ist aber, dass man mit dem Surface richtig arbeitet und entsprechend viele und auch komplexe Programme installiert. Allein die Grundaustattung mit XAMP, Java, IDE, GITKraken und vielen kleinen Tools spreng leicht den Rahmen an dem was auf einem Android Tablet vom Benutzer an Daten und Apps zu finden ist. Beim Surface kommen dann noch die Daten des Benutzers hinzu.

Mit paar Bildern in RAW+JPEG und paar MP4s in FullHD von der DSLR wäre der noch freie Speicher der 128GB sehr schnell voll. Musik, Videos, ISOs oder VMs sind zu viel für die 128GB.

bbcode-image


Zum Glück kann man eine Micro SD-Karte nachrüsten. Die Geschwindigkeit einer normalen SD-Karte ist natürlich nicht vergleichbar mit der SSD, aber für einfaches ablegen von Daten reicht eine einfache SD-Karte. Für etwas über 10 Euro bekommt man 64GB. Für mehr Geld würde man auch eine schnelle 128GB Karte bekommen, die dann auch schnell genug sind, um mal ein portables Programm darauf ablegen zu können ohne ewig lange Ladezeiten riskieren zu müssen.

bbcode-image

Der Surface Pen

Ich hatte den Surface Pen als etwas Bezeichnet was ein nettes Gimmick wäre, aber auch nicht so viel mehr.
Nun habe ich ihn zusammen mit FreshPaint doch einige Stunden verwendet und muss sagen, dass er für Zeichnungen doch ganz gut geeignet ist. Nicht wirklich zum Malen, aber für einfache kleine Skizzen-Zeichnungen ist es ein tollen Gerät.

Kann man damit ultra genau zeichnen? Nein. Sind die Druckstufen gut zu kontrollieren und genau zu verwenden? Nein.
Es gibt verschiedene Spitzen, aber die habe ich genau wie bei meinem alten Wacom Intuos 3 nicht ausprobiert.

bbcode-image


Also revidiere ich ich meine Ausgabe zum Pen etwas: Für schnelle Skizzen mit den richtigen Programmen ist der Pen wirklich toll. Aber man sollte trotzdem nicht zu viel erwarten.

Beim Surface Pro 4 kann es auch mal passieren, dass man wenn man die Handfläche auf dem Display beim Zeichnen ablegt, damit doch mal einen diagonalen Strich auf das Canvas damit zeichnet. Aber mit Undo ist das Problem dann schnell wieder gelöst.


Falsches Zertifikat bei https auf eine Domain

Ich hatte eben das Problem, dass das Zertifikat auf https://www.superseriousllama.de/ ungültig sein und eigentlich für https://www.mp4togif.com ausgestellt wurde.


SSL_ERROR_BAD_CERT_DOMAIN


Das Problem war nach längerer Suche, dass ich einfach vergessen hatte die llama-ssl.conf mit


sudo a2ensite llama-ssl


zu aktivieren.

bbcode-image


Da muss man erst einmal drauf kommen, dass dann das Zertifikat einer anderen Seite verwendet wird.

Bastelzeit mit 1366 Kühlern

Bald ist mal wieder Bastelzeit. CPU, Mainboard, RAM, Festplatte und Netzteil liegen breit. Heute kamen dann die Kühler an. Kühler für Socket 1366 Server-/Workstation-Mainboards zu bekommen ist nicht ganz so günstig wie für Desktop-PCs. Aber sie sind katzen-geprüft und von Supermicro. Es kann also nicht so viel schief gehen und mit BeQuiet-Lüftern drauf kühlen die dann auch gut.

bbcode-image


Nur ein gutes und günstiges Gehäuse fehlt mir noch. Ich hätte gern ein Intergraph TDZ Gehäuse, aber die scheint es seit Jahren nicht mehr zu geben.

Automatisch Farb-Array erzeugen

Wählt möglichst weit aus einander liegende Farben aus der Auswahl aller Farben, wobei die Enden (Schwarz und Weiß) ausgelassen werden. Da bei wenigen Farben nur Grautöne heraus kommen, werden bei weniger als 8 Farben die Abstände zwischen den Farben geringer als möglich gewählt.


function ColorGeneratorService(){
this.generateColorList = function(neededColorCount){
var minColorsfactor = 1;
if(neededColorCount < 8){
minColorsfactor = 3;
}
var result = [];
var end = parseInt(0xFFFFFF);
var step = Math.round(end / ((neededColorCount * minColorsfactor) + 1));
for(var i = 1; i <= neededColorCount; i++){
result[result.length] = "#"+(step * (i * minColorsfactor)).toString(16);
}
return result;
};
}

Older posts: