Anzahl der Flugzeuge mit 3 Zeilen Java Code ausgeben via REST API mit Jersey und JDom 2.0

Mit Java ist es nicht schwer, einen REST Client zu erstellen. Das geht mit Jersey und JDom in 3 Zeilen.

Hier nun mal ein Beispiel.

Die Anzahl der Flugzeuge in Hannover wird von mir mit einem Raspberry Pi empfangen und an thingspeak gesendet.

jdom-2.0
Diese Daten kann jeder leicht abfragen. „Anzahl der Flugzeuge mit 3 Zeilen Java Code ausgeben via REST API mit Jersey und JDom 2.0“ weiterlesen

Node-RED von IBM für den Raspberry Pi auf Jessie

Node-RED, ein Tool von IBM mit einem grafischer Editor als Herzstück. Damit geht Programmiern sehr flink.

Node-RED läuft auf dem Raspberry Pi (BPlus) ziemlich gut. Die Installation ist gut auf der node-RED Homepage beschrieben oder auch hier auf deutsch. Man muss nur darauf achten, das die richtige Version für den Raspberry Pi gewählt wird. Ich hatte nicht die Version für die B Version installiert, das führte dann beim starten zu einer Fehlermeldung.

node-red-kleinhirn-eu

Also für den Raspberry Pi (B) wie hier beschrieben vorgehen: „Node-RED von IBM für den Raspberry Pi auf Jessie“ weiterlesen

Fritzbox Telefonbuch (Phonebook) mit Java bearbeiten via JDom und SAXBuilder

Wer eine Fritzbox hat, kann dort auch Telefonbücher anlegen, so das beim Anruf eine E-Mail versendet wird. Bei mir wird bei Anruf auch eine Pushover Nachricht auf das Handy gesendet und der Name und die Nummer mit openHAB via Karotz angesagt, so das ich schon hören kann, wer anruft.

fritz
Das läuft über das openHab Fritzbox 064 Binding ganz gut. Von dem Bindig wird aber bisher nur das erste Telefonbuch aus der Fritzbox ausgelesen. Wer ein anderes benutzt muss die Daten exportieren und in dem ersten Telefonbuch wiederherstellen, da es keine löschen Funktion in der Fritzbox gibt.

Bei mir war noch das Problem, das viele Telefonnummern (über 600) Blanks, Bindestriche und Klammern enthielt. Z.B. (0)511-123 456 und die wird bisher in dem Binding nicht erkannt. Deshalb habe ich einen kleinen Konverter geschrieben, der alle Blanks, (,),- löscht und auch alle Nr. die kein +49 haben und mit 0 beginnen mit dem gültigen prefix +49 ohne 0 ergänzt. Weitere Regeln können leicht angepasst werden.

In diesem Java Programm, kann man auch sehen, wie mit einem SAXBuilder ein JDom Dokument erzeugt gelesen und verändert werden kann. Hier das Programm: „Fritzbox Telefonbuch (Phonebook) mit Java bearbeiten via JDom und SAXBuilder“ weiterlesen

Wie kann auf einem Raspberry Pi mit OpenHAB ein Zitat des Tages mit Karotz angesagt und per Pushover versendet werden?

Auf der Website taeglicheszit.at gibt es täglich ein Zitat des Tages. Für diesen Service gibt es auch eine JSON Schnittstelle.

Die kann wie folgt genutzt werden, um täglich das Zitat anzusagen und per pushover zu versenden.

karotz-zitat

Voraussetzung ist das OpenHAB installiert ist und läuft.

Dann eine Karotz.items Datei im items Verzeichnis anlegen mit dem Inhalt von zwei Variablen für das Zitat und den Autor:

Die Variablen werden einmal am Tag automatisch aktualisiert.

Dann brauchen wir noch zwei Dateien im transform Verzeichnis für die JSON Auswertung: getZitatDesTages.js mit dem Ihhalt

und getZitatDesTagesAutor.js mit dem Inhalt

„Wie kann auf einem Raspberry Pi mit OpenHAB ein Zitat des Tages mit Karotz angesagt und per Pushover versendet werden?“ weiterlesen

