Membuat router anda sendiri dengan WRTNode - mengawal LED melalui pelabuhan GPIO

Dalam artikel-artikel terdahulu kira-kira WRTNode Antaranya, kita belajar, Bagaimana untuk menambah empat pelabuhan LAN dan sebuah pelabuhan WAN untuk ini kecil penghala yang berorientasikan pembangunan berkaitan dengan projek-projek yang Internet akan perkara-perkara dan Robotik.

Hari ini kita akan mempelajari asas-asas tentang Pelabuhan GPIO Peranti ini membuat Flash yang bi-warna membawa, atau dua gagal LED sebagai perbezaan warna “helo dunia” untuk melatih dengan Pelantar pembangunan ini.

Perkara pertama yang kita perlu lakukan ialah untuk menyambung barisan yang bi-warna membawa, atau LED dua warna yang berbeza di PIN GPIO0 dan GPIO2 hanya seperti dalam Jadual berikut dan bahagian belakang Skim sambungan; harus diperhatikan bahawa tidak perlu menggunakan 1OKsa oleh kerana voltan rendah yang berfungsi WRTNode.

WRTNode Diod LED
GPIO0 (LEMBAGA GPIO 57)
Katod hijau
GPIO2 (LEMBAGA GPIO 58)
Katod merah
GND (LEMBAGA GPIO 55)
Biasa katod

Jika anda menggunakan dua LED sekaligus dan bukannya satu bicolor, Awda mesti menyambung jambatan antara yang katod kedua-duanya; sebaliknya, dalam bi-warna membawa mereka mempunyai satu dikongsi oleh dua syarikat anodes mengurangkan Perkabelan diperlukan untuk amalan ini.

Sambungan antara bi-warna membawa dan Rajah WRTNode

Sekarang pun kita boleh makan kami WRTNode, dan menyambung ke dalam Konsol pengurusan daripada OpenWRT secara yang port bersiri seperti yang kita belajar dalam Artikel sebelum ini, eksport yang GPIO2, konfigurasinya sebagai output, dan peruntukkan bernilai positif “1“; Akhirnya kami reasignaremos nilai yang rendah “0” untuk mematikan diketuai.

#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

Pada masa ini mengulangi langkah sebelumnya, Kali ini dengan GPIO0 yang untuk menguji Diod kedua daripada kami bi-warna membawa dan memeriksa semua litar.

#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

Selepas menyemak operasinya betul, Kami plasmaremos yang dua langkah di atas kod dalam skrip, Jadi kita akan menggunakan dalam editor teks lalai dalam kes ini ianya VI, dan Kami akan menampal kod berikut dalam fail kami dipanggil blinkleds; Ia harus diperhatikan bahawa shell secara lalai dalam OpenWRT ES “Ash“, amat serupa dengan “Bash” tetapi dengan batasan tertentu.

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

Anda hanya perlu memberi Melaksanakan kebenaran untuk itu skrip akhirnya diuruskan oleh, sekarang ini membawa Ia akan berkelipan warna berubah-ubah sehingga kita mengganggu program dengan menekan kombinasi kekunci “CTRL + c“.

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

Dalam hal ini video Anda boleh lihat operasi pemasangan dibuat; Jika anda suka Jangan lupa Ikuti saya di YouTube untuk tidak terlepas mana-mana yang video yang tidak diterbitkan Saya mahu menerbitkan, tanpa mengambil kira perkara-perkara yang saya tulis.

Dalam tutorial berikut Kita akan belajar untuk membangunkan satu program kecil yang akan membolehkan kita untuk memperuntukkan setiap satu membawa kepada Perkhidmatan, dan menghasilkan amaran visual berkaitan dengan peristiwa-peristiwa yang menentukan.

Jika anda mahu anda boleh Ikuti saya di Twitter, Facebook, Google +, LinkedIn, atau berkongsi dengan butang di bawah penerbitan ini, Jika anda mempunyai sebarang pertanyaan atau cadangan sila tidak teragak-agak untuk memberi komen.

Membantu kita untuk mencapai lebih banyak pembaca Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

Tinggalkan Jawapan