Wneud eich hun llwybrydd gyda WRTNode-rheoli LEDs drwy y Porth GPIO

Yn Erthyglau blaenorol am WRTNode ymhlith pethau eraill, cawsom, Sut i ychwanegu pedwar porthladdoedd LAN a Porth WAN bach hwn datblygu sy'n canolbwyntio ar y llwybrydd sy'n gysylltiedig â phrosiectau â y Rhyngrwyd o bethau ac yn y Roboteg.

Heddiw y bydd dysgu elfennau sylfaenol am y Porth GPIO Y ddyfais hon gwneud fflach BI-lliw dan arweiniad, neu ddwy yn methu Mae LEDs fel lliwiau gwahanol o “helo byd” i fod yn familiarized gyda Llwyfan hwn ddatblygu.

Y peth cyntaf sy'n rhaid ei wneud yw cyswllt y BI-lliw dan arweiniad, neu y Mae LEDs dau liw gwahanol yn yr Arolygiaeth Gynllunio GPIO0 ac GPIO2 yn unig fel yn Mae'r tabl canlynol ac yn y cefn cynllun o gysylltiad; Dylid nodi bod Ni fydd angen i ddefnyddio gwrthyddion oherwydd y folteddau isel sy'n gweithio WRTNode.

WRTNode Deuod dan arweiniad
GPIO0 (BWRDD GPIO 57)
Anod gwyrdd
GPIO2 (BWRDD GPIO 58)
Anod coch
GND (BWRDD GPIO 55)
Pelydrau cathod cyffredin

Os ydych yn defnyddio dau Mae LEDs yn hytrach nag un bicolor, Rhaid i chi gysylltu Pont rhwng y cathodes o'r ddau; ar y llaw arall, y BI-lliw dan arweiniad Mae ganddynt un a rennir gan ei ddau anodes sy'n lleihau'r ceblau sydd eu hangen ar gyfer ymarfer hwn.

Cysylltiad rhwng y bi-lliw dan arweiniad a WRTNode diagram

Bellach eisoes gallwn fwydo ein WRTNode, a chyswllt i y Consol Rheoli o OpenWRT gan y porth cyfresol fel y cawsom yn Erthygl hon blaenorol, i allforio y GPIO2, ei ffurfweddu fel allbwn, a neilltuo gwerth cadarnhaol “1“; Yn olaf rydym reasignaremos gwerth isel “0” i ddiffodd dan arweiniad.

#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

Ar y pwynt hwn yn ailadrodd y cam blaenorol, Y tro hwn gyda y GPIO0 i brofi y deuod ail o ein BI-lliw dan arweiniad a gwirio pob Cylchdaith.

#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

Ar ôl gwirio ei gweithrediad cywir, Rydym plasmaremos y y ddau camau uchod Cod mewn sgript, Felly byddwn yn defnyddio y golygydd testun diofyn yn yr achos hwn mae'n VI, ac Byddwn yn cadw y cod canlynol yn ein ffeil o'r enw blinkleds; Dylid nodi bod y gragen ddiofyn yn OpenWRT DATGANIAD AMGYLCHEDDOL “Lludw“, debyg iawn i “darllen difyr” ond gyda rhai cyfyngiadau.

#!/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

Dim ond angen roi Gweithredu'r hawliau i y SGRIPT yn olaf mae'n rhedeg, awr y dan arweiniad Bydd ei fflach lliwiau newidiol nes inni dorri ar draws y rhaglen gan y cyfuniad allweddol yn pwyso “CTRL + c“.

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

Yn hyn o beth fideo Gallwch weld y gwneir weithrediad gosod; Os hoffech chi peidiwch ag anghofio Dilynwch fi YouTube i ni golli unrhyw un y fideos heb ei gyhoeddi Yr wyf yn bwriadu cyhoeddi, waeth beth yw erthyglau imi ysgrifennu.

Yn tiwtorial canlynol Byddwn yn dysgu i ddatblygu rhaglen bach a fydd yn caniatáu inni neilltuo pob un dan arweiniad i wasanaeth, ac rhybuddion gweledol sy'n gysylltiedig â digwyddiadau sy'n diffinio.

Os hoffech chi ddilyn mi Twitter, Facebook, Google +, LinkedIn, neu rannu gyda botymau dan y cyhoeddiad hwn, Os oes gennych unrhyw gwestiynau neu awgrymiadau croeso i sylwadau.

Yn ein helpu i gyrraedd mwy o ddarllenwyr Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

Gadael Ymateb