Archiv der Kategorie: Hardware

Meine kleinen Basteleien

BitBastelei #17 – Solarmonitoring mit dem Volkszähler

BitBastelei #17 - Solarmonitoring mit dem Volkszähler

(77 MB) 00:05:29

2012-07-22 19:46 🛈

Software:

Hardware:

Kurzer Report von der Bastelfront

Festivals schön und gut, aber die freie Zeit muss natürlich auch etwas produktiv genutzt werden. Momentan heißt das hauptsächlich Housekeeping – Systeme reparieren und allerhand Basteleien, welche auf die Schnelle erfolgten, halbwegs vernünftig verpacken und fest einbauen. Trotzem sind einige neue Projekte dabei, zu denen ich in Kürze noch mehr schreiben werde, unter anderem hat meine Solaranlage eine neue Überwachungselektronik und viele neue Abnehmer erhalten. Zudem haben einige Webprojekte Updates erhalten, unter anderem kann mein Archivsystem, welches ich für die Bildarchivierung des Geschichtsvereins Saffig entwickelt hatte, inzwischen einige wichtige DMS-Funktionen wie Kontaktverwaltung und ORC erfüllen und sammelt nun in einer lokalen Installation meine Papierkorrespondenz in nerdgerechter Form. Auch einige Haushaltsgeräte sind inzwischen soweit, dass sie theoretisch Meldungen an meinen Steuerrechner übermitteln könnten – wenn denn ein Kabel da wäre. Da die Geräte weit entfernt von jeder Infrastruktur stehen und auf Grund baulicher Gegebenheiten das verlegen neuer Kabel für eine solche „Spielerei“ zu aufwändig wäre habe ich mir einige NRF24l01+ organisiert, ein Funkmodul welches mit integrierter Transportschicht glänzt und mit <3€ preislich sehr ansprechend ist. Leider konnte ich den Sample-Code nicht zum laufen bewegen, daher suchte ich nach Debug-Möglichkeiten. Zum Glück fiel mir mein guter, alter BusPirate wieder in die Hände, welcher sich direkt mal als simpler Logic-Analyzer versuchen durfte und – zu meiner Überraschung – gemessen an Preis und Ausstattung sehr gute Ergebnisse liefert, so konnte ich z.B. ermitteln, dass der Sendebefehl definitiv korrekt ans Sende-Modul übermittelt wird. Also wird gleich die Empfängerseite dran glauben müssen.
Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/06/test2-300×38.png

3€ AVR-Board im Test

Ein ATMega für 3€? Nichts neues, aber dank Steffen Vogel bin ich auf einen chinesischer Händler gestoßen, welcher für diesen Preis derzeit einen kompletten AVR-Programmierer auf Basis des USBasp anbietet. Mit an Board sind neben einem ATMega8A auch ein 12MHz Quarz, ein V-USB-Kompatibler USB-Port, 2 LEDs, ein Jumper und ein 3,3V Spannungsregler (AMS1117, 800mA). Zudem befinden sich auf dem 10-Pin Programmer-Port neben dem üblichen SPI auch die RS232-Pins des Atmel-Controllers, ein passendes Flachbandkabel ist ebenfalls im Lieferumfang. Viel Technik für wenig Geld, oder? Ein erster Blick zeigt: Das Board kommt nicht gerade in Vorzeigequalität, ab und an ist mal eines der SMD-Bauteile etwas schief, aber dennoch funktionierten alle Boards einwandfrei. Bei den Bauteilen hat man ebenfalls gespart: Die LEDs sind im Gegensatz zum zweifarbigen Original beide Rot, 2 der 3 im original vorgesehenen Jumper sind nicht bestückt. Die Controller sind – wie der Produkttitel es vermuten lässt – mit der Programmiersoftware des USBasp-Projektes versehen, wenn auch nicht in der aktuellen Version.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8440-150×150.jpgBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8441-150×150.jpg

