BitNotice #42 – GPIO unter OpenWRT an Carambola

BitNotice #42 - GPIO unter OpenWRT an Carambola

(6 MB) 00:05:15

2014-06-15 21:20 🛈

Auf vielen Routern lassen sich so genannte GPIOs (General-purpose Input/Output Pins) nutzen. Hersteller verwenden sie um LEDs zu steuern oder Taster abzufragen, doch unter OpenWRT können wir sie auch selbst steuern. Mit wenigen „echo“-Befehlen lässt sich so eine eigene LED steuern… Oder entsprechend über ein Relais ganze Steckdosen.

Gezeigte Referenz: http://k.japko.eu/wl-740n-w1.html

Renicetree – renice a process including it’s children

./configure && make – aw crap.

Immer wieder passiert es mir, dass ich längere Prozesse starte ohne ein „nice“ davor zu setzen. Ergebnis: Der Kompiliervorgang o.Ä. hat die selbe Priorität wie alles andere und zieht die Reaktionsfähigkeit des PC deutlich in den Keller. Üblicherweise kann man nun mir „renice“ den Prozess nachträglich herunterstufen, jedoch klappt das gerade bei Kompiliervorgängen nicht sonderlich gut: renice ändert lediglich die Priorität des angegebenen Prozesses, hierdurch werden auch neu erstellte Kindprozesse erfasst, bereits laufende jedoch nicht. Da Make teils sehr verschachtelt arbeitet und Jobprozessoren zur Verteilung der Aufträge nutzt muss man z.T. einige Prozesse ändern um das System wieder lauffähig zu machen. Hier z.B. der make-Baum eines OpenWRT:

make(25087)->sh(25209)->make(25211)-|->bash(25214)->make(25237)
                                    |->bash(25229)->make(25240)

Da ich keine Lust mehr hatte ständig die nötigen IDs per Hand zu suchen ist renicetree entstanden. Es sucht alle zu einer PID gehörigen Kindprozesse und setzt auch für diese ein renice ab. Um halbwegs kompatibel zu bleiben ist die Software in einer Bash-Syntax entstanden.

Da ich keinerlei erweiterte Ahnung von Shell-Scripting habe dürfte der Code bei Profis vermutlich Haarraufen verursachen, aber er läuft immerhin – auch wenn mir die Eigenheiten der Bash gewaltig auf den Nerv gingen (Keine mehrdimensionalen Arrays, keine indirekte Variabelreferenzen, etc). Script gibt’s wie immer auf Github. Use at your own risk.


Update: Ich wurde darauf hingewiesen, dass renice über die Process Group ID (-g) eine ähnliche Funktion bereits bieten würde. Das kann ich – zumindest für GUI-Betrieb – nicht bestätigen, hier hat z.B. alles unter meinem Terminal-Emulator die selbe Gruppen-ID, also auch Prozesse, welche in einem anderen Tab gestartet sind.

BitBastelei #101 – DS18B20 Temperatursensoren an RasberryPi

BitBastelei #101 - DS18B20 Temperatursensoren an RasberryPi

(36 MB) 00:10:21

2014-06-15 19:40 🛈

DS18B20 sind günstige, sehr einfach zu verwendende und genaue (±0,5°C) Temperatursensoren. Mit nur einem Widerstand lassen sich gleich mehrere an einen Raspberry Pi anschließen.

Datenblatt: http://www.maximintegrated.com/en/products/analog/sensors-and-sensor-interface/DS18B20.html
Tutorial bei RaspiProjekt.de: https://www.raspiprojekt.de/anleitungen/schaltungen/9-1wire-mit-temperatursensor-ds18b20.html

BitNotice #41 – „Beast Z380“ Tacker/Nagler

BitNotice #41 - "Beast Z380" Tacker/Nagler

(37 MB) 00:05:25

2014-06-15 18:00 🛈

In einer der letzten Folgen hatte ich gezeigt wie man LED-Streifen mittels Tacker an die Wand bekommt – nun, der gezeigte war nicht mir, also ist es offenbar Zeit meinen Werkzeugbestand zu ergänzen.

Von mir gekaufter Artikel: http://www.ebay.de/itm/201077107390

BitNotice #40 – Carambola Unbrick via UBoot/RS232/TFTP

BitNotice #40 - Carambola Unbrick via UBoot/RS232/TFTP

(5 MB) 00:03:06

2014-06-15 16:20 🛈

Beim Basteln mit Firmware gibt es ein großes Risiko: Eine falsche Eingabe und das System reagiert nicht mehr. Ein solches funktionsloses und somit nicht mehr brauchbares Gerät nennt man „Brick„, also Ziegelstein. Doch so lange der Bootloader noch erreichbar ist lässt sich vielfach noch etwas retten.

Hier wird ein 8Devices Carambola bzw. dessen Bootloader „UBoot“ mittels serieller Schnittstelle angewiesen eine neue Firmware per TFTP vom Rechner zu laden.

Ranttime #7 – (Anti-)Cloud-Computing für Einsteiger

Die Cloud macht das leben einfacher – dies wird einem von so ziemlich jeder Werbung suggeriert, doch vielfach werden die Risiken verschwiegen. Nicht so bei mir: Hier wird die (leicht überspitzte) Geschichte von Geschäftsmann Bernd und seinem Ausflug in die Cloud erklärt.

BitNotice #38 – Noch mehr LED-Streifen

BitNotice #38 - Noch mehr LED-Streifen

(41 MB) 00:06:51

2014-06-15 11:20 🛈

Fast alles ist schon LED, jetzt kommen die letzten Glühbirnen in den Abstellräumen dran. Billigste Lösung: LED-Streifen. Gewinnt sicher keinen Schönheitspreis, durch das verteilte Licht gehören dunkle Ecken aber der Vergangenheit an.

Auktion von d-hellbringer: http://www.ebay.de/itm/181301078460

BitBastelei #100 – OpenWRT auf Carambola

BitBastelei #100 - OpenWRT auf Carambola

(24 MB) 00:16:11

2014-06-15 09:40 🛈

Das „Carambola“-Board der Firma 8Devices (http://8devices.com/carambola) ist eine Entwicklungsplattform für Netgeräte. Hardwaretechnisch ist sie an Routern orientiert und ist entsprechend mit 2 LAN-Ports und 802.11b/g/n-WLAN ausgestattet. Leider hat die Original-Software seit längerem kein Update erhalten, aber der offizielle OpenWRT-Zweig (http://wiki.openwrt.org/doc/howto/buildroot.exigence) sollte Abhilfe schaffen.

Der gezeigte Kompiliervorgang kann für nahezu alle von OpenWRT unterstützten Router verwendet werden, es muss lediglich in der Konfiguration das Richtige CPU-/Routermodell angegeben werden.

BitNotice #37 – Laminat verlegen

BitNotice #37 - Laminat verlegen

(136 MB) 00:07:10

2014-06-15 08:00 🛈

Laminat ist einer der am einfachsten zu verarbeitenden Bodenbeläge – also rein damit…

Nerd Inside