LaborTageBadge2013: Unterschied zwischen den Versionen
(bar) |
Bg (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 9: | Zeile 9: | ||
|platform = AVR (ATtiny85) | |platform = AVR (ATtiny85) | ||
|license = GPL | |license = GPL | ||
|download = Software: [https:// | |download = Software/Hardware: [https://code.nerilex.org/bg/labortage2013badge.git GIT]<br> | ||
}} | }} | ||
==About== | ==About== | ||
Zeile 81: | Zeile 80: | ||
===Bauen für Linux=== | ===Bauen für Linux=== | ||
Debian/Ubuntu | ==== Tools installieren ==== | ||
Gebraucht wird git und Tools zum erstellen von Programmen (gcc, gnu-make, ...) | |||
Unter Debian/Ubuntu lässt sich das bewerkstelligen mit | |||
sudo aptitude install build-essential git libusb-dev | sudo aptitude install build-essential git libusb-dev | ||
git clone | |||
cd ./ | ==== Bootloader ==== | ||
Der Bootloader ist vorinstalliert auf dem ATtiny85. Gebraucht wird allerdings noch das Programm zum flashen der Software: | |||
git clone https://github.com/Bluebie/micronucleus-t85.git | |||
cd micronucleus-t85/commandline | |||
make | |||
Nun kann ein beliebiges hex-file mit | |||
./micronucleus --run <path/to/hexfile> | |||
auf den Controller geflashed werden. | |||
==== HOTP-Software ==== | |||
Die HOTP-Software kann mit: | |||
git clone https://code.nerilex.org/bg/labortage2013badge.git | |||
heruntergelden werden. | |||
In dem Verzeichnis firmware/release finden sich fertig hex-files zum flashen. | |||
In dem Verzeichnis hostware/commandline findet sich das Tool zum parametrisieren des Sticks. Diese Tool muss mit | |||
make | make | ||
Übersetzt werden. | |||
Wichtig ist, dass vor der Verwendung mit | |||
./badge-tool -s <secret in hex> | |||
das Secret hinterlegt wird (max. 32 Byte). | |||
Außerdem muss mit | |||
./bade-tool -r | |||
der interne Zähler zurückgesetzt werden, und mit | |||
./bade-tool -d 8 | |||
die Anzahl der auszugebenden Ziffern auf 8 gesetzt werden (andere valide Werte sind 6, 7 und 9). | |||
Leider sind diese Schritte nötig, da der Bootloader nicht das EEPROM beschreiben kann, und die entsprechenden Werte im EEPROM hinterlegt sein müssen. | |||
[[Kategorie:Labortage]] | [[Kategorie:Labortage]] | ||
[[Kategorie:Microcontroller]] | [[Kategorie:Microcontroller]] |
Version vom 20. Oktober 2013, 15:59 Uhr
LaborTageBadge2013 Release status: Beta [box doku] | |
---|---|
Description | Badge der Labortage 2013 |
Author(s) | Suschman, bg |
Last Version | 0.9 |
Platform | AVR (ATtiny85) |
License | GPL |
Download | Software/Hardware: GIT |
„Beta“ befindet sich nicht in der Liste (experimental, beta, stable, obsolete, unknown) zulässiger Werte für das Attribut „Pr status“.
About
Das "Ticket" der Labortage 2013 ist dieses mal ein HOTP Password Generator für Zwei-Faktor Authentifizierung nach RFC4226, der auch als kleines USB-AVR Devkit herhalten kann. Eventuell später weitere Firmware mit anderen Funktionen :).
Genießt das Logo der Labortage 2013 auf der einen Seite, und bestückt euch euren eigenen HOTP Generator auf der anderen.
Funktion
Der AVR kommuniziert mit dem PC über USB mit Hilfe der vUSB library. Er ist mit dem Micronucleus USB Bootloader vorprogrammiert.
Nach dem laden der HOTP-Firmware und der Initialisierung mit einem Seed und einem Start Counter, generiert er bei jedem Tastendruck ein OTP Kennwort, was er als USB-Tastatur direkt eingibt.
Schaltung
Platine
Die Platine ist zweilagig mit Lötstoplack, Bestückungsdruck und HAL-Zinn. Auf der einen Seite befindet sich die Schaltung, auf der anderen das Logo der Labortage. Die Platine wurde mit freundlicher Unterstützung von Basista Leiterplatten gefertigt.
Stückliste
Name | Part | Reichelt |
C1 | SMD 0805 100nF | X7R-G0805 100N |
R1-R2 | SMD 0805 2,2 kOhm | SMD-0805 2,2K |
R3 | SMD 0805 68 Ohm | SMD-0805 68R |
AVR | ATtiny85 SO8 | ATTINY 85-20SU |
D1,D2 | MiniMelf 3,6V Zenerdioden | Z3,6V SMD |
USB | USB A Buchse | USB A |
SW | Kurzhubtaster SMD | TASTER 9314 |
R4,R5,R6,LED1 und der 5-Polige Stecker sind Optional, wenn man mit dem Board noch anderes basteln möchte :).
Aufbau
Der Aufbau erfordert durch die relativ dichte Bestückung in SMD und mit 0805 Bauteilen etwas Erfahrung im Löten von SMD. Wenn ihr es euch nicht zutraut, sucht euch einen Bastler der für etwas Mate Hand anlegt ;).
Bestückt wird zuerst C1, R1, R2, R3. Dann die beiden Dioden D1 und D2, dabei auf die Polarität achten.Der (blaue) Strick muss bei beiden zur Mitte der Platine zeigen. Dann den Prozessor auflöten, die Beschriftung muss lesbar sein wenn die USB-Buchse nach Links zeigt. Nun den SMD-Taster verlöten und zum schluss die USB-Buchse. Wahrscheinlich ist an der Platinenkante ein kleiner Vorsprung, der mit einem scharfen Messer oder einer kleinen Feile entfernt werden muss.
Die Stiftleiste, R4-6 und LED1 werden nicht bestückt. Diese können für Eigenen Projekte verwendet werden.
Arbeitet sorgfältig und macht immer mal wieder eine Sichtprüfung auf Kurzschlüsse und schlechte Lötstellen.
Software
Der AVR ist im Bauteilesatz der Labortage ist mit dem dem USB-Bootloader vorprogrammiert, das Binary für den PC muss unter Linux noch mit libusb übersetzt werden. Für Windows gibt es fertige binarys...
Bauen für Linux
Tools installieren
Gebraucht wird git und Tools zum erstellen von Programmen (gcc, gnu-make, ...)
Unter Debian/Ubuntu lässt sich das bewerkstelligen mit
sudo aptitude install build-essential git libusb-dev
Bootloader
Der Bootloader ist vorinstalliert auf dem ATtiny85. Gebraucht wird allerdings noch das Programm zum flashen der Software:
git clone https://github.com/Bluebie/micronucleus-t85.git cd micronucleus-t85/commandline make
Nun kann ein beliebiges hex-file mit
./micronucleus --run <path/to/hexfile>
auf den Controller geflashed werden.
HOTP-Software
Die HOTP-Software kann mit:
git clone https://code.nerilex.org/bg/labortage2013badge.git
heruntergelden werden.
In dem Verzeichnis firmware/release finden sich fertig hex-files zum flashen.
In dem Verzeichnis hostware/commandline findet sich das Tool zum parametrisieren des Sticks. Diese Tool muss mit
make
Übersetzt werden.
Wichtig ist, dass vor der Verwendung mit
./badge-tool -s <secret in hex>
das Secret hinterlegt wird (max. 32 Byte). Außerdem muss mit
./bade-tool -r
der interne Zähler zurückgesetzt werden, und mit
./bade-tool -d 8
die Anzahl der auszugebenden Ziffern auf 8 gesetzt werden (andere valide Werte sind 6, 7 und 9).
Leider sind diese Schritte nötig, da der Bootloader nicht das EEPROM beschreiben kann, und die entsprechenden Werte im EEPROM hinterlegt sein müssen.