This is an old revision of the document! Table of ContentsRT5350F-OLinuXino und RT5350F-OLinuXino-EVBDas RT5350F-OLinuXino und das darauf basierende Evaluation Board RT5350F-OLinuXino-EVB bieten jede Menge Schnittstellen sowie einen programmierbaren 5-port Ethernet Switch zu äusserst kleinem Preis. Als Betriebssystem ist OpenWRT vorinstalliert. Als besonderes Gadget enthält das Evaluation Board auch noch zwei integrierte 250V/10A Relais und einen Taster als Eingabemöglichkeit. Leider sind damit auch alle freien GPIOs des RT5350F verbraucht. Erste SchritteDie verfügbare Dokumentation zum Board ist leider etwas bescheiden, daher geben wir hier ein paar hilfreiche Informationen zum Einstieg. Serielle KonsoleDie erste Hürde stellt sich, wenn man versucht zum ersten Start die serielle Konsole über einen handelsüblichen 3.3V USB-Serial Adapter wie dem Foca herzustellen - die Beschriftung der Pins auf dem vorliegenden Port benennt die Pins als GND, RXD2 und RXD2. Die richtige Belegung (vom PCB Rand nach innen) ist:
Damit sei auch bereits erwähnt, dass das TXD des Olinuxino natürlich ans RXD des USB-Serial Adapters gehört und umgekehrt. Als Geschwindigkeit ist 57600 Baud voreingestellt. SpannungsversorgungDas Board darf nur mit 5VDC gespiesen werden! Einmaliges Speisen mit höherer Spannung füḧrt laut Anwenderberichten dazu, dass das Gerät nur noch zur Indianerkommunikation mit Rauchzeichen taugt! Wird dies beachtet, steht einem ersten Start des Boards nichts mehr im Weg. Erstes BootenWenn das Board eingeschaltet wird, sollte man auf der seriellen Konsole den Bootvorgang beobachten können. Mit einem beherzten Enter wird die Konsole aktiviert und erlaubt uns das System zu inspizieren: Please press Enter to activate this console. BusyBox v1.23.2 (2015-08-24 08:59:39 EEST) built-in shell (ash) _______ ________ __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || _|| _| |_______|| __|_____|__|__||________||__| |____| |__| W I R E L E S S F R E E D O M ----------------------------------------------------- CHAOS CALMER (15.05-rc3, r46591) ----------------------------------------------------- * 1 1/2 oz Gin Shake with a glassful * 1/4 oz Triple Sec of broken ice and pour * 3/4 oz Lime Juice unstrained into a goblet. * 1 1/2 oz Orange Juice * 1 tsp. Grenadine Syrup ----------------------------------------------------- Default KonfigurationDas Board wird einer OpenWrt Standardkonfig ausgeliefert, das heisst die beiden vorhandenen LAN Ports sind als LAN und WAN konfiguriert und das Board agiert als NAT-Router mit Firewall, die WiFi Schnittstelle ist per default deaktiviert. Die LAN Schnittstelle ist auf 192.168.1.1/24 konfiguriert, die WAN Schnittstelle darauf eine Adresse per DHCP zu beziehen.
Die Netzwerkkonfiguration kann nun entweder durch bearbeiten der Datei Die Luci Oberfläche ermöglicht die einfache Konfiguration des Routers und z.B. das einfache Aktivieren und Konfigurieren der WiFi Schnittstelle: GPIO / RelaisDie GPIO Pins und damit auch die Relais sind im sysfs über Dateihandles zugänglich. So kann man den Status von Relais 1 z.B. auslesen mit: cat /sys/class/gpio/relay1/value Das Setzen eines GPIO Pins geht ähnlich einfach mit z.B. echo 1 > /sys/class/gpio/relay1/value Möglichkeiten / AnwendungsideenDas Olinuxino-RT5350F-EVB erlaubt es rel. einfach einen Ethernet Power Switch aufzubauen, das heisst eine Steuerung von zwei bis zu 230V Lasten über den Webbrowser oder eine eigene Netzwerkanwendung. Beispiel: IP Power Switch
Nachfolgendes Code Beispiel kann unter Hinweis: Der Code ist als schnelle Demo und Anregung gedacht und keinesfalls für produktive Umgebungen. #!/bin/sh # # $Id: powerset.cgi,v 1.1 2015-09-08 11:08:27 boxtec Exp $ PWR1=/sys/class/gpio/relay1/value PWR2=/sys/class/gpio/relay2/value getpower () { pwr0=$(cat $PWR1) pwr1=$(cat $PWR2) } setpower () { if [[ "$1" == "0" ]]; then echo $2 > $PWR1 elif [[ "$1" == "1" ]]; then echo $2 > $PWR2 fi } echo "Content-type: text/html" echo echo -n "<html>" URLARGS=$(echo $QUERY_STRING | awk -F '&' '{print $1 " " $2 " " $3 " " $4}') cmd=$(echo $URLARGS | cut -d " " -f1 | cut -d "=" -f2) port=$(echo $URLARGS | cut -d " " -f2 | cut -d "=" -f2 ) state=$(echo $URLARGS | cut -d " " -f3 | cut -d "=" -f2 ) getpower echo "<head>" echo "<title>IP Switch Olinuxino</title>" if [[ "$cmd" = "SetPower" ]]; then setpower $port $state echo "<meta http-equiv='refresh' content='0,URL=/cgi-bin/powerset.cgi' >" fi echo "</head><body>" getpower if [[ $pwr0 == "1" ]]; then checked1="checked='checked'" newstate1="0" else checked1="" newstate1="1" fi if [[ $pwr1 == "1" ]]; then checked2="checked='checked'" newstate2="0" else checked2="" newstate2="1" fi echo "<h2>Set Power:</h2>" echo "<form action='/cgi-bin/powerset.cgi' method='get'>" echo "<input type='hidden' name='cmd' value='SetPower' />" echo "<input type='hidden' name='port' value='0' />" echo "<input type='hidden' name='state' value=$newstate1 />" echo "Relay1: <input type='checkbox' name='relay1' value=$pwr0 $checked1 onchange='submit();'/>" echo "</form>" echo "<form action='/cgi-bin/powerset.cgi' method='get'>" echo "<input type='hidden' name='cmd' value='SetPower' />" echo "<input type='hidden' name='port' value='1' />" echo "<input type='hidden' name='state' value=$newstate2 />" echo "Relay2: <input type='checkbox' name='relay2' value=$pwr1 $checked2 onchange='submit();'/>" echo "</form>" echo "</body></html>" Das sieht dann in etwas so aus und ermöglicht das komfortable Schalten von grossen Lasten über den Webbrowser: FazitDas Olinuxino-RT5350F bietet sehr viele Möglichkeiten. Dass einem da in dieser kleinen Form ein programmierbarer 100Mbit/s Switch mit integriertem WiFi Access Point in die Finger kommt ist erstaunlich und macht jegliche IoT Projekte einfach. Der Stromverbrauch des Boards liegt bei offenen Relais, deaktiviertem WiFi bei unter 20mA. Wenn WiFi eingeschaltet ist, sind etwa 50-80mA im Betrieb zu erwarten. Je angezogenes Relais fallen etwa weitere 20-40mA an. Es sind zwar viele Schnittstellen wie I2C, USB etc. vorhanden, einen freien GPIO Pin für eigene Anwendungen sucht man aber vergebens bei der EVB Variante. Beim reinen RT5350F Modul sind 3 GPIO Pins vorhanden die beim EVB für Relais und Taster verwendet werden. Wenn man nun z.B. das Board um einen einfachen Temperatursensor erweitern möchte wirds also mit der EVB Version schon schwerer - der muss über eine der bestehenden Schnittstellen ans System. Der Versuch testweise einen Arduino Uno über USB anzuschliessen und über USB-seriell Messwerte an das Board zu übermitteln scheitert an der Tatsache, dass das OpenWrt im RT5350F-Olinuxino ohne den CDC Modem Treiber kommt - es müsste also erst ein neues OpenWrt mit dem entsprechenden Modulen kompiliert werden. Trotzdem, alles in allem ein leistungsfähiges Board fürs Heimnetzwerk und IoT Projekte - wenn auch mit gewissen Einschränkungen. Referenzen / Links |
|||||||||
Letzte Aktualisierung: © boxtec internet appliances · the better security products |