Also – wenn ich schon einen haufen Programmieradapter habe programmieren wir auch mal etwas: Mit einem Drahtstück wird der nicht bestückte J2 eines Boards überbrückt – hiermit wird dieser in den „Self-Programming“-Modus geschaltet und kann so über die ISP-Schnittstelle mit neuer Firmware versorgt werden. Über eins der mitgelieferten Kabel wird das neue Ziel nun mit einem anderen Programmer verbunden. Steht bei beiden J1 auf 5V Target (wie ausgeliefert) wird das Ziel über den Programmer mit Strom versorgt. Die aktuellen avrdude-Versionen erkennen den Programmer ohne Probleme und versorgen das Ziel mit der neuen Firmware. Im ersten Versuch wurde ein Programmer mit der neuen Firmware des USBasp versorgt – und unterstützt nun auch die neuen Funktionen.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8421-150×150.jpgBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8422-150×150.jpg

Ein Zweites Board durfte sich mit den Demo-Codes des V-USB-Projektes begnügen, namentlich der HID-Maus-Demo. Das Makefile muss auf den Atmega8 angepasst werden, in der usbconfig.h muss der IOPORT auf B, Minus auf 0 und Plus auf 1 geändert werden. Bekommt man den Code dann noch kompiliert (neuere Compiler stören sich etwas an veralteten Definitionen im V-USB-Code) kann man den Stick dann problemlos verwenden um Arbeitskollegen zu verwirren.

Im nächsten Schritt soll einer dieser Sticks dann den etwas teureren und eher provisorisch angeflanschten Arduino als Stromzähler ersetzen, welcher derzeit die im letzten Post genannten Auswertsysteme versorgt. Die Timer laufen schon, nur das mit den USB-„Interrupts“ zum spontanen senden von Daten via V-USB produziert derzeit noch abstürze – muss ich wohl noch etwas nacharbeiten…

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8408-150×150.jpg

Eigenbau vs. Volkszähler

Derzeit baue ich wieder an meinen Erfassungssystemen – neben dem Temperaturmonitoring ist nun auch der in BB5 vorgestellte Stromzähler in etwas größerer Ausführung im Dauerbetrieb. Die Systeme selbst laufen zufriedenstellend, aber mir fehlte im Eigenbaufrontend etwas Eyecandy.

Erst mal zu meinem Eigenbau: Die Sensoren liefern ihre Daten über verschiedene Wege an meinen Homeserver – dort schreiben entsprechende Daemons die Daten in eine RRD-Datenbank weg. Bei Aufruf der GUI werden aus den Datenbanken entsprechende Diagramme erstellt bzw. Statistiken errechnet. Vorteil ist die effiziente und ausgereifte Speicherung der Daten: das verwendete RRDTool ist „gut abgehangen“ und speichert lediglich Differenzwerte, was eine Menge Platz spart. Die Erstellung der Grafiken nimmt ggf. etwas Zeit in Anspruch, mit entsprechendem Caching lässt sich das aber verschmerzen. Fertige Systeme für Interaktion mit den Programmen sind derzeit nicht eingebaut.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/p1-150×150.pngBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/p2-150×150.png

Auf einem der letzten Chaos Communication Congress’e war mir ein Projekt ins Auge gefallen, welches sich Volkszähler nennt – deren Ziele entsprechen ungefähr auch meinem System und da als Scriptsprache PHP zum Einsatz kommt würde das Ganze eine gute Basis für mich darstellen. Gesagt getan – dank der einfachen HTTP-API kann mein Sensor-Daemon die Daten – neben der weiterhin laufenden RRD – auch bei der Volkszähler-Middleware abliefern. Nach etwas Codestudium sogar mit Timestamp, welches einen Import meiner Daten möglich machen würde. Ein valider Aufruf sieht z.B. so aus: middleware.php/data/aaa-bbb-ccc-sen-sor-id.json?operation=add&value=123&ts=1334416684000.

Die GUI zeigt sich – abgesehen einiger Differenzen wegen meiner PHP-Konfiguration ganz kooperativ und stellt die Diagramme in perfekt angepasster Größe dar. Per Maus kann man einzelne Zeitbereiche nach Bedarf vergrößern, die Daten in anderen Formaten exportieren oder die angezeigten Sensoren dynamisch ändern.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/p3-150×150.png

