Wie schreibe ich die Daten mit minicom aus der der seriellen USB-Schnittstelle in eine Datei unter Mac OS X?
Das Terminal-Programm minicom muss erste installiert werden.
Dann muss minicom auf den USB Port eingestellt werden.
Aufruf:
sudo minicom -s
Dann unter Konfiguration – Einstellungen zum seriellen Anschluss den USB Port angeben z.B. bei mir:
/dev/tty.usbserial-A501U7KD
Geschwindigkeit auf: 9600

Unter Konfiguration – Dateinamen und Pfade die Verzeichnisse für Download und Upload setzen.
Und alles speichern mit Konfiguration – Speichern als „dfl“
Minicom beenden.
Als User starten mit:
minicom -C logdateiname.txt
Ab sofort wird die ganze Ausgabe in die logdateiname.txt geschrieben.
Beenden kann man die Ausgabe mit:
Ctrl+A und dann Q
Hier ein Beispiel mit den gelesenen Luftdruck und Temperatur Parametern über den USB Port:

Arduino Nano Relais Ansteuerung (Relay test)
Mit dem Arduino kann leicht auch 230 Volt geschaltet werden. Dazu kann ein Relais an den digitalen Pin 7 und + VCC und – Masse verbunden werden.
In diesem Video kann man hören und sehen, wie das Relais alle 5 Sekunden an und wieder aus geschaltet wird.
Folgendes Sketch ist in den Arduino Nano hochzuladen.
/*
TWRelais
Dieses Programm schaltet das Relais alle 5 Sekunden an und aus.
Thomas Wenzlaff 02.07.2013
Das Relais wir an den digitalen Pin 7 angeschlossen und VCC 5 V und Masse verbunden
Größe des compilierten Programm: 1108 Byte
*/
// An Pin 7 ist eine Relais angeschlossen,
const int RELAIS = 7;
// Die setup Methode wird nur einmal ausgeführt und bei reset
void setup() {
// Digitaler PIN 7 mit der RELAIS ist ein Ausgang
pinMode(RELAIS, OUTPUT);
}
// Die Endlosschleife
void loop() {
digitalWrite(RELAIS, HIGH); // RELAIS anschalten
delay(5000); // 5s warten
digitalWrite(RELAIS, LOW); // RELAIS ausschalten
delay(5000); // 5 Sekunden warten
}
Vergleich zweier Temperatursensoren DS18B20 mit gnuplot
Eine kurze Messung mit zwei an das Arduino-Board angeschlossene Temp.-Sensoren DS18B20 ergibt diese Daten.
Daraus läßt sich mit diesen gnuplot Befehlen
set title "Temperaturverlauf"
set ylabel "Temperatur in Grad/Celsius"
set xlabel "Messzeitpunkt"
set xdata time # x-Achse wird im Datums/Zeitformat skaliert
set timefmt "%Y.%m.%d_%H:%M:%S" # Format Zeitangaben yyyy.mm.dd_hh:mm:ss
set format x "%H:%M" # Format für die Achsenbeschriftung
set yrange [26:28] # die y-Achse geht von:bis
set terminal png
set output "temperaturverlauf.png"
plot "temperatur.log" using 1:2 title "Innen Sensor" with lines, "" using 1:3 title "Aussen Sensor DS18B20" with lines
diese Grafik plotten:

Die Sensoren sind mit +-0,5 Grad Celsius bei -10 bis +85 Grad angegeben.
Die Differenz beider Werte ergibt mit diesen gnuplot Befehlen:
set title "Temperatur Differenz zweier Sensoren"
set ylabel "Temperatur Differenz in Grad/Celsius"
set xlabel "Messzeitpunkt"
set xdata time # x-Achse wird im Datums/Zeitformat skaliert
set timefmt "%Y.%m.%d_%H:%M:%S" # Format Zeitangaben yyyy.mm.dd_hh:mm:ss
set format x "%H:%M" # Format für die Achsenbeschriftung
set yrange [-1:1] # die y-Achse geht von:bis
set zeroaxis # die 0 Linie
set terminal png # erzeugt eine PNG Datei
set output "differenztemperaturverlauf.png" # Name der PNG Datei
plot "temperatur.log" using 1:($2-$3) title "Temperatur-Differenz" with lines
set terminal aqua # wieder auf Terminal
replot # nochmal in Terminal plotten
folgendes Ergebnis.

Mit welchem gnuplot Befehl bekomme ich eine horizontale Linie bei 0,5 und -0,5 Grad hin, die mit min und max Beschriftet ist? Ok, hier die Lösung.
Wie können mit gnuplot Temperatur-Diagramm erstellt werden?
Habe mit dem Arduino und dem Temperatursensor DS18B20 mal zwei Stunden die Temperatur mit einem Java Programm gemessen.
Die erzeugte Logdatei hat folgenden Aufbau:
[Messzeitpunkt] [Gemessener Wert in Grad/Celsius]
Z.b.:
2013.06.22_17:56:18 29.25
2013.06.22_17:56:23 29.25
2013.06.22_17:56:29 29.25
# ...
2013.06.22_20:15:00 27.56
2013.06.22_20:15:06 27.56
2013.06.22_20:15:12 27.56
Folgende gnuplot Befehle sind nötig (guter Überblick zu gnuplot):
set title "Temperaturverlauf"
set ylabel "Temperatur in Grad/Celsius"
set xlabel "Messzeitpunkt"
set xdata time # x-Achse wird im Datums/Zeitformat skaliert
set timefmt "%Y.%m.%d_%H:%M:%S" # Format Zeitangaben yyyy.mm.dd_hh:mm:ss
set format x "%H:%M" # Format für die Achsenbeschriftung
set yrange [27:30] # die y-Achse geht von:bis
set terminal png
set output "temp-verlauf.png"
plot "log-temp.txt" using 1:2 title "Sensor DS18B20" with lines
Um folgendes Ergebnis zu erhalten. Der peek am Anfang, ist entstanden, weil ich den Sensor kurz angefasst haben.

Oder hier mit points anstatt lines:

Temperatur Messung mit dem DS18B20 und Arduino Nano
Habe heute einen One-Wire DS18B20 Temperatursensor erhalten und ihn mit dem Arduino Nano verbunden. Der Messbereich des Sensors beträgt von -55°C bis +125°C bei ± 0,5°C Genauigkeit.
Mit den OneWire 2.2 und Dallas Temperature Control Library 3.7.2 Bibliotheken ist die
Temperaturmessung schnell zusammengebaut.
Hier das Foto des Aufbaus mit Schaltplan:

Das Programm (8038 byte) gibt zuerst die eindeutige ID des Sensors aus, (28-A2-9D-8A-04-00-00-2B) und dann jede Sekunde den neuen Messwert:
/*
TWTemp Version 1.0 vom 14.06.2013
8038 bytes
Thomas Wenzlaff http://www.wenzlaff.de
Temperature Sensor DS18B20 an Digitalen Port Pin 2 wie folgt verbunden
Links=Masse,
Mitte=Data,
Rechts=+5V,
3300 to 4700 Ohm Widerstand von +5V nach Data.
Es wird erst die Adresse des 1-Wire-Device ausgegeben und dann wird die Temperaturmessung gestartet.
*/
/* Benötigte Bibliotheken importieren */
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2 /* Digitalport Pin 2 definieren */
OneWire ourWire(ONE_WIRE_BUS); /* Ini oneWire instance */
DallasTemperature sensors(&ourWire);/* Dallas Temperature Library für Nutzung der oneWire Library vorbereiten */
void setup()
{
delay(1000);
Serial.begin(9600);
Serial.println("Temperatur Messprogramm");
Serial.println("TWTemp 1.0 vom 14.06.2013");
Serial.println("http://www.wenzlaff.de");
delay(1000);
sensors.begin();/* Inizialisieren der Dallas Temperature library */
adresseAusgeben(); /* Adresse der Devices ausgeben */
Serial.print("Starte Temperatur abfragen ...");
}
void loop()
{
Serial.println();
sensors.requestTemperatures(); // Temp abfragen
Serial.print(sensors.getTempCByIndex(0) );
Serial.print(" Grad Celsius");
}
void adresseAusgeben(void) {
byte i;
byte present = 0;
byte data[12];
byte addr[8];
Serial.print("Suche 1-Wire-Devices...\n\r");// "\n\r" is NewLine
while(ourWire.search(addr)) {
Serial.print("\n\r\n\r1-Wire-Device gefunden mit Adresse:\n\r");
for( i = 0; i < 8; i++) {
Serial.print("0x");
if (addr[i] < 16) {
Serial.print('0');
}
Serial.print(addr[i], HEX);
if (i < 7) {
Serial.print(", ");
}
}
if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.print("CRC is not valid!\n\r");
return;
}
}
Serial.println();
ourWire.reset_search();
return;
}
Um die höchstmögliche Genauigkeit des Sensors auszulesen ist im Setup noch dieser Befehl nötig, damit dauert die Messung aber etwas länger: „Temperatur Messung mit dem DS18B20 und Arduino Nano“ weiterlesen
Das erste „Blink“ Programm für das Arduino Nano Board, es muss ja nicht immer „Hallo Welt“ sein.
/*
TWBlink
Beschreibung: Die rote Leuchtdiode (LED) auf dem Arduino Board blinkt alle 10 Sekunden
kurz für 50ms auf.
Dieses Beispiel ist Freeware und basiert auf dem Beispielprogramm Blink.
Thomas Wenzlaff 12.05.2013
Größe des compilierten Binary: 1108 Byte
*/
// An Pin 13 ist eine LED angeschlossen, die auf den meisten Arduino Boards vorhanden ist
const int LED = 13;
// Die setup Methode wird nur einmal ausgeführt und bei reset
void setup() {
// Digitaler PIN mit der LED ist ein Ausgang
pinMode(LED, OUTPUT);
}
// Die Endlosschleife
void loop() {
digitalWrite(LED, HIGH); // LED anschalten
delay(50); // 50 ms warten
digitalWrite(LED, LOW); // LED ausschalten
delay(10000); // 10 Sekunden warten
}
TOP 6 zum bessern Entwickler.
Jar2UML Plugin für Eclipse
Cooles Plugin für Eclipse. Verwandelt ein JAR in ein UML.
Install: Per drag and drop diesen Button in den Workspace Juno Workspace (Console) verschieben.
Nach der Installation über das Menü: File-Import-Jar2Uml eines der vier import Filter wählen und die nötige UML Datei erzeugen lassen.
Weitere Details.
Pattern Erzeugungsmuster
Demeter Mindmap
Kostenlose E-Books von journal.embedded-projects.net auf deutsch
Hier gibt es gute E-Books zum kostenlosen download zum Thema: Embedded Computer auf deutsch.
Habt Ihr noch andere Seiten gefunden? Dann hier als Kommentar hinterlassen.
Markdown Mindmap
yEd Graph Editor für UML, Ablaufdiagramme, Flowdiagramme und das kostenlos
Endlich gefunden. Cooles Java-Programm in Deutsch und Englisch.
Kostenlos für Windows, Linux und Mac. Ein Diagramm-Editor zum erstellen von UML und Ablauf-Diagrammen. Der yEd Graph Editor kann Diagramme unterschiedlicher Art erzeugen, layouten und vieles mehr.
Kennt ihr noch weitere gute kostenlose Programme? Dann hinterlasst bitte hier einen Kommentar.
Test F.I.R.S.T. Mindmap für Entwickler und Berater nicht nur mit JUnit
Ansteuerung des K8055 Device von der Firma Velleman per USB Java und HID.
Hier eine Demo, mit dem Ergebnis der Java-Ansteuerung über den USB-Port des K8055.
Der Java-Code und andere Infos vom K8055 gibt es hier.
Wie können gemachte Änderungen in einen bestimmten Zeitraum in Subversion angezeigt werden?
svn log -r {2011-01-01}:{2013-01-30}
oder lang:
svn log –revision {2011-01-01}:{2013-01-30}
Gibt alle Änderungen in dem Zeitraum von/ bis aus.
Kann auch mit Limit kombiniert werden z.B.
svn log -r {2011-01-01}:{2013-01-30} -l 3
oder lang:
svn log -r {2011-01-01}:{2013-01-30} --limit 3
Zeigt nur 3 Änderungen an.
Geht natürlich auch mit verbose, um ausführliche Meldungen auszugeben:
svn log -r {2013-01-01}:{2013-01-12} -v
oder lang:
svn log -r {2013-01-01}:{2013-01-12} --verbose
Top 4 skills for a Software Developer
Quick-Howto für die Coole Java Template-Erstellung (JaMoPP) mit CommentTemplate ldt. JavaMagazin 1-2013
Oder was ist JaMoPP? Damit es auch unter Eclipse Kepler SR1 läuft (Update: läuft auch unter Eclipse Luna 4.4.0 und Eclipse Mars 4.5.0), zuerst über Eclipse Marketplace den CommentTemplate 0.9.2 installieren:

Dann diesen Beispiel Code ausführen:
package de.wenzlaff;
import java.util.Date;
import de.devboost.commenttemplate.CommentTemplate;
/**
* 1. Installieren über Eclipse Update oder Marketplace (suchen nach CommentTemplate)
* 2. New PlugIn Projekt
* 3. Add new Dependencies de.devboost.commenttemplate-Version.jar
* 4. Klasse mit Extension Source.java erstellen
* 5. Annotation @CommentTemplate an String Methode mit return null
* 6. JavaDoc Formatierung in Eclipse für das Projekt ausschalten
* 7. Save erzeugt in src-gen-comment-template die generierte Klasse
* 8. Run as
*
* Beispiel Video: http://jamopp.org/index.php/JaMoPP_CommentTemplate
* Anleitung: http://reuseware.org/publications/2012_ACME_CommentTemplate.pdf
*/
„Quick-Howto für die Coole Java Template-Erstellung (JaMoPP) mit CommentTemplate ldt. JavaMagazin 1-2013“ weiterlesen
TOP 19 Java URLs Mindmap
Jenkins Mindmap
Scrum Mindmap
Relative Cost of a Bugfix
Kanban Mindmap
Jenkins TOP 10 Mindmap
Einfaches Design
Namen in der Programmierung – Mindmap
JUnit Test vs. Clean Code
Subversion Übersicht wichtiger Befehle als Mindmap.
Wie können in JAXB generierten Klassen automatich eine serializable UID hinzugefügt werden?
Um in jede generierten Klasse ein
private final static long serialVersionUID = 1L;
hinzuzufügen muss in der:
binding.xjb
Datei der folgende Eintrag ergänzt werden:
xjc:serializable uid="1"


















