Controleer uw eigen router met WRTNode - LEDs regelen via de GPIO poort

In vorige artikelen over WRTNode onder andere dingen, die we geleerd, Het toevoegen van vier poorten LAN en een poort WAN aan dit kleine router gerichte ontwikkeling gerelateerde projecten met de Internet van dingen en de Robotica.

Vandaag zullen we de basisprincipes te leren over de poort GPIO Dit apparaat maken van Flash een bi-color led, of twee bij ontstentenis LED 's Als verschillende kleuren van “Hallo mensen” om worden vertrouwd gemaakt met Deze ontwikkelplatform.

Het eerste wat we moeten doen is om te verbinden de bi-color led, of de LED 's twee verschillende kleuren in de pinnen GPIO0 en GPIO2 net als in de volgende tabel en de achterzijde regeling van de verbinding; dient te worden opgemerkt dat zal niet hoeft te gebruiken van weerstanden Als gevolg van de lage spanningen die werkt WRTNode.

WRTNode Diode LED
GPIO0 (GPIO BOARD 57)
Groene anode
GPIO2 (GPIO BOARD 58)
Rode anode
GND (GPIO BOARD 55)
Gemeenschappelijke kathode

Als u twee LED 's in plaats van een bicolor, U moet verbinding maken met een brug tussen de kathoden van beide; Aan de andere kant, de bi-color led ze hebben een gedeeld door de twee anoden die vermindert bekabeling nodig voor deze praktijk.

Verbinding tussen de bi-color led en WRTNode-diagram

Nu al kunnen we voeden onze WRTNode, en sluit aan op de Beheerconsole van OpenWRT door middel van de seriële poort zoals we geleerd in Dit eerdere artikel, te exporteren de GPIO2, configureren als uitvoer, en een positieve waarde toewijzen “1“; Tot slot zijn we reasignaremos een lage waarde “0” uitschakelen van de led.

#Encendemos el led rojo
root@OpenWrt:~# echo 2 > /sys/class/gpio/export
root@OpenWrt:~# echo out > /sys/class/gpio/gpio2/direction
root@OpenWrt:~# echo 1 > /sys/class/gpio/gpio2/value

#Apagamos el led rojo
root@OpenWrt:~# echo 0 > /sys/class/gpio/gpio2/value

Op dit punt herhaal de vorige stap, Dit keer met de GPIO0 om te testen de tweede diode van onze bi-color led en controleer alle circuit.

#Encendemos el led verde
root@OpenWrt:~# echo 0 > /sys/class/gpio/export
root@OpenWrt:~# echo out > /sys/class/gpio/gpio0/direction
root@OpenWrt:~# echo 1 > /sys/class/gpio/gpio0/value

#Apagamos el led verde
root@OpenWrt:~# echo 0 > /sys/class/gpio/gpio0/value

Na het controleren van de juiste werking, We plasmaremos de de bovenstaande code twee stappen in een script, dus we zullen gebruiken de standaard teksteditor in dit geval is het VI, en We houden ons de volgende code in ons bestand met de naam blinkleds; Opgemerkt moet worden dat de shell in standaard OpenWRT ES “Ash“, zeer gelijkaardig aan “bash” maar met bepaalde beperkingen.

#!/bin/ash
#blinkleds

#Exportamos los GPIO
echo 0 > /sys/class/gpio/export
echo 2 > /sys/class/gpio/export

#Los definimos como salidas
echo out > /sys/class/gpio/gpio0/direction
echo out > /sys/class/gpio/gpio2/direction

#Los hacemos parpadear
while true; do
  echo 1 > /sys/class/gpio/gpio0/value
  sleep 1
  echo 0 > /sys/class/gpio/gpio0/value
  sleep 1
  echo 1 > /sys/class/gpio/gpio2/value
  sleep 1
  echo 0 > /sys/class/gpio/gpio2/value
  sleep 1
done

Alleen moet je Machtigingen voor uitvoeren aan de script tot slot om het te draaien, nu de geleid Het zal veranderende kleur knipperen totdat we het programma onderbreken door te drukken op de toetsencombinatie “CTRL + c“.

root@OpenWrt:~# chmod +x leds 
root@OpenWrt:~# ./leds

In dit video Ziet u dat de werking van de montage bestaat; Als je vergeet niet Volg mij op YouTube niet missen een van de niet-gepubliceerde video 's I 'm gonna publiceren, ongeacht de artikelen die ik schrijf.

In het volgende leerprogramma We zullen leren te ontwikkelen van een klein programma dat ons toelaten zal om elk toewijzen geleid met een dienst, en genereren van visuele waarschuwingen die zijn gekoppeld aan gebeurtenissen die definiëren.

Als je net als u me kunt volgen op Twitter, Facebook, Google +, LinkedIn, of het te delen met de knoppen onder deze publicatie, Als u vragen hebt of suggesties gelieve te niet aarzelen om commentaar te.

Help ons te bereiken meer lezers Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

Laat een antwoord achter