UML Designer 5.0 für Eclipse Mars.1 installieren

Für die aktuelle Eclipse Mars.1 Version

eclipse mars.1gibt es einen kostenlosen UML 2.5 Designer. Mit ihm können ua. folgende Diagramme modelliert werden, wie auf der Homepage zu sehen:

  • Package Hierarchy Diagram
  • Class Diagram
  • Component Diagram
  • Composite Structure Diagram
  • Deployment Diagram
  • Use Case Diagram
  • Activity Diagram
  • State Machine Diagram
  • Sequence Diagram
  • Profile Diagram

„UML Designer 5.0 für Eclipse Mars.1 installieren“ weiterlesen

Raspberry Pi: COBOL in 5 Minuten installieren oder „Back to the Future“

Mal was anderes als Java. Die Programmiersprache COBOL läuft auch auf dem Raspberry Pi. Es gibt eine kostenlose Version, GnuCobol das in 5 Minuten installiert werden kann.

Es wird die Version 1.1.0 von GnuCobol (OpenCobol) installiert. Dass kann man leicht auf der Konsole testen mit:

So, nun wollen wir wie üblich erst einmal ein erstes COBOL Programm compilieren. Dazu erstellen wir die hello.cob Datei mit diesem Inhalt:

„Raspberry Pi: COBOL in 5 Minuten installieren oder „Back to the Future““ weiterlesen

Eclipse PlugIn SortIt zum schnellen sortieren nach Länge, Buchstaben oder Nummern

Sortierung von Text ist doch hin und wieder mal nötig. Das Eclipse Plugin SortIt ist zwar schon älter, läuft aber immer noch mit der aktuellen Eclipse Mars 4.5.0 Version. Es kann wie alle anderen Plugins installiert werden.
Cooles Plugin
Die Updateseite die unter dem Menü: Help->Install new Software eingetragen werden muss lautet:

Dann durch den Installationsvorgang gehen:

SortIt „Eclipse PlugIn SortIt zum schnellen sortieren nach Länge, Buchstaben oder Nummern“ weiterlesen

Raspberry Pi: MQTT Server mosquitto installieren und Daten in Fhem über MQTT empfangen oder „Wie werte ich Haustür klingeln aus?“

Installieren eines mosquitto Servers auf dem Raspberry Pi geht in 10 Minuten aber die weitere Konfiguration dauert dann schon ein wenig. Ziel dieses Blog Eintrags soll es sein, das Fhem über den MQTT-Server liest.

Später kommt dann ein ESP8266 der das Klingelsignal an der Haustür aufnimmt und drahtlos an Fhem via MQTT sendet. Hier mal die Architektur:
Architektur

Aber jetzt erst einmal die Vorarbeiten:

So, nun ist das MQTT Gerät vorhanden:

MQTT „Raspberry Pi: MQTT Server mosquitto installieren und Daten in Fhem über MQTT empfangen oder „Wie werte ich Haustür klingeln aus?““ weiterlesen

Wie kann LUA vom Mac in den ESP8266 geflasht werden um einen Reedkontakt per WLAN abzufragen?

Wollte schon immer mal LUA in den ESP8266 flashen. Um billig mit einem Reed-Kontakt und einem Server den Status des Schalters drahtlos über WLAN abzufragen.

reedschalter

Also erst einmal eine LUA Firmware für den ESP8266 „bestellt„, da ich keine Lust hatte es selbst zu kompilieren.
LUA Firmware
Dazu hier einfach die E-Mail Adresse angeben und die default Einstellungen absenden. Nach ein paar Minuten kommt der Link per E-Mail: „Wie kann LUA vom Mac in den ESP8266 geflasht werden um einen Reedkontakt per WLAN abzufragen?“ weiterlesen

Wie kann PySerial und Esptool auf einem Mac OS X El Capitan zum flashen einer neuen Firmware für den ESP8266 installiert werden?

Wie kann das Flashen eines ESP8266 von einem Mac laufen?

Wie hier beschrieben brauchen wir pyserial und esptool. Die werden wie folgt installiert:

miniterm