Sorgen mache ich mir jedoch bei einem Blick unter die Haube: Alle Messwerte werden in eine – in diesem Fall MySQL – Datenbank geschrieben, bei den hier werdendeten Sensoren kommen so pro Monat hochgerechnet über 700MB an Datenvolumen zusammen. Meine RRD-Datenbank hat für eine Speicherdauer von mehreren Jahren gerade mal 4 MB. Etwas optimieren könnte man noch, so kann man wie auch bei RRD die Auflösung älterer Daten verringern, also z.B. nur einen Messpunkt alle 5 Minuten beibehalten, jedoch sind diese Funktionen nur von Haus aus dabei und müssten separat erstellt werden.

Da mein Server einiges an Speicher zu bieten hat werde ich mich an letzteres eventuell mal ransetzen, vorerst bleibt jedoch die gute, alte RRD in Betrieb.

UEFI – wir verschlimmbessern?

Was war das doch früher einfach: Ins CMOS-Setup, ein paar wenige Einstellungen anpassen und meist konnte man danach sein System starten – auch, wenn der nötige „Treiber“ erst per Option-ROM hinterher kam. Heute läuft das anders: Vor das ohnehin schon in einen Hypervisor verfrachtete OS hängt man einen weiteren Systemlayer: UEFI. Ganz toll mit ganz vielen Modulen und ganz vielen Möglichkeiten (die sicher auch Sicherheitstechnisch in Zukunft einigen Spaß machen dürften). Soweit die Theorie. Inzwischen hatte ich das große Vergnügen mehrere UEFI-Systeme vorgesetzt zu bekommen. Nummer eins war ein kleines AMD-Fusion-Board, welches recht pflegeleicht war. Das neue Setup glänzt mit Mausunsterstützung und selbsterklärender GUI, an vernünftige Einstellungen gelangt man über einen Expertenmodus. Das System startet flott und zeigt keine Fehler, zwar „no Points so far“, dann auch ältere PCs mit BIOS hatten zum Teil schon grafische Menüs, aber ich sah auch keine Nachteile für mach, also „macht wenn ihr euch besser fühlt“ – die 2TB-Grenze des alten BIOS dürfte demnächst ja erreicht sein. Die weiteren Rechner waren IBM xServer und hierzu kann ich nur eins sagen: You are doing it wrong. IBM war ja noch nie für durchdachte Menüs oder Konzepte im BIOS zu haben, aber was sie bei diesen Kisten geritten hat wissen sie wohl selbst nicht – je nach PCI-Karten benötigen die Kisten über 20 Minuten um den BIOS-Nachfolger zu durchlaufen und mit dem OS zu beginnen. Das Booten einer internen RAID-Karte wird zur Geduldsprobe: Diese versteckt sich hinter kryptischen PCI-IDs, welche erst in eine Bootwarteschlange eingefügt und in einem weiteren Schritt entsprechend priorisiert werden müssen. Selbst dann booten ältere Systeme nicht, denn ohne ein höher priorisiertes „Legacy Devices“, welches als Dummy-Boot-Device dient und beim Booten diverse Einstellungen ändert, werden nur EFI-fähige Betriebssysteme unterstützt. „Mal schnell“ etwas machen fällt hier definitiv aus. Aus den UEFI-Zielen der einfacheren Bedienbarkeit und schnelleren Bootzeiten wurde hier eher das exakte Gegenteil. Ich habe jetzt nach 2 Stunden jedenfalls das nicht (ganz planmäßig abgesägte) OS wieder am laufen – wie der letzte Nutzer es gebootet hatte wird wohl ein Geheimnis bleiben.

WLAN für Compaq N620C/N410C und weitere im Eigenbau – Nachschlag

