Ein PDF in Java ist mit iText 7 in ein paar Minuten gemacht.
Wir können z.B. ein String Liste mit nur 3 Zeilen Code mit dem Times Roman Font auf DIN A4 ausgeben:… „PDF Erzeugung mit iText 7 oder in 3 Zeilen Java zum PDF“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, Statistik, Krypto und Blockchain
Ein PDF in Java ist mit iText 7 in ein paar Minuten gemacht.
Wir können z.B. ein String Liste mit nur 3 Zeilen Code mit dem Times Roman Font auf DIN A4 ausgeben:… „PDF Erzeugung mit iText 7 oder in 3 Zeilen Java zum PDF“ weiterlesen
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.
Der BMP085 ist ein Drucksensor mit hoher Präzision und ultra-niedrigem Stromverbrauch für den I2C-Bus.
Technische Daten:
Die Platine mit dem BMP085 (auf GY-65) ist nur 1,5 cm x 2 cm klein.
Von oben:
Von unten:
Anschlussbelegung:
Software:
Folgende beiden Libs von Adafruit downloaden und in das Lib Verheichnis kopieren. Evl. noch die Verzeichnisnamen umbenennen, da keine Sonderzeichen vorhanden sein dürfen.
1. Adafruit Unified Basis Sensor Driver
2. Adafruit Unified Drucksensor BMP085 Driver
Diesen Sketch TWDruck hochladen:
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085.h>
/*
TWDruck Version 1.0 vom 06.07.2013
Thomas Wenzlaff http://www.wenzlaff.de
Programm Größe: 12296 Bytes
Dies Programm liest den Luftdrucksensor und den Temperatursensor endlos aus,
und gibt die Werte über die Serielle-Schnittstelle mit Leerzeichen getrennt aus.
Kommentare beginnen mit #.
z.B.
# Luftdruck und Temperatur Messprogramm
# TWDruck 1.0 vom 06.07.2013
# http://www.wenzlaff.de
# Sensor: BMP085
# Treiber Version: 1
# Unique ID: 10085
# [Luftdruck in hPa] [Temperatur in Grad Celsius] [Höhe in Meter]
1022.59 26.84 -80.49
1022.73 26.84 -81.69
1022.63 26.85 -80.83
1022.51 26.85 -79.80
...
Anschluss an den Nanu Arduino:
Das BMP085 an:
SCL an A5
SDA an A4
VDD Plus 3.3V DC
Masse Minus
*/
const long MESSINTERVAL = 5000; // Messintervall in milli Sekunden
const long SENSOR_ID = 10085; // eindeutige Sensor ID
String KOMMENTAR = "# "; // Kommentar präfix
String TRENNER = " "; // Trennzeichen der Werte
Adafruit_BMP085 bmp = Adafruit_BMP085(SENSOR_ID);
void anzeigeDetails(void)
{
sensor_t sensor;
bmp.getSensor(&sensor);
Serial.println(KOMMENTAR +"Luftdruck und Temperatur Messprogramm");
Serial.println(KOMMENTAR +"TWDruck 1.0 vom 06.07.2013");
Serial.println(KOMMENTAR +"http://www.wenzlaff.de");
Serial.print (KOMMENTAR + "Sensor: "); Serial.println(sensor.name);
Serial.print (KOMMENTAR + "Treiber Version: "); Serial.println(sensor.version);
Serial.print (KOMMENTAR + "Unique ID: "); Serial.println(sensor.sensor_id);
delay(500);
}
void setup(void)
{
Serial.begin(9600);
if(!bmp.begin())
{
Serial.print(KOMMENTAR + "Kein BMP085 gefunden ... Prüfe I2C Adresse!");
while(1);
}
anzeigeDetails();
}
void loop(void)
{
sensors_event_t event; // neues Sensor ereignis
bmp.getEvent(&event);
if (event.pressure)
{
Serial.print(event.pressure); // Luftdruck in hPa
Serial.print(TRENNER);
/* Calculating altitude with reasonable accuracy requires pressure *
* sea level pressure for your position at the moment the data is *
* converted, as well as the ambient temperature in degress *
* celcius. If you don't have these values, a 'generic' value of *
* 1013.25 hPa can be used (defined as SENSORS_PRESSURE_SEALEVELHPA *
* in sensors.h), but this isn't ideal and will give variable *
* results from one day to the next. *
* *
* You can usually find the current SLP value by looking at weather *
* websites or from environmental information centers near any major *
* airport. *
* *
* For example, for Paris, France you can check the current mean *
* pressure and sea level at: http://bit.ly/16Au8ol */
float temperature;
bmp.getTemperature(&temperature);
Serial.print(temperature); // Temperatur in Grad Celsius
Serial.print(TRENNER);
/* Then convert the atmospheric pressure, SLP and temp to altitude */
/* Update this next line with the current SLP for better results */
float seaLevelPressure = SENSORS_PRESSURE_SEALEVELHPA; // 1013.25F Average sea level pressure is 1013.25 hPa
Serial.print(bmp.pressureToAltitude(seaLevelPressure,
event.pressure,
temperature)); // Höhe in Meter
Serial.println();
}
else
{
Serial.println(KOMMENTAR +"Sensor error");
}
delay(MESSINTERVAL);
}
Mit diesen Daten, wird dieses Diagramm erzeugt:
Die gerade Linie im Diagramm, rührt daher das der PC sich automatisch in den Standby-Betrieb schaltet und damit die Serielle-Verbindung nicht mehr abgefragt wird.
Der dritte Wert der Daten ist die Höhe, die ändert sich nicht gross und wird deshalb nicht im Diagramm dargestellt. Wie wird bei gnuplot die 3. Y-Achse erzeugt? Geht das überhaupt?