Flashen einer neuen Firmware

Erster Versuch soll mal die MicroPython Firmware von hier sein.

So nun kann die Firmware geflasht werden. Dazu das Archive downloaden und in das Verzeichnis des esptool kopieren.

Vor dem Flashen muss der ESP noch in den Flash Modus geschaltet werden. Dazu den GPIO 0 auf Masse mit einem Pullup von 1KOhm gegen Plus schalten.

Dann das flashen starten:

Ok, das Flashen hat geklappt. Nun den Pin GPIO 0 wieder mit einem 10 KOhm an Plus 3,3 Volt legen und starten.

Nun mit einem Terminal Programm verbinden:

und schon haben wir MicroPython auf dem ESP. Ein erster Check mit

Oder ein Soft-Reset mit den Tasten Ctrl+D ausführen:

Welche Firmware ist noch gut? Oder welches Python Script ist nützlich?

Wie kann der ESP8266 mit dem Raspberry Pi verwendet werden?

Wie kann der ESP8266 mit dem Raspberry Pi verwendet werden. Das Teil gibt es für ein paar Euros in der eBucht. Habe nun auch so eine Platine liegen. Dazu erst einmal eine Mindmap (ESP8266) erstellt, für den schnellen Überblick.

Es gibt schon viele Seiten zu dem Thema. Welche sind wichtig? Was kann man da mit machen? Ideen?

Oder doch besser am Arduino verwenden?

Vorschläge gern als Kommentar.

Ecore & EMF: Wie kann eine bidirektional Verbindung in Eclipse zwischen zwei Klassen im ecore-Model modelliert werden?

Hier am Beispiel von einem Arzt und einer Adresse. Wenn nun von der Adresse auf den Arzt und umgekehrt navigiert werden soll, kann die bidirektionale Verbindung im Feld EOpposite wie folgt eingetragen werden (rechts auf den Pfeil der Combobox klicken):

opposite
„Ecore & EMF: Wie kann eine bidirektional Verbindung in Eclipse zwischen zwei Klassen im ecore-Model modelliert werden?“ weiterlesen

Ecore: Wie kann ein Java Attribut für die Hibernate Suche im Ecore Modell annotiert werden?

Wie kann in einer Java Klasse ein Attribut für die Hibernate-Suche wie folgt annotiert werden?

Dazu folgende EAnnotation als Value mit den voll qualifizierter Namen einfügen, damit auch die imports aufgelöst werden können

ecore value

ecore annotation

Und für die Maven pom.xml, den folgenden Eintrag, damit die Hibernate Klassen auch gefunden werden können:

Eclipse EcoreTools: Wie können *.aird (*.ecore) Modelle per UML unter Eclipse Mars bearbeitet werden?

Mit den Ecore Tools können gut Modelle per UML modelliert und das Java-Modell generiert werden. Die Ecore Tools können leicht über den Menüpunkt: Hilfe -> Eclipse Marketplaces … installiert werden:
ecor tools

Nach einem Neustart können die *.aird (ecore) Dateien über das Menü: Windows-Show View … Model Explorer geöffnet werden:

aird „Eclipse EcoreTools: Wie können *.aird (*.ecore) Modelle per UML unter Eclipse Mars bearbeitet werden?“ weiterlesen

Ecore mit Texo: Wie kann im Annotationsmodell die Spalte für EString vergrößert werden?

Default wird für EString eine Länge von 255 Zeichen verwendet. Wie kann die Spalte nun vergrößert werden wenn ein:
Error Code: 1406. Data too long for column … at row …
kommt?

Einfach das Annotationsmodel um diesen Eintrag ergänzen:
Annotation

Dann das Modell einmal neu generieren, schon ist die Spalte wie gewünscht annotiert:

Eclipse go to Mars 4.5 Release oder wie wird Eclipse Mars auf dem Mac OS X installiert?

Heute ist die Mars 4.5 Version von Eclipse veröffentlich worden. Was gibt es neues?
Ok, dann mal auf die Mars Download Seite und das Programm laden. Ich war übrigens der 6,666 Download!

Für den Mac geht es jetzt super einfach.