Vor fast zwei Jahren hatte ich hier im Blog eine Anleitung veröffentlicht um einen Compaq N620C im Eigenbau mit WLAN nachzurüsten. Trotz des beachtlichen Alters der Evo-Serie bin ich offensichtlich nicht der einzige Netznutzer, welcher weiterhin an den Kisten arbeitet: Alle paar Monate erhalte ich via Blog oder Mail Nachfragen zu der Bastelei. Da gerade wieder eine Eintrudelte und ich ohnehin alles vor mir habe schreibe ich hier die Ergänzungen nochmal für alle lesbar nieder, welche sich seit der ursprünglichen Version ergeben haben:

Zu den Bauteilen ist nicht viel zu sagen: Ein BC550C (NPN-Transistor) wurde als Inverter genutzt welcher die 3,3V Steuerspannung des Umschaltpins (Fn+F2) entgegennimmt und über einen weiteren BD140 (PNP-Transistor) die +5V-Spannungsversorgung des USB-Ports steuert. Die Wahl der Transistoren erfolgte dabei auf Basis des Inhalts meiner Bastelkiste und ist recht unkritisch – alles über 5V/500mA sollte kein Problem sein. Ein Abschalten des GND des USB-Ports würde zwar einen Transistor sparen, jedoch verursachte das bei mir Fehlfunktionen, da der WLAN-Stick die Datenpins als GND missbrauchte und nicht komplett abschaltete. Die im Schaltplan eingezeichnete Status-LED (LED1 und R4) ist nur informell und kann bei Platzmangel weggelassen werden.

Bei den Nachfragen ist auch aufgefallen, dass der “Compaq Multiport” offensichtlich in vielen Modellen der Evo-Serie vorhanden ist, so wurde Lukas W. in einem Evo N410C fündig und fertigte (u.A. aus DDR-Transistoren) eine – zugegebenermaßen deutlich sauberer aussehende – Variante, welche ich in Bildform dankenswerterweise hier veröffentlichen darf.

Server-Redesign – watt is?

Soderle, meine heimischen Renovierungsarbeiten schreiten voran und heute musste der alte Stromverteiler dran glauben. Auch wenn die Verdopplung des Platzes eine große Erleichterung darstellt ist es ein Horror für jeden ITler: Der Strom muss aus. Drum drücken kann ich mich nicht, also mache ich das beste draus und gehe das Schon lange fällige Redesign meines Serversystems an. Vor Allem Ausfälle haben dafür gesorgt, dass der Hauptrechner auf mehreren Altsystemen liegt und zu allem Überfluss mangels Platz für Festplatten auf mehrere Gehäuse verteilt ist.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2011/12/wpid-IMAG0641-150×150.jpg

Damit soll nun Schuss sein – und wenn ich grade schon dabei bin wird auch gleich modernisiert:Statt des 200W fressende 19″ Server soll ein neues Board auf Basis des AMD Fusion den Stromzähler etwas schonen. Zwar bieten die Fusion-CPUs nicht gerade üppige Leistung, haben jedoch Hardwarevirtualisierung dessen Fehlen beim vorherigen x345 wohl die meisten Leistungseinbußen gefordert hatte.

Neues Board, neues Netzteil, also mal schnell in die Grabbelkiste gegriffen. Aber welches? Also Messgerät ausgepackt und mit jedem NT den Idle-Verbrauch des Boards gemessen. Am schlechtesten schnitt dabei wie erwartet die 400W-Noname-Büchse ab, welche sich knappe 41W mit einer HDD gönnte. Auf Platz 2 pendelte sich ein 350W-Netzteil des Typs „Rhombutech RT-350“ ein, was mit 37W hinter meinen Erwartungen zurückblieb. Nun verbaut ist ein „LC-Power LC8400P“ das mit etwas über 30W wohl unstrittig das effektivste des Tests ist.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2011/12/wpid-IMAG0642-150×150.jpgEin weiterer Punkt war die Systemplatte. Bisher hatte ich eine SCSI-Platte fürs System, was mit dem mit dem neuen Miniboard flach fällt. Stattdessen habe ich meine Eigenbau-SSD auagegraben: 16GB SD-Karten mit SATA-Konverter sind sicher keine Rennmaschine, aber da außer Logs keine dynamischen Daten drauf liegen ausreichend. Übergangsweise sorgen SATA-Controller und eine weitere NIC für den Betrieb, zukünftig sollen diese Karten auf PCIe-Pendants umgerüstet werden und so die PCI-Sots für ISDN (Asterisk) und Remote Management frei machen. Bild: https://www.adlerweb.info/blog/wp-content/uploads/2011/12/wpid-IMAG0643-150×150.jpgApropos Platten: Wenn man eine Festplatte umbaut und danach einen SMD-Kondensator am Finger hat ist das suboptimal. Zm Glück konnte ich das Ding wieder anlöten – sollte trotzdem eigentlich nicht passieren oO.

