banner left Boxtec Banner
Platzhalter BoxtecProdukteForumShopKontaktPlaygroundn/aJobs
 

This is an old revision of the document!


RT5350F-OLinuXino und RT5350F-OLinuXino-EVB

33602.jpg Das 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 Schritte

Die verfügbare Dokumentation zum Board ist leider etwas bescheiden, daher geben wir hier ein paar hilfreiche Informationen zum Einstieg.

Serielle Konsole

Die 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:

Olinuxino-RT5350F GND RXD TXD
USB-Serial GND TXD RXD

Olinuxino-RT5350F mit USB-Serial

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.

Spannungsversorgung

Das 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 Booten

Wenn 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 Konfiguration

Das 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 /etc/config/network gemäss der OpenWrt Dokumentation bearbeitet werden - oder ab man verbindet seinen PC/Notebook mit der LAN Schnittstelle des Boards und greift mit Hilfe des OpenWrt eigenen Konfig Tools 'Luci' über die IP 192.168.1.1 mit dem Browser auf das Board zu:

OpenWrt Luci GUI

Die Luci Oberfläche ermöglicht die einfache Konfiguration des Routers und z.B. das einfache Aktivieren und Konfigurieren der WiFi Schnittstelle:

WiFi Konfiguration in Luci

GPIO / Relais

Die 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 / Anwendungsideen

Das 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 /www/powerset.cgi gespeichert werden und mit chmod 755 /www/powerset.cgi ausführbar gemacht werden. Dieser schnelle Hack erlaubt das Ein- und Ausschalten der beiden Relais auf dem RT5350F-Olinuxino über den Webbrowser:

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:

IP Switch

Fazit

Das 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.

 
reviews/rt5350f-olinuxino-evb.1441711475.txt.gz · Last modified: 2015/09/08 13:24 by boxtec
 
 

zum Seitenanfang

Letzte Aktualisierung: © boxtec internet appliances · the better security products