Installation

Download des Eclipseeclipse-jee-mars-R-macosx-cocoa-x86_64.tar.gz oder andere gewünschte Version.
Dann einen doppelklick auf die Datei zum entpacken. Nun noch die Eclipse.app in das Programme Verzeichnis verschieben. Dann das Programm starten durch einen doppelklick auf Eclipse.app. Das geht gefühlt schneller als vorher!

Mehr ist für die installation auf einem Mac nun nicht mehr nötig. Hier die IDE, mit den Versions Dialog:
Eclipse Mars

Mars, das war’s. That’s it. Happy coding!

CSV Testdaten Generator (Oder wer testet ist feige? NEIN) und mehr Tools für CSV to …

Mit dem CSV-Testdaten-Generator kann schnell und einfach jegliche Art von Testdaten erzeugt werden. Die dann leicht in JUnit und sonstwie weiterverwendet werden können.

Auch andere gute Tools für die Bearbeitung von CSVs sind dort zu finden. z.B.

  • Convert CSV To Delimited – reformat, filter, and sort delimited data
  • Convert CSV To Fixed Width or ASCII Table
  • Convert CSV To GeoJSON
  • Convert CSV To HTML Table or MediaWiki Table New
  • Convert CSV To JSON
  • Convert CSV To KML
  • Convert CSV To Multi-line Data
  • Convert CSV To SQL
  • Convert CSV To XML
  • Convert CSV To YAML
  • Pivot CSV Tool
  • Convert Fixed Width To CSV
  • Convert GeoJSON To CSV
  • Convert HTML Table To CSV
  • Convert JSON To CSV
  • Convert SQL To CSV
  • Convert XML To CSV
  • Convert YAML To CSV

Z.B. geben wir in der Eingabe Zeile folgende Schlüsselwörter an:

seq; first; last; name; email; latitude; longitude; domain; string

Wählen noch die Anzahl der zu erzeugenden Datensätze, z.B. 10 und klicken auf „Generate Test Data“.

Schon werden die Testdaten erzeugt, z.B.:

Mit klick auf „Save to Disk“ können die Testdaten in eine Datei gespeichert werde.

Die Testdaten werden auf dem Client erzeugt, und werden also nicht an den Hersteller der Seite gesendet.

Nun können wir die CSV Testdaten auch in eine HTML Tabelle umwandeln, hier nur die Spalten 1,2,3 eingegeben:

[seq first last
1 Nevaeh Flores
2 Raymond Castillo
3 Alex Vega
4 Emery Chapman
5 Ayla Price
6 Eden Ortega
7 Eva Higgins
8 Jaden Maxwell
9 Bryson Wood
10 Gabriel West

Wer die CSV dann in XML umwandel möcht, kann dies auch leicht mit dem CSV to XML Converter tun. Hier mal die CSV die oben generiert wurde:

Oder mal eben 1000 Passwörter die 20 Stellen haben generieren mit:

seq,string(20)

Weitere Ideen?

Wie können auf einem Mac OS X dmg (Apple disk image) Archive mit Maven und hdiutil erstellt werden?

Will man Java Programme ausliefern, benötigt man auf einem Apple ein dmg Archive. Das kann wie folgt erstellt werden.

In der pom.xml folgendes Plugin einfügen:

Die Main Klasse mit der Klasse ersetzen, die gestartet werden soll. Auch der Pfad zum Icon anpassen. Evl. noch eine eigene plist setzen mit:

Dann das Maven Goal mvn package appbundle:bundle ausführen
mvn goal
und in das target Verzeichnis mit einer Konsole gehen und folgenden Befehl mit hdiutil ausführen:

Schon wird das TW.dmg Archive im target Verzeichnis erzeugt. Wer das auch noch als Maven Task automatisieren möchte, trägt noch folgendes ein:

Als Alternative könnte man auch das osxappbundle-maven-plugin verwenden. Das hat Abhängigkeiten zu Apple’s Java launcher, und ist nicht für Java Version 7 und größer.
Aber wer will, kann dann das als Alternative eintragen:

Wie kann ein BE-Model (ecore) mit Eclipse Modeling Framework (EMF) unter Eclipse Luna 4.4.2 und Texo generiert werden?

Für die meisten Java Projekte braucht man ein BE-Model, das am besten automatisch generiert wird. Wie kann das innerhalb von Eclipse Luna mit dem EMF durchgeführt werden?

Wir wollen diese Modell Stuktur erzeugen. Eine Mindmap hat 0-* Zweige:

BE

Zuerst Texo und EMF installieren.

Dann ein neues EMF Projekt anlegen über das Menü: File - New - Other:
EMF

Nun erstellen wir ein ecore Model über das Menü: File - New - Other - Eclipse Modeling Framework-Ecore Model:

model

So sieht das Projekt nun aus, mit der mindmap.ecore Model Datei:
eclipse ecor

Nun erzeugen wir zwei Klassen mit ein paar Attribute über New Child - New EClass über das Kontextmenü des Models (2.Zeile): „Wie kann ein BE-Model (ecore) mit Eclipse Modeling Framework (EMF) unter Eclipse Luna 4.4.2 und Texo generiert werden?“ weiterlesen

Wie kann eine MySQL Datenbank auf einem Mac OS X 10.10.3 (Yosemite) (Windows …) installiert werden, um mit Java von Eclipse (Java EE Luna 4.4.2) aus darauf zuzugreifen?

Wer eine MySQL Datenbank auf seinen Rechner installieren will, muss sich die Packages die zu installieren sind, auf der MySQL Homepage zusammen suchen.

Folgende drei Komponenten müssen für Mac OS X geladen und installiert werden (für Windows analog):

1. MySQL Community Server 5.6.24 von https://dev.mysql.com/downloads/mysql/

Für den Mac OS X 10.9 (x86, 64-bit), DMG Archive 5.6.24 167.6M mysql-5.6.24-osx10.9-x86_64.dmg. Installation.

2. MySQL Workbench 6.3.3
von http://dev.mysql.com/downloads/workbench/

mysql-workbench-community-6.3.3-osx-x86_64.dmg. Installation.

Die Workbench kann dann aus dem Programm Verzeichnis über das folgende Programm-Icon gestartet werden:
workbench

3. Connector/J 5.0.8 für Java für alle Betriebsysteme von https://dev.mysql.com/downloads/connector/j/5.0.html

Download mysql-connector-java-5.0.8.zip und z.B. in das Verzeichnis
/usr/local/mysql-5.6.24-osx10.8-x86_64/mysql-connector-java-5.0.8.jar kopieren.

Wenn alles installiert wurde, kann der DB Server über die Systemsteuerung mit dem MySQL Icon unten rechts gestartet werden:
mysql „Wie kann eine MySQL Datenbank auf einem Mac OS X 10.10.3 (Yosemite) (Windows …) installiert werden, um mit Java von Eclipse (Java EE Luna 4.4.2) aus darauf zuzugreifen?“ weiterlesen

Raspberry Pi: SNMP (Simple Network Management Protocol) installation in einer Stunde und Abfrage der CPU Temperatur per SNMP

Wie kann net-snmp auf dem Raspberry Pi installiert werden? Da es noch kein fertiges Package für den Raspberry Pi (Kali) gibt, ist selbst compilieren angesagt.

Wenn diese Bestätigung kommt:
snmp
Dann weiter mit compilieren und installieren. Das kann eine Stunde dauern … „Raspberry Pi: SNMP (Simple Network Management Protocol) installation in einer Stunde und Abfrage der CPU Temperatur per SNMP“ weiterlesen

Arduino: Neue Arduino IDE Version 1.6.2 veröffentlicht

Die neue Arduino IDE steht nun seit ein paar Tagen kostenlos zum Download für Mac OS X, Linux und Windows bereit.
Logo

Hier ein paar Highlights:

So sieht die IDE nach dem Start aus:

Arduino IDE 1.6.2
Arduino IDE 1.6.2

Also, dann mal los.

Raspberry Pi: Wie kann der Kismet-Server sauber rauf und runter gefahren werden zum WarWalking (WarDriving)?

Wenn ein Kismet-Server auf dem Raspberry Pi läuft, muss der Server sauber rauf und runter gefahren werden, sonst werden die *NETXML Dateien wegen einem fehlenden sync nicht vollständig auf die SD-Karte geschrieben. Das Problem ist aber, wie kann der Raspberry Pi eingerichtet werden, so das der gpsd und Kismet automatisch hoch und auch sauber wieder runter fahren, ohne das ein Bildschirm bzw. Konsole angeschlossen wird? Und wie kann vom GPS Empfänger die Systemzeit gesetzt werden, da der Raspberry Pi ja keine Systemuhr hat und es beim WarWalking kein Internet mit NTP gibt ?

Die Lösung des Problems wird in dieser Anleitung beschrieben.

Wir brauchen ein Script zum automatischen hochfahren und ein Script das auf einen Tastendruck wartet. „Raspberry Pi: Wie kann der Kismet-Server sauber rauf und runter gefahren werden zum WarWalking (WarDriving)?“ weiterlesen

GIT: TOP 10

Hier die immer wieder benötigten TOP 10

Welche Befehle nutzt Ihr noch häufig?

Wie kann der Plug-in Spy für UI Teile oder der Menü Syp auf dem Mac (Win) von Eclipse aufgerufen werden?

Wenn man in Eclipse sehen will, welche UI Komponenten gerade selektiert bzw. aktiv sind, kann der Plug-in Spy verwendet werden. Mit dem kann auch mit nur einen klick auf den Quellcode des jeweiligen aktiven Plug-ins zugegriffen werden. Wie kann der aber auf einem Mac aufgerufen werden (Vier Tasten gleichzeitig): fn+shift+alt+F1 (auf Windows Alt+Shift+F1)
Es erscheint dann solch ein PopUp-Dialog:
Eclipse Spy
und noch ein Beispiel:
Popup Spy

Analog dazu gibt es auch einen Spy für die Menüs, der wird mit fn+shift+alt+F2 (auf Windows Alt+Shift+F2) aufgerufen und dann ein Menüpunkt auswählen, es kommt dann z.B. dieser Dialog:
Menü Spy

Eclipse PlugIn: Wie kann Text im Konsolen Fenster ausgegeben werden?

Manchmal möchte man einfach nur Text in der Konsole ausgeben. Früher, d.h. vor Eclipse 3.0 musste man dazu eine eigene View erzeugen. Das braucht man nun nicht mehr, man kann die vorhandenen generic Log Konsole verwenden.

Aufrufen geht dann einfach so:

Hier die Methode, die die Konsole liefert bzw. erzeugt:

Wir erhalten dann folgenden Ausgabe:

Log Konsole von Eclipse
Log Konsole von Eclipse

Um das zu erreichen, muss noch eine neue Abhängigkeit ( org.eclipse.ui.console) (Dependencies) ergänzt werden:

Abhängigkeit Eclipse View
Was zu folgenden Eintrag im Manifest führt:
Manifest

Eclipse PlugIn: Wie kann ein Logeintrag in der Error Log View erstellt werden?

Bei der PlugIn Programmierung unter Eclipse Luna kann leicht auf die Log-View zugegriffen werden. Hier mal ein kleines Beispiel mit den verschiedenen Loglevel:

So sieht es dann aus:

Eclipse Log Eintrag erstellen
Eclipse Log Eintrag erstellen

OpenWrt Barrier Breaker 14.07: Wie kann Dump1090 auf einem TP-WR703N Router unter OpenWrt zum Airplanespotting installiert werden?

Hatte noch einen TP-WR703N rumliegen. Wenn dort die aktuelle Version von OpenWrt (14.07) installiert ist, geht es mit LuCI sehr schnell.

Auf die Seite System – Software gehen. Im Filter dump1090 eingeben und auf Find package klicken. Dann unten mit klick auf Install das fertige Package installieren.

Luci OpenWrt „OpenWrt Barrier Breaker 14.07: Wie kann Dump1090 auf einem TP-WR703N Router unter OpenWrt zum Airplanespotting installiert werden?“ weiterlesen