Beim OS muss das bisher eingesetzte Gentoo dran glauben: Proxmox soll nun als Virtualisierungsbasis dienen, die NAS und Steuerungsfunktionen wandern dank PCI-Passthrough in VMs. Großer Vorteil: Das ganze System wird modularer und lässt sich so einfacher verwalten – wenn die Leistung nicht reicht wird einfach ein neuer Clusterknoten hinzugefügt.

Ergebnis des Umbaus: Das System hängt jetzt an der Wand, funktioniert und benötigen zum Betrieb nun weniger als die Hälfte der vorherigen Leistung. Geschwindigkeitstechnisch ist erst mal kein all zu großer Unterschied feststellbar, allerdings muss sich das noch zeigen, wenn alle Systeme wieder voll Einsatzbereit sind. Ein kurioses Ergebnis am Rande: Durch die passive Kühlung des Boards ist nun mein Switch das lauteste Gerät im Raum – sehr ungewohnt, wenn man es gewohnt ist üblicherweise quasi Wand an Wand mit einer 19″ Brüllkiste einzuschlafen.

BitBastelei #11 – RGB-CTL – RGB-LEDs mit dem ATTiny25

BitBastelei #11 - RGB-CTL - RGB-LEDs mit dem ATTiny25

(154 MB) 00:16:49

2011-10-28 15:38 🛈

Entwurf & Aufbau eines RGB-LED-Controllers mit ATTiny25

Links:
LED: http://www.dealextreme.com/p/4530?r=38871381
Moodlamp-Projekt CCC München: http://wiki.muc.ccc.de/moodlamp_30
Elektronik-Kompendium – Stromreglerdiode: http://www.elektronik-kompendium.de/public/schaerer/curr2pol.htm
USI TWI Slave: http://www.jtronics.de/elektronik-avr/lib-i2c/twi-mit-usi-interface
Soft-PWM: http://www.mikrocontroller.net/articles/Soft-PWM
I²C @ Wikipedia: http://de.wikipedia.org/wiki/I%C2%B2C
Software/Hardware: https://github.com/adlerweb/RGB-CTL
Bauteilliste: https://secure.reichelt.de/index.html?;ACTION=20;LA=5010;AWKID=492057;PROVID=2084

BitBastelei #9: 4G Onetab (Android 2.1 Tablet) im Test

BitBastelei #9: 4G Onetab (Android 2.1 Tablet) im Test

(130 MB) 00:14:28

2011-08-01 17:37 🛈

Inzwischen ist mein neues Spielzeug da: Ein 4G-Systems Onetab aus dem Rausschmissverkauf. 7″, 60EUR günstig, Android 2.1 – nicht gerade eine Top-Ausstattung, aber hörte sich für meine Zwecke ganz brauchbar an. Wie es sich in der Praxis schlägt? IMO ganz gut.

BitBastelei #7: Ein Stift für den kapazitiven Touchscreen

BitBastelei #7: Ein Stift für den kapazitiven Touchscreen

(36 MB) 00:05:30

2011-05-05 20:30 🛈

Handys mit Multitouch, also einem kapazitiven Touchscreen, kommen meist ohne Stift. Wer große Finger hat dürfte mit den Softwaretastaturen da an seine Grenze stoßen. Die klassischen PDA-Stifte funktionieren technisch bedingt nicht mehr, mit ein paar Resten bewaffnet lässt sich aber ein funktionierender Stift schnell selbst bauen.