http://wiki.fablab-cottbus.de/index.php?title=Reverse_Engineering&feed=atom&action=historyReverse Engineering - Versionsgeschichte2024-03-29T07:29:09ZVersionsgeschichte dieser Seite in fablab CottbusMediaWiki 1.32.0http://wiki.fablab-cottbus.de/index.php?title=Reverse_Engineering&diff=900&oldid=prevNanu: /* HeliosMini Wetterstation/Datenlogger */2014-09-11T13:35:49Z<p><span dir="auto"><span class="autocomment">HeliosMini Wetterstation/Datenlogger</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 11. September 2014, 13:35 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l39" >Zeile 39:</td>
<td colspan="2" class="diff-lineno">Zeile 39:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ich habe ein digitales Zeichenbrett von CalComp in einer Auflösung eines Ingenieurbüros gefunden. So ein Gerät was sich super für AutoCad-Zeichnungen eignet. Für das Gerät findet man schlecht noch Treiber für aktuelle Betriebssysteme und grundsätzlich hat man erstmal Probleme, das Ding an moderne Computer anzuschließen - das geht nur mit einem USB-auf-Seriell Adapter. Mit Hilfe dreier Anleitungen [http://www.relief.hu/index_5.html], [http://courses.washington.edu/fe450/handbook/Digi_setup.htm], [http://www.softree.com/Help/source/html/terr67of.htm] habe ich die nötigen Einstellungen am Tablet und Computer vorgenommen, um die Kommunikation über die serielle Schnittstelle herzustellen. Nun bekomme ich in Coolterm die Koordinaten des Stifts angezeigt. Jetzt muss ich noch Wege finden, um das in eine Mausbewegung umzuwandeln oder andere Interessante Dinge damit zu veranstalten, wie z.B. Musik- oder Lichteffekte steuern. Eventuell kann ich einen [http://arduino.cc/en/Main/ArduinoBoardMicro Arduino Micro] an das Gerät anbauen. Dieser wird vom Computer als Maus (und Tastatur) erkannt. Somit könnte ich über den Arduino das serielle Signal in eine USB-Maus Bewegung umwandeln. Somit könnte das Board wieder an jeden Computer angeschlossen werden, ohne irgendetwas installieren zu müssen. </div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ich habe ein digitales Zeichenbrett von CalComp in einer Auflösung eines Ingenieurbüros gefunden. So ein Gerät was sich super für AutoCad-Zeichnungen eignet. Für das Gerät findet man schlecht noch Treiber für aktuelle Betriebssysteme und grundsätzlich hat man erstmal Probleme, das Ding an moderne Computer anzuschließen - das geht nur mit einem USB-auf-Seriell Adapter. Mit Hilfe dreier Anleitungen [http://www.relief.hu/index_5.html], [http://courses.washington.edu/fe450/handbook/Digi_setup.htm], [http://www.softree.com/Help/source/html/terr67of.htm] habe ich die nötigen Einstellungen am Tablet und Computer vorgenommen, um die Kommunikation über die serielle Schnittstelle herzustellen. Nun bekomme ich in Coolterm die Koordinaten des Stifts angezeigt. Jetzt muss ich noch Wege finden, um das in eine Mausbewegung umzuwandeln oder andere Interessante Dinge damit zu veranstalten, wie z.B. Musik- oder Lichteffekte steuern. Eventuell kann ich einen [http://arduino.cc/en/Main/ArduinoBoardMicro Arduino Micro] an das Gerät anbauen. Dieser wird vom Computer als Maus (und Tastatur) erkannt. Somit könnte ich über den Arduino das serielle Signal in eine USB-Maus Bewegung umwandeln. Somit könnte das Board wieder an jeden Computer angeschlossen werden, ohne irgendetwas installieren zu müssen. </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>== HeliosMini Wetterstation/Datenlogger ==</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>== <ins class="diffchange diffchange-inline">[[</ins>HeliosMini Wetterstation/Datenlogger<ins class="diffchange diffchange-inline">]] </ins>==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>HeliosMini <del class="diffchange diffchange-inline">rht von Skye Instruments ist eine kleine </del>Wetterstation<del class="diffchange diffchange-inline">, die Luftfeuchte und Tauwasser misst und aufzeichnet. Ein Regenmesser kann noch angeschlossen werden. Das Gerät besitzt eine serielle Schnittstelle zum Herunterladen der Daten. Die Einstellungen sind: </del></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">{{:</ins>HeliosMini Wetterstation/<ins class="diffchange diffchange-inline">Datenlogger}}</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* 9600 baud, no parity, 8 data bits, 1 stop bits and Xon </del>/ <del class="diffchange diffchange-inline">Xoff flow control</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Laut dem Benutzerhandbuch gelten folgende Befehle:</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>a</code> ... Offload in ASCII</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>b</code> ... Offload in (formatted) Binary</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>c</code> ... Send Readings from all Channels (No Logging) </del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>d</code> ... Send Logger Status</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>1</code> ... Send Logger Time </del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>RM</code> ... Reset Memory</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>T</code> ... Set the Date and Time. This must be entered exactly - hour, minute, second, day, month, year, e.g. 100620010301 which would be 10:06:20 on 01/03/01. This will be repeated and you need to enter OK (in capital letters). The logger will repeat OK and the changes will take effect. Please note, the date and time must be entered within 3 seconds of pressing T. If not, the logger will reset itself and no changes will have been made. You will then need to repeat the process.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>ID</code> ... Enter new logger ID. This must be exactly 16 characters (numbers or letters) which must not include spaces, commas, full stops etc. For example you could enter HeliosinField010. <br>Then enter OK (in capitals) and OK will be repeated and the changes will take effect. Please note, the date and time must be entered within 3 seconds of pressing ID. If not, the logger will reset itself and no changes will have been made. You will then need to repeat the process.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>SF</code> ... Enter new scaling factors. These must be entered as a string of numbers which are 6 sets of 5 digits. The first is the figure for 1%RH, the second for 75% RH, the others are spare calibration points and any numbers may be entered. For example, you could enter 476285094311111222223333344444 whereby 47628 is the 1% calibration figure, 50943 is the 75% calibration figure and the remaining numbers are not used in this version of the Helios range and any numbers or letters may be entered. <br>These numbers will be repeated, enter OK (in capitals) which will be repeated and the changes will take effect. Please note, the date and time must be entered within 3 seconds of pressing SF. If not, the logger will reset itself and no changes will have been made. You will then need to repeat the process</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">* <code>LI</code> ... This will change the Log Interval. The codes are:</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">** <code>1</code> ... 1 minute</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">** <code>2</code> ... 5 minutes</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">** <code>3</code> ... 10 minutes</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">** <code>4</code> ... 15 minutes</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">** <code>5</code> ... 20 minutes</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">** <code>6</code> ... 30 minutes</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">** <code>7</code> ... 1 hour</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">** <code>8</code> ... 2 hours </del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">NOTE - these logging intervals are ‘spot’ logs only. The logger will take a set of 3 consecutive me asurements at each logging interval time and store the average of these 3 measurements. No measurements are taken to form an average over the entire the logging interval.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> </div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Mit dem folgenden Shell-Script konnte ich die Zeit des Datenloggers mit der Systemzeit des Raspberry Pi einstellen:</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"> #!/bin/bash</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"> </del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"> echo T $(date +"00%H%M%S%d%m%y)") > /dev/USB-Serial-Port &&</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"> sleep 1 &&</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline"> echo "OK" > /dev/USB-Serial-Port</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Zu beachten ist, dass ich aus unerfindlichen Gründen noch zwei Nullen vorne an das Datum hängen musste.</del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Tolino Shine ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Tolino Shine ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der E-Reader "Tolino Shine" ist leider verklebt. Deshalb muss man sich schon trauen, das Gerät zu öffnen. Allerdings reicht es schon, wenn man den Tolino an einer bestimmten Stelle etwas aufhebelt, dann kommt man schon an die Kontakte heran. [http://www.livediesel.de/?p=561 Hier] findet sich eine Anleitung. Über die Schnittstelle bekommt Zugriff auf die Android-Shell und kann den [http://www.livediesel.de/?p=581 Tolino rooten] und damit auch die USB-Schnittstelle für weitere Shell-Zugriffe freischalten. Letztendlich kann man damit auch andere Apps auf dem Tolino installieren, die der Hersteller nicht vorgesehen hat.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der E-Reader "Tolino Shine" ist leider verklebt. Deshalb muss man sich schon trauen, das Gerät zu öffnen. Allerdings reicht es schon, wenn man den Tolino an einer bestimmten Stelle etwas aufhebelt, dann kommt man schon an die Kontakte heran. [http://www.livediesel.de/?p=561 Hier] findet sich eine Anleitung. Über die Schnittstelle bekommt Zugriff auf die Android-Shell und kann den [http://www.livediesel.de/?p=581 Tolino rooten] und damit auch die USB-Schnittstelle für weitere Shell-Zugriffe freischalten. Letztendlich kann man damit auch andere Apps auf dem Tolino installieren, die der Hersteller nicht vorgesehen hat.</div></td></tr>
</table>Nanuhttp://wiki.fablab-cottbus.de/index.php?title=Reverse_Engineering&diff=891&oldid=prevStefan B.: /* Serial Port nutzbar machen */2014-09-08T13:57:53Z<p><span dir="auto"><span class="autocomment">Serial Port nutzbar machen</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 8. September 2014, 13:57 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l16" >Zeile 16:</td>
<td colspan="2" class="diff-lineno">Zeile 16:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* flow control</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* flow control</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>(Anm.: häufig wird der Ausdruck "Baudrate" statt "Bitrate verwendet. Das ist aber nicht korrekt. Baudrate bedeutet was ganz anderes. Ein historisches Beispiel: Ein 9600-bit-Modem. Es arbeitet beispielsweise mit 300 Baud, wobei jeder Datenblock kodiert 16 bit enthält. Ergebnis: Baudrate 300, Bitrate 9600. Analog dazu die heutigen Anwendungen, Mobilfunk, Digitalfunk, digitale Datenübertragung. Kurz gesagt: Baudrate bezeichnet den Datentakt und nicht die Datenrate.)<br></div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>(Anm.: häufig wird der Ausdruck "Baudrate" statt "Bitrate verwendet. Das ist aber nicht korrekt. Baudrate bedeutet was ganz anderes. Ein historisches Beispiel: Ein 9600-bit-Modem. Es arbeitet beispielsweise mit 300 Baud, wobei jeder Datenblock kodiert 16 bit enthält <ins class="diffchange diffchange-inline">(=Symbol)</ins>. Ergebnis: Baudrate 300, Bitrate 9600. Analog dazu die heutigen Anwendungen, Mobilfunk, Digitalfunk, digitale Datenübertragung. Kurz gesagt: Baudrate bezeichnet den Datentakt<ins class="diffchange diffchange-inline">/Symboltakt </ins>und nicht die Datenrate.)<br></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
</table>Stefan B.http://wiki.fablab-cottbus.de/index.php?title=Reverse_Engineering&diff=890&oldid=prevStefan B.: Sehr schöner Artikel! Danke! Nur eine kleine Korrektur vorgenommen.2014-09-08T13:55:16Z<p>Sehr schöner Artikel! Danke! Nur eine kleine Korrektur vorgenommen.</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 8. September 2014, 13:55 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l10" >Zeile 10:</td>
<td colspan="2" class="diff-lineno">Zeile 10:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Wie kann ich die serielle Schnittstelle nutzen? ===</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Wie kann ich die serielle Schnittstelle nutzen? ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Um mit einem Gerät sprechen zu können, müssen verschiedene Parameter eingestellt werden:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Um mit einem Gerät sprechen zu können, müssen verschiedene Parameter eingestellt werden:</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* die <del class="diffchange diffchange-inline">Baudrate </del>- was die Geschwindigeit des Datenaustauschs beeinflusst</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* die <ins class="diffchange diffchange-inline">Bitrate </ins>- was die Geschwindigeit des Datenaustauschs beeinflusst <ins class="diffchange diffchange-inline">(*)</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* data bits</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* data bits</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* parity</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* parity</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* stop bits</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* stop bits</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* flow control</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* flow control</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">(Anm.: häufig wird der Ausdruck "Baudrate" statt "Bitrate verwendet. Das ist aber nicht korrekt. Baudrate bedeutet was ganz anderes. Ein historisches Beispiel: Ein 9600-bit-Modem. Es arbeitet beispielsweise mit 300 Baud, wobei jeder Datenblock kodiert 16 bit enthält. Ergebnis: Baudrate 300, Bitrate 9600. Analog dazu die heutigen Anwendungen, Mobilfunk, Digitalfunk, digitale Datenübertragung. Kurz gesagt: Baudrate bezeichnet den Datentakt und nicht die Datenrate.)<br></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Oft können diese Parameter auch am Gerät umgestellt werden. Wichtig ist, dass Computer und Gerät beide auf die gleichen Parameter eingestellt sind, sonst bekommt man nur Zeichensalat.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Oft können diese Parameter auch am Gerät umgestellt werden. Wichtig ist, dass Computer und Gerät beide auf die gleichen Parameter eingestellt sind, sonst bekommt man nur Zeichensalat.</div></td></tr>
</table>Stefan B.http://wiki.fablab-cottbus.de/index.php?title=Reverse_Engineering&diff=889&oldid=prevNanu: /* HeliosMini Wetterstation/Datenlogger */2014-09-08T11:27:04Z<p><span dir="auto"><span class="autocomment">HeliosMini Wetterstation/Datenlogger</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 8. September 2014, 11:27 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l64" >Zeile 64:</td>
<td colspan="2" class="diff-lineno">Zeile 64:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>NOTE - these logging intervals are ‘spot’ logs only. The logger will take a set of 3 consecutive me asurements at each logging interval time and store the average of these 3 measurements. No measurements are taken to form an average over the entire the logging interval.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>NOTE - these logging intervals are ‘spot’ logs only. The logger will take a set of 3 consecutive me asurements at each logging interval time and store the average of these 3 measurements. No measurements are taken to form an average over the entire the logging interval.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Mit dem folgenden Shell-Script konnte ich die Zeit des Datenloggers mit der Systemzeit des Raspberry Pi einstellen:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> #!/bin/bash</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> echo T $(date +"00%H%M%S%d%m%y)") > /dev/USB-Serial-Port &&</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> sleep 1 &&</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> echo "OK" > /dev/USB-Serial-Port</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Zu beachten ist, dass ich aus unerfindlichen Gründen noch zwei Nullen vorne an das Datum hängen musste.</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Tolino Shine ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Tolino Shine ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der E-Reader "Tolino Shine" ist leider verklebt. Deshalb muss man sich schon trauen, das Gerät zu öffnen. Allerdings reicht es schon, wenn man den Tolino an einer bestimmten Stelle etwas aufhebelt, dann kommt man schon an die Kontakte heran. [http://www.livediesel.de/?p=561 Hier] findet sich eine Anleitung. Über die Schnittstelle bekommt Zugriff auf die Android-Shell und kann den [http://www.livediesel.de/?p=581 Tolino rooten] und damit auch die USB-Schnittstelle für weitere Shell-Zugriffe freischalten. Letztendlich kann man damit auch andere Apps auf dem Tolino installieren, die der Hersteller nicht vorgesehen hat.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Der E-Reader "Tolino Shine" ist leider verklebt. Deshalb muss man sich schon trauen, das Gerät zu öffnen. Allerdings reicht es schon, wenn man den Tolino an einer bestimmten Stelle etwas aufhebelt, dann kommt man schon an die Kontakte heran. [http://www.livediesel.de/?p=561 Hier] findet sich eine Anleitung. Über die Schnittstelle bekommt Zugriff auf die Android-Shell und kann den [http://www.livediesel.de/?p=581 Tolino rooten] und damit auch die USB-Schnittstelle für weitere Shell-Zugriffe freischalten. Letztendlich kann man damit auch andere Apps auf dem Tolino installieren, die der Hersteller nicht vorgesehen hat.</div></td></tr>
</table>Nanuhttp://wiki.fablab-cottbus.de/index.php?title=Reverse_Engineering&diff=884&oldid=prevNanu: /* Helios rht Wetterstation/Datenlogger */2014-09-07T14:30:49Z<p><span dir="auto"><span class="autocomment">Helios rht Wetterstation/Datenlogger</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 7. September 2014, 14:30 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l36" >Zeile 36:</td>
<td colspan="2" class="diff-lineno">Zeile 36:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ich habe ein digitales Zeichenbrett von CalComp in einer Auflösung eines Ingenieurbüros gefunden. So ein Gerät was sich super für AutoCad-Zeichnungen eignet. Für das Gerät findet man schlecht noch Treiber für aktuelle Betriebssysteme und grundsätzlich hat man erstmal Probleme, das Ding an moderne Computer anzuschließen - das geht nur mit einem USB-auf-Seriell Adapter. Mit Hilfe dreier Anleitungen [http://www.relief.hu/index_5.html], [http://courses.washington.edu/fe450/handbook/Digi_setup.htm], [http://www.softree.com/Help/source/html/terr67of.htm] habe ich die nötigen Einstellungen am Tablet und Computer vorgenommen, um die Kommunikation über die serielle Schnittstelle herzustellen. Nun bekomme ich in Coolterm die Koordinaten des Stifts angezeigt. Jetzt muss ich noch Wege finden, um das in eine Mausbewegung umzuwandeln oder andere Interessante Dinge damit zu veranstalten, wie z.B. Musik- oder Lichteffekte steuern. Eventuell kann ich einen [http://arduino.cc/en/Main/ArduinoBoardMicro Arduino Micro] an das Gerät anbauen. Dieser wird vom Computer als Maus (und Tastatur) erkannt. Somit könnte ich über den Arduino das serielle Signal in eine USB-Maus Bewegung umwandeln. Somit könnte das Board wieder an jeden Computer angeschlossen werden, ohne irgendetwas installieren zu müssen. </div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ich habe ein digitales Zeichenbrett von CalComp in einer Auflösung eines Ingenieurbüros gefunden. So ein Gerät was sich super für AutoCad-Zeichnungen eignet. Für das Gerät findet man schlecht noch Treiber für aktuelle Betriebssysteme und grundsätzlich hat man erstmal Probleme, das Ding an moderne Computer anzuschließen - das geht nur mit einem USB-auf-Seriell Adapter. Mit Hilfe dreier Anleitungen [http://www.relief.hu/index_5.html], [http://courses.washington.edu/fe450/handbook/Digi_setup.htm], [http://www.softree.com/Help/source/html/terr67of.htm] habe ich die nötigen Einstellungen am Tablet und Computer vorgenommen, um die Kommunikation über die serielle Schnittstelle herzustellen. Nun bekomme ich in Coolterm die Koordinaten des Stifts angezeigt. Jetzt muss ich noch Wege finden, um das in eine Mausbewegung umzuwandeln oder andere Interessante Dinge damit zu veranstalten, wie z.B. Musik- oder Lichteffekte steuern. Eventuell kann ich einen [http://arduino.cc/en/Main/ArduinoBoardMicro Arduino Micro] an das Gerät anbauen. Dieser wird vom Computer als Maus (und Tastatur) erkannt. Somit könnte ich über den Arduino das serielle Signal in eine USB-Maus Bewegung umwandeln. Somit könnte das Board wieder an jeden Computer angeschlossen werden, ohne irgendetwas installieren zu müssen. </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>== <del class="diffchange diffchange-inline">Helios rht </del>Wetterstation/Datenlogger ==</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>== <ins class="diffchange diffchange-inline">HeliosMini </ins>Wetterstation/Datenlogger ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">Dies </del>ist eine kleine Wetterstation, die Luftfeuchte und Tauwasser misst und aufzeichnet. Ein Regenmesser kann noch angeschlossen werden. Das Gerät besitzt eine serielle Schnittstelle zum Herunterladen der Daten. Die Einstellungen sind: </div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">HeliosMini rht von Skye Instruments </ins>ist eine kleine Wetterstation, die Luftfeuchte und Tauwasser misst und aufzeichnet. Ein Regenmesser kann noch angeschlossen werden. Das Gerät besitzt eine serielle Schnittstelle zum Herunterladen der Daten. Die Einstellungen sind: </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 9600 baud, no parity, 8 data bits, 1 stop bits and Xon / Xoff flow control</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* 9600 baud, no parity, 8 data bits, 1 stop bits and Xon / Xoff flow control</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Laut dem Benutzerhandbuch gelten folgende Befehle:</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Laut dem Benutzerhandbuch gelten folgende Befehle:</div></td></tr>
</table>Nanuhttp://wiki.fablab-cottbus.de/index.php?title=Reverse_Engineering&diff=878&oldid=prevNanu am 4. September 2014 um 22:04 Uhr2014-09-04T22:04:47Z<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Version vom 4. September 2014, 22:04 Uhr</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l6" >Zeile 6:</td>
<td colspan="2" class="diff-lineno">Zeile 6:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Serial Port nutzbar machen ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Serial Port nutzbar machen ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Was ist eine serielle Schnittstelle? ===</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Was ist eine serielle Schnittstelle? ===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Die [https://de.wikipedia.org/wiki/Serielle_Schnittstelle serielle Schnittstelle] war in Zeiten, <del class="diffchange diffchange-inline">bovor </del>es USB gab die gängige Verbindung von Geräten zum Computer. Den Stecker kennt man vielleicht noch von alten Druckern. Aber auch viele Labor- oder Feldmessgeräte haben eine serielle Schnittstelle, denn letztendlich benötigt man nur zwei Kabel. Auch unser [[3D-Druck 3D-Drucker]] kommuniziert letztendlich über die serielle Schnittstelle, auch wenn er über einen USB-Konverter angeschlossen wird.</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Die [https://de.wikipedia.org/wiki/Serielle_Schnittstelle serielle Schnittstelle] war in Zeiten, <ins class="diffchange diffchange-inline">bevor </ins>es USB gab die gängige Verbindung von Geräten zum Computer. Den Stecker kennt man vielleicht noch von alten Druckern. Aber auch viele Labor- oder Feldmessgeräte haben eine serielle Schnittstelle, denn letztendlich benötigt man nur zwei Kabel. Auch unser [[3D-Druck<ins class="diffchange diffchange-inline">|</ins>3D-Drucker]] kommuniziert letztendlich über die serielle Schnittstelle, auch wenn er über einen USB-Konverter angeschlossen wird.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Wie kann ich die serielle Schnittstelle nutzen? ===</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Wie kann ich die serielle Schnittstelle nutzen? ===</div></td></tr>
</table>Nanuhttp://wiki.fablab-cottbus.de/index.php?title=Reverse_Engineering&diff=877&oldid=prevNanu: Die Seite wurde neu angelegt: „<onlyinclude>Alte Geräte wieder nutzbar machen, Zugriff auf Hardware- und Software-Teile zu bekommen, die der Hersteller für den Endbenutzer nicht vorgesehen…“2014-09-04T22:02:22Z<p>Die Seite wurde neu angelegt: „<onlyinclude>Alte Geräte wieder nutzbar machen, Zugriff auf Hardware- und Software-Teile zu bekommen, die der Hersteller für den Endbenutzer nicht vorgesehen…“</p>
<p><b>Neue Seite</b></p><div><onlyinclude>Alte Geräte wieder nutzbar machen, Zugriff auf Hardware- und Software-Teile zu bekommen, die der Hersteller für den Endbenutzer nicht vorgesehen hat, Funktionen hinzufügen, eigene Einstellungen vornehmen, Geräte in einer Weise nutzen, die vom Hersteller nicht vorgesehen hat - darum geht es beim Reverse Engineering. <br />
<br />
Die Geräte werden uns in die Hand gelegt, die Baupläne jedoch nicht. Und der Hersteller schreibt uns genau vor, wie wir das Gerät zu nutzen haben. Durch Auseinandernehmen, Durchmessen und Ausprobieren lässt sich jedoch herausfinden, wie ein Gerät aufgebaut ist und wie es funktioniert. Mit diesem Wissen kann dann der Funktionsumfang des Gerätes an die eigenen Wünsche angepasst und oft erheblich erteitert werden.</onlyinclude><br />
<br />
= Grundlagen =<br />
== Serial Port nutzbar machen ==<br />
=== Was ist eine serielle Schnittstelle? ===<br />
Die [https://de.wikipedia.org/wiki/Serielle_Schnittstelle serielle Schnittstelle] war in Zeiten, bovor es USB gab die gängige Verbindung von Geräten zum Computer. Den Stecker kennt man vielleicht noch von alten Druckern. Aber auch viele Labor- oder Feldmessgeräte haben eine serielle Schnittstelle, denn letztendlich benötigt man nur zwei Kabel. Auch unser [[3D-Druck 3D-Drucker]] kommuniziert letztendlich über die serielle Schnittstelle, auch wenn er über einen USB-Konverter angeschlossen wird.<br />
<br />
=== Wie kann ich die serielle Schnittstelle nutzen? ===<br />
Um mit einem Gerät sprechen zu können, müssen verschiedene Parameter eingestellt werden:<br />
* die Baudrate - was die Geschwindigeit des Datenaustauschs beeinflusst<br />
* data bits<br />
* parity<br />
* stop bits<br />
* flow control<br />
<br />
Oft können diese Parameter auch am Gerät umgestellt werden. Wichtig ist, dass Computer und Gerät beide auf die gleichen Parameter eingestellt sind, sonst bekommt man nur Zeichensalat.<br />
<br />
Mit Programmen wie [http://freeware.the-meiers.org/ Coolterm] (Windows, Mac, Linux) kann man Geräte ansprechen oder deren Kommunikation empfangen und aufzeichnen. Unter Linux kann man auch die Konsole oder ein Shell-Script benutzen, um die serielle Kommunikation zu empfangen und ggf. weiterzuverarbeiten, mit <code>minicom</code>, <code>screen</code> oder <code>serialclient</code> ([https://wiki.archlinux.org/index.php/working_with_the_serial_console hier eine Anleitung]). Mit <code>ttylog</code> oder einfach <code>cat</code> können die eintreffenden seriellen Daten in einer Datei gespeichert werden. z.B. so:<br />
<br />
<code>cat /dev/ttyS0 > file.txt</code><br />
<br />
Hier ist <code>/dev/ttyS0</code> das serielle Gerät.<br />
<br />
=== Versteckte serielle Schnittstellen ===<br />
Was weniger offensichtlich ist, ist dass viele Moderne Geräte wie DSL-Router, Tablets oder E-Reader auch serielle Schnittstellen besitzen. Diese sind nicht für den Endnutzer gedacht und meistens irgendwo im Gerät auf der Platine versteckt. Diese Schnittstellen werden genutzt, um während der Entwicklung Debuginformationen vom Gerät zu erhalten oder bei der Produktion oder bei einer eventuellen Reperatur Informationen vom Gerät zu erhalten und Dinge einstellen oder aufspielen zu können. Da viele dieser Geräte mit einem Linux-Betriebssystem laufen lässt sich über diese Schnittstelle auf eine Shell zugreifen. Oft direkt mit root-Rechten.<br />
Meistens muss man das Gerät öffnen, um an diese Schnittstellen zu gelangen. Oft handelt es sich lediglich um vier nebeneinander liegende Lötstellen, die manchmal mit <code>5V/3.3V</code> (Stromversorgung), <code>RXD</code> (Receive), <code>TXD</code> (Transmit) und <code>GND</code> (Masse) beschriftet sind, oft aber auch völlig ohne Kennzeichnung. Eine gute Anleitung, wie man diese Kontakte findet, die richtigen Anschlüsse identifiziert und die richtigen Kommunikationseinstellungen findet gibt es [http://www.devttys0.com/2012/11/reverse-engineering-serial-ports/ hier].<br />
<br />
Einen Guten Vortrag zu dem Thema findet man in [http://www.livediesel.de/?p=581 hier]. Hier geht es darum, ausrangierte Geräte wieder nutzbar zu machen (Thema [[Upcycling]]) und eventuell für ganz andere Dinge zu verwenden, als für die sie gebaut wurden.<br />
<br />
= Geräte =<br />
Die folgenden Geräte wurden in unserem fablab wieder nutzbar gemacht oder in ihrem Funktionsumfang erweitert. Wie es gemacht wurde soll hier dokumentiert werden.<br />
<br />
== CalComp Drawing Board ==<br />
Ich habe ein digitales Zeichenbrett von CalComp in einer Auflösung eines Ingenieurbüros gefunden. So ein Gerät was sich super für AutoCad-Zeichnungen eignet. Für das Gerät findet man schlecht noch Treiber für aktuelle Betriebssysteme und grundsätzlich hat man erstmal Probleme, das Ding an moderne Computer anzuschließen - das geht nur mit einem USB-auf-Seriell Adapter. Mit Hilfe dreier Anleitungen [http://www.relief.hu/index_5.html], [http://courses.washington.edu/fe450/handbook/Digi_setup.htm], [http://www.softree.com/Help/source/html/terr67of.htm] habe ich die nötigen Einstellungen am Tablet und Computer vorgenommen, um die Kommunikation über die serielle Schnittstelle herzustellen. Nun bekomme ich in Coolterm die Koordinaten des Stifts angezeigt. Jetzt muss ich noch Wege finden, um das in eine Mausbewegung umzuwandeln oder andere Interessante Dinge damit zu veranstalten, wie z.B. Musik- oder Lichteffekte steuern. Eventuell kann ich einen [http://arduino.cc/en/Main/ArduinoBoardMicro Arduino Micro] an das Gerät anbauen. Dieser wird vom Computer als Maus (und Tastatur) erkannt. Somit könnte ich über den Arduino das serielle Signal in eine USB-Maus Bewegung umwandeln. Somit könnte das Board wieder an jeden Computer angeschlossen werden, ohne irgendetwas installieren zu müssen. <br />
<br />
== Helios rht Wetterstation/Datenlogger ==<br />
Dies ist eine kleine Wetterstation, die Luftfeuchte und Tauwasser misst und aufzeichnet. Ein Regenmesser kann noch angeschlossen werden. Das Gerät besitzt eine serielle Schnittstelle zum Herunterladen der Daten. Die Einstellungen sind: <br />
* 9600 baud, no parity, 8 data bits, 1 stop bits and Xon / Xoff flow control<br />
Laut dem Benutzerhandbuch gelten folgende Befehle:<br />
* <code>a</code> ... Offload in ASCII<br />
* <code>b</code> ... Offload in (formatted) Binary<br />
* <code>c</code> ... Send Readings from all Channels (No Logging) <br />
* <code>d</code> ... Send Logger Status<br />
* <code>1</code> ... Send Logger Time <br />
* <code>RM</code> ... Reset Memory<br />
<br />
* <code>T</code> ... Set the Date and Time. This must be entered exactly - hour, minute, second, day, month, year, e.g. 100620010301 which would be 10:06:20 on 01/03/01. This will be repeated and you need to enter OK (in capital letters). The logger will repeat OK and the changes will take effect. Please note, the date and time must be entered within 3 seconds of pressing T. If not, the logger will reset itself and no changes will have been made. You will then need to repeat the process.<br />
<br />
* <code>ID</code> ... Enter new logger ID. This must be exactly 16 characters (numbers or letters) which must not include spaces, commas, full stops etc. For example you could enter HeliosinField010. <br>Then enter OK (in capitals) and OK will be repeated and the changes will take effect. Please note, the date and time must be entered within 3 seconds of pressing ID. If not, the logger will reset itself and no changes will have been made. You will then need to repeat the process.<br />
<br />
* <code>SF</code> ... Enter new scaling factors. These must be entered as a string of numbers which are 6 sets of 5 digits. The first is the figure for 1%RH, the second for 75% RH, the others are spare calibration points and any numbers may be entered. For example, you could enter 476285094311111222223333344444 whereby 47628 is the 1% calibration figure, 50943 is the 75% calibration figure and the remaining numbers are not used in this version of the Helios range and any numbers or letters may be entered. <br>These numbers will be repeated, enter OK (in capitals) which will be repeated and the changes will take effect. Please note, the date and time must be entered within 3 seconds of pressing SF. If not, the logger will reset itself and no changes will have been made. You will then need to repeat the process<br />
<br />
* <code>LI</code> ... This will change the Log Interval. The codes are:<br />
** <code>1</code> ... 1 minute<br />
** <code>2</code> ... 5 minutes<br />
** <code>3</code> ... 10 minutes<br />
** <code>4</code> ... 15 minutes<br />
** <code>5</code> ... 20 minutes<br />
** <code>6</code> ... 30 minutes<br />
** <code>7</code> ... 1 hour<br />
** <code>8</code> ... 2 hours <br />
<br />
NOTE - these logging intervals are ‘spot’ logs only. The logger will take a set of 3 consecutive me asurements at each logging interval time and store the average of these 3 measurements. No measurements are taken to form an average over the entire the logging interval.<br />
<br />
== Tolino Shine ==<br />
Der E-Reader "Tolino Shine" ist leider verklebt. Deshalb muss man sich schon trauen, das Gerät zu öffnen. Allerdings reicht es schon, wenn man den Tolino an einer bestimmten Stelle etwas aufhebelt, dann kommt man schon an die Kontakte heran. [http://www.livediesel.de/?p=561 Hier] findet sich eine Anleitung. Über die Schnittstelle bekommt Zugriff auf die Android-Shell und kann den [http://www.livediesel.de/?p=581 Tolino rooten] und damit auch die USB-Schnittstelle für weitere Shell-Zugriffe freischalten. Letztendlich kann man damit auch andere Apps auf dem Tolino installieren, die der Hersteller nicht vorgesehen hat.</div>Nanu