Nein. Leider nein. Auf schriftliche Anfrage des Herstellers „nein„. Es gab von der Fa. Koop auch keine Auskunft, wann es Adapter (Wippen) für die Homematic-Schalter geben wird. Schade das das Flaggschiff der Fa. Koop nicht mit Homematik verbunden werden kann.
Habe es dennoch versucht, um zu sehen woran es scheitert. Es passt einfach nicht, da der Wippen-Weg zu lang ist. Da ist auch mit feilen und sägen nichts zu machen, geht nicht mit den Kopp-Wippen
Also der Funkaktor passt nicht in die Vision Serie der Fa. Koop, so wie es der Hersteller sagt.
Schade, das die Vision Serie nicht passt.
Das sind die Homematic Schaltaktoren, die man mit einem „normalen“ Lötkolben leider nicht komplett löten kann,
da zwei Elkos so plaziert sind, das man da schon einen MINI-Lötkolben und eine Lupe haben muss (oder jemand kennen, der sowas hat 😉 ). Da könnte das Platinenlayout sicherlich verbessert werden.
Die Anleitung ist sehr Textlastig und in etwas so, löten sie so wie auf den Bildern zu sehen ist. Die Bilder sind leider nur in Orginalgröße vorhanden (Lupe lieg nicht bei) und dann auch noch mit einem anderen Bausatz vermischt. Da könnte ELV sicher noch optimieren.
Wenn er in Fhem angelernt ist meldet er:
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 level: 100 %
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 deviceMsg: on (to HMLAN_1)
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 on
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 running: -
# ab hier: rename CUL_HM_HM_LC_Sw1PBU_FM_207EF4 schalter
2013-09-18_17:04:29 schalter set_toggle
2013-09-18_17:04:30 schalter level: 0 %
2013-09-18_17:04:30 schalter deviceMsg: off (to HMLAN_1)
2013-09-18_17:04:30 schalter off
2013-09-18_17:04:30 schalter running: -
2013-09-18_17:04:40 schalter set_toggle
2013-09-18_17:04:40 schalter level: 100 %
2013-09-18_17:04:40 schalter deviceMsg: on (to HMLAN_1)
2013-09-18_17:04:40 schalter on
2013-09-18_17:04:40 schalter running: -
2013-09-18_17:04:59 schalter level: 100 %
2013-09-18_17:04:59 schalter deviceMsg: on (to HMLAN_1)
2013-09-18_17:04:59 schalter on
2013-09-18_17:04:59 schalter running: -
Wollte lange schon mal, zur Erinnerung an schöne Urlaube eine Markierung auf der Weltkarte anbringen wo wir waren. Als IT-Berater muss es dann aber schon eine Micro-Computer gesteuerte Version sein. Ein roter Punkt reicht da nicht.
Also hier das Ergebnis als Video, und weiter unten dann die Details:
Also so sieht die Weltkarte von vorne aus:
Hier die Rückseite. Ein Arduino Mega wurde verwendet, weil der bis zu 60 Ausgänge hat, die einzeln angesteuert werden können.
An jedem besuchten Urlaubsort wurde ein 3 mm Loch gebohrt und eine LED reingesteckt. An einen Pin der LED wurde jeweils noch ein 220 Ohm Widerstand angelötet. Ja, es sieht etwas wild aus:
Eine Nahaufnahme des Arduino Mega.
Ein Reed-Kontakt habe ich noch an einem Interrupt-Eingang des Arduino geschaltet, so kann man von vorne mit einem Magnet über den Null-Meridian fahren, und schon leuchten unsere TOP 3 Urlaubsorte (Hawaii, Tokio, Seychellen) permanent.
Hier das C-Programm, welches in den Arduino geflasht wird und die Ansteuerung durchführt.
Fünf Tage Quicktest mit dem Gadget von Withings in der Tasche. Es wiegt nur ein paar Gramm und hat sogar einen Touch-Screen. So kann es bedient werden:
Bisher läuft der Datenaustausch mit dem iPhone gut. Die App ist auch gut.
Der Accu hielt aber nicht wie angegeben 2 Wochen. Evl. war er auch nicht ganz aufgeladen.
Es gab in den Tagen auch einen neue Firmware, die ohne Probleme installiert werden konnte.
Folgende wichtige Features fehlen meiner Meinung nach noch in der App. (Version 1.17, Firmware Pulse: 731) und in der Browser-Version und kommen hoffentlich in zukünftigen Versionen.
Reihenfolge der Wichtigkeit nach sortiert:
1. Warnung bzw. Hinweis wenn der Accu geladen werden muss. So kann es passieren, das der Puls einfach aus geht, und keine Daten erfasst, ohne das man es mit bekommt. Nachträglich können bisher ja auch die Werte nicht manuell nachgetragen werden.
2. CSV Export der Daten für Aktivität, Puls, Strecke und Schlaf. Das ist für externe bzw. eigene Auswertungen unbedingt nötig.
3. Manuelles löschen für gemessene Pulswerte. Dann können auch fremde Personen mal eine Messung durchführen, ohne das die eigenen Daten verfälscht werden. Schnelle Antwort vom Support. Das ist doch schon integriert. Nur nicht so leicht zu finden. In der App. Herzfrequenz auswählen, dann auf den Wert klicken und über den Papierkorb oben rechts den Wert löschen.
4. Manuelles erfassen von Schlaf, Aktivität, Puls und Strecke.
Der Support von Withings habe ich schon mal informiert. Der meldet sich sehr schnell. Super.
Das ist mir schon das 5. Mal passiert, das die drahtlose Mac Tastatur sich nicht mehr per Bluetooth verbinden ließ.
Das Bluetooth paaring klappte mit keinem Gerät, auch Ein/Aus-Schalten und neue Batterien haben nicht geholfen.
Dann bin ich nach dieser Anleitung vorgegangen, und die Tastatur wurde „wiederbelebt“.
Der „Trick“ ist also nach dem Ausschalten der Tastatur und „Bluethooth Geräte Konfigurieren“ muss der Ein/Aus-Schalter an der Tastatur solange gedrückt gehalten werden,
bis der Name der Tastatur angezeigt und dann auf „Weiter“ geklickt wird und dann erscheint einen neue Paaring-Nummer. Erst wenn die Nummer erscheint, kann die Taste losgelassen werden, und die Nummer über die Tastatur eingegeben werden.
Hochladen eines Testprogramms über einen „alten“ USB-Hub. Als Board muss in der IDE „Arduino Mega 2560 …“ ausgewählt werden und die Serielle-Schnittstelle muss ausgewählt werden. Die werden am Mac OS X nur angezeigt wenn das Gerät angeschlossen ist. Es ist auch eine andere wenn der USB-Hub angeschlossen ist, bei mir z.B. dev/cu.usbmodemfd1421, der ist aber auf jedem System anders.
Der ATMega2560 R3 ist ein Microcontroller auf Basis des ATmega2560 mit diesen technischen Daten: Microcontroller ATmega2560
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 14 provide PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB of which 8 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz
Achtung! Nicht nachmachen! Lebensgefahr!
Wollte mal sehen wie das Netzteil (Eingang: 110-230 Volt, Ausgang: 5V, 1A an USB) so von innen aussieht. Das Gehäuse ist leider verschweißt, und musste mühsam mit der PUK-Säge geöffnet werden. Zuerst das Netzteil aus der Steckdose ziehen, also Spannungslos machen.Hier das Ergebnisse:
Auf beiden längst Seiten vorsichtig langgesägt:
Die Platine von oben:
Die Platine von unten:
Querschnitt, von der Seite. Links kann man gut den USB Ausgang erkennen:
Was kann die Ursache sein, das von OpenWrt kein Zugriff auf das Internet möglich ist?
Checken ob: ping wenzlaff.de geht, wenn nicht,
dann in der /etc/confi/network Datei überprüfen,
ob der folgende Eintrag mit dem DNS und Gateway vorhanden ist:
config interface ‚lan‘
option ifname ‚eth0‘
option type ‚bridge‘
option proto ’static‘
option ipaddr ‚192.168.2.122‘
option netmask ‚255.255.255.0‘
option ip6assign ’60‘ option dns ‚xxx.xxx.xxx.xxx‘ # IP-Adresse aus Router eintragen option gateway ‚192.168.2.1‘
Das Netzwerkkabel muss am Router angeschlossen werden und nicht an der Netzwerkkarte des Rechners.
Also kurz:
1. OpenWrt installieren
2. USB-Stick vorbereiten und an WR703N anschließen
3. Perl installieren
4. Fhem aus Subversion ausschecken
5. mit make install Fhem erstellen
6. nun kann Fhem gestartet werden in /usr/src/fhem mit: perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg
7. im Browser http://192.168.2.122:8083/fhem (ip anpassen) aufrufen, es kommt:
8. Autostart für Fhem einrichten. Datei /etc/init.d/fhem anlegen mit folgenden Inhalt:
#!/bin/sh /etc/rc.common
# FHEM Init Script
START=11
STOP=15
start() {
# cd /usr/src/fhem/
# perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg
# auf neue Verz. angepasst:
cd /etc/src/fhem/
perl /etc/src/fhem/fhem.pl /etc/src/fhem/fhem.cfg
}
stop(){
echo "shutdown" | nc localhost 7072
}
Dann noch die /etc/init.d/fhem Datei ausführbar machen und aktivieren. chmod +x /etc/init.d/fhem
/etc/init.d/fhem enable
/etc/init.d/fhem start
Nach reboot startet nun Fhem automatisch.
9. Fhem weiter konfigurieren
10. z.B. den ersten Plot anzeigen. Dazu z.B in das Verzeichnis /fhem/www/log die eine Test-Datei temp.log mit Messwerten kopieren. In der /etc/src/fhem.cfg
diese Anpassungen machen:
define Test dummy
define FileLog_Test FileLog /usr/src/fhem/log/temp.log Test
attr FileLog_Test logtype temp4:Plot,text
attr FileLog_Test room Test
define wlTest weblink fileplot FileLog_Test:temp4:CURRENT
attr wlTest room Test
Und schon wird dieses schöne Diagramm angezeigt. Es ist noch nicht viel, da die Testdaten nur ein paar Zeilen sind:
Wenn der TL WR703N mit OpenWRT 12.09 Attitude Adjustement und Luci 0.11.1 geflasht wurde, bleibt nur noch ca. 870 KB an Speicher frei.
Wie kann nun ein externer USB Stick an den WR703 angeschlossen werden?
1. USB-Stick vorbereiten
Der USB Stick muss vorher, mit ext4 an einen anderen Rechner formatiert werden, da der Speicher dafür nicht ausreicht.
Ich habe einen 8 GB Stick mit einer Partitionen wie folgt erstellt:
# ab jetzt ist auch in Luci der Tab vorhanden und zwar unter System – Mount Points
mkdir -p /mnt/sda1
mount /dev/sda1 /mnt/sda1
mkdir -p /tmp/cproot
mount – -bind / /tmp/cproot
tar -C /tmp/cproot -cvf – . | tar -C /mnt/sda1 -xf –
umount /tmp/cproot
umount /mnt/sda1
vi /etc/config/fstab
# in der config mount Sektion
option target /
option enabled 1
reboot
df # zeigt den Speicher an
Speicher ist nun genug vorhanden. Das kann auch unter Luci angezeigt werden:
Und die gemachten Änderungen aus der /etc/config/fstab werden so angezeigt:
Durch das flashen des TP-Link TL-WR703N mit einem Image unbekannter Herkunft,
hatte das schöne Teil leider seinen Geist aufgegeben.
Es kann aber wiederbelebt werden, aber nur über die Serielle-Schnittstelle die nicht nach draußen geführt ist.
Also musste ich doch die drei Kontakte nach draußen führen. Nach dem öffnen des Geräts, und freilegen der Platine,
sind die drei Kontakte (TX, RX, Masse) schnell lokalisiert, dank der guten Fotos auf http://forums.openpilot.org/blog/52/entry-92-unbrick-wr703n-wifi-router/
Eine gute Anleitung ist hier zu finden
http://wiki.villagetelco.org/index.php?title=Building_a_Serial_Port_for_TL-WR703N
und auch
http://www.bitzof.me/doku.php?id=electronics:wr703n:unbricking
Das größte Problem dabei ist an die kleinen Kontakte, passende Drähte anzulöten. Die Kontakte sind wirklich nur ca. 0,4 mm klein. Gefühlt 0,0000001 mm.
Ein Kollege hatte noch den passenden Draht, der wirklich dünner als ein Haar ist und konnte mir einen Meter überlassen.
Also die Brille gesucht und es hat beim ersten Versuch geklappt.
Das war der komplizierteste Teil.
Um den Mac zu schonen, habe ich das flashen der neuen Firmware auf einen alten Windows-Rechner gemacht.
Was war nötig alles nötig?
1. Den seriellen to USB Adapter cf20… an den WR-703N anschließen:
PIN 4 TX an WR TX
PIN 5 RX an WR RX
PIN 6 GND an WR GND
Achtung! Nicht RX an TX und TX an RX .so wie sonst, dann klappt es nicht und das Terminal Fenster bleib schwarz.
2. Treiber für den cf20 von geladen.
Der Treiber richtet einen virtuell COM Port ein. Port in den Systemeinstellungen auf 115200/8/N/1/XON-XOFF stellen.
3. Putty laden und seriell Einstellungen auf: 115200/8/N/1/XON-XOFF
4. TFtp Server von laden und neue OpenWrt Firmware (openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin) in das Verzeichnis kopieren.
Habe den langen Namen noch gekürzt, in firm.bin.
5. Rechner IP Adresse setzten 192.168.1.100. Unter Netzwerkverbindungen-Lan-Verbindung-Allgemein-Eigenschaften-Internetprotokoll-Eigenschaften-Folgende-IP-Adresse verwedne-IP-Adresse.
Wichtig: Verbindung vom Rechner zum WR703N per Ethernet nicht vergessen!
6. Nach verbinden des WR-703N hat man max. 1 Sekunde zeit, im Terminal „tpl“ und Enter einzugeben um auf dem Prompt zu kommen.
Beim dritten Versuch hat es bei mir geklappt. Wenn hornet> angezeigt wird, hat man gewonnen.
und warten bis alles abgeschlossen ist. Dann Enter drücken und der OpenWrt-Prompt mit OpenWrt-Logo erscheint.
8. Ethernet verbinden. Mit Telnet 192.168.1.1 verbinden und wenn der OpenWrt Prompt kommt,
das Passwort setzen mit passwd. Ab dann ist kein Telnet mehr möglich. Neu verbinden mit SSH.
9. Eine andere statische IP vergeben, die im Namensraum vom DNS Server des Internet Routers liegt vergeben.
10. Per SSH anmelden und das Netzwerk einstellen: /etc/config/network
config interface 'lan'
option ifname 'eth0'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.2.123' # feste statische Adresse des Routers
option netmask '255.255.255.0'
option ip6assign '60'
option dns '8.8.8.8' # Adresse des Google dns, oder anderen
option gateway '192.168.2.1' # Adresse des gateway
reboot
Ethernet Kabel an Router anschließen. ping wenzlaff.de
muss erfolgreich laufen
11. Dann die Web-Gui luci installieren opkg update
opkg install luci luci-i18n-german luci-theme-bootstrap
12. Web Server starten /etc/init.d/uhttpd start
und damit es beim nächsten start automatisch läuft: /etc/init.d/uhttpd enable
13. Im Browser die feste statische Adresse aufrufen und anmelden mit User: root und den vergebenen SSH Passwort anmelden.
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);
}
Hohe Präzision: Low-Power-Modus, die Auflösung von 0.06 hPa (0,5 m)
Hohe linearen Modus mit einer Auflösung von 0.03 hPa (0,25 m)
Mit Temperatur-Ausgang
I2C-Schnittstelle
Temperaturkompensation
Reaktionszeit: 7,5 ms
Standby-Strom: 0.1 μA
Beseitigt die Notwendigkeit für einen externen Taktgeber
Größe: 21 x 15 x 10 mm
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.
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]
Das BMP085 an: SCL an A5 SDA an A4 VDD Plus 3.3V DC Masse Minus */ constlong MESSINTERVAL = 5000; // Messintervall in milli Sekunden constlong SENSOR_ID = 10085; // eindeutige Sensor ID String KOMMENTAR = "# "; // Kommentar präfix String TRENNER = " "; // Trennzeichen der Werte
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 */
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);
}
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?
Zuerst wurde der Temperatursensor in das Gefrierfach und dann in den Kühlschrank gelegt (grüne Kurve). Der zweite Sensor, wurde außerhalb des Kühlschranks platziert (die rote Kurve).
Folgende gnuplot Datei ist dafür nötig:
set title "Temperaturverlauf im Kühlschrank" font "Times,18"
set ylabel "Temperatur in Grad/Celsius"
set xlabel "Messzeitpunkt am 26.06.13"
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 [-19:26] # die y-Achse geht von:bis
set zeroaxis # eine Null Linie
# Maximum und Minimum anzeigen
max_y = GPVAL_DATA_Y_MAX
set label 1 gprintf("Maximum = %g Grad/Celsius", max_y) at "2013.06.26_17:00:00",24 font "Times,12"
min_y = GPVAL_DATA_Y_MIN
set label 2 gprintf("Minimum = %g Grad/Celsius", min_y) at "2013.06.26_17:25:00",-15 font "Times,12"
set terminal png
set output "temperaturverlauf-kuehlschrank.png"plot "temperatur-kuehlschrank.txt" using 1:2 title "Zimmer Sensor" with lines, "" using 1:3 title "Sensor im Kühlschranki" with lines
set terminal aqua
replot
Diese Grafik liegen diese, mit dem Arduino gemessenen Werte zugrunde. Die Aussetzer in der Aufzeichnung rühren daher, das sich der MacBookAir nach einiger Zeit in den Sleep-Modus schaltet, dann kommen keine Daten aus der USB-Schnittstelle an. Da muss man sich dann noch was einfallen lassen.
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.
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.
1. Auf den Arduino den „Hallo Welt“ Sketch laden.
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println("Hello world");
delay(1000);
}
2. Den RXTX-Treiber in Version >= 2.2pre2 laden. Die 1.7 Version macht mit Mac OS X 10.8.4 Probleme, es kommt die Meldung, das der Port belegt ist.
3. Die zwei Dateien aus dem entpackten Archiv librxtxSerial.jnilib und RXTXcomm.jar in das /Library/Java/Extensions Verzeichnis kopieren
4. Die RXTXcomm.jar dem Classpath des Projektes hinzufügen.
5. Im Testprogramm den PORT_NAMES „/dev/tty.usbserial-A501U7KD“ entsprechend setzen. Im Arduino-IDO Menü Werkzeuge-Serieller-Port schauen, wie er genau heißt.
6. SerialTest starten. „Hello World“ wird auf den Konsole ausgegeben. „Per Java über die Serielle-Schnittstelle auf den Arduino zugreifen mit dem Mac OS X 10.8.4“ weiterlesen
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.
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.
So vorgehen, wie in der Arduino-Anleitung beschrieben.
1. Virtual Com Device Treiber 2.2.18 von FTDICHIP laden und wie in der Anleitung beschrieben installieren.
Für Mac OSX 10.8.3 und 10.8.4 ist es nötig die FTDIUSBSerialDriver_10_4_10_5_10_6_10_7.mpkg zu installieren. Nun muss das Arduino Board an den USB-Port angeschlossen werden. Wird es nicht angeschlossen sind die installierten Treiber nicht im /dev Verzeichnis sichtbar.
Dann im Terminal im Verzeichnis /dev überprüfen ob die *usbserial* Treiber installiert wurden.
2. Entwicklungsumgebung downloaden und installieren. Starten.
3. Seriellen Port unter dem Menü: Tools – Serieller Port – /dev/cu.usbserial-A5001U7KD auswählen.
4. Beispiel auswählen und überprüfen und auf den Arduino uploaden.