Làm cho router của riêng của bạn với WRTNode - điều khiển đèn LED thông qua cổng GPIO

Bài viết trước đó về WRTNode trong số những thứ khác, chúng tôi đã học được, Làm thế nào để thêm bốn cổng LAN và một cổng WAN để điều này small Các bộ định tuyến theo định hướng phát triển liên quan đến dự án với các Internet of things và các Robot.

Hôm nay chúng ta sẽ tìm hiểu những điều cơ bản về cổng GPIO Thiết bị này việc Flash một bi-color led, hoặc hai thất bại Đèn LED như các màu sắc khác nhau của “Chào thế giới” để được làm quen với Nền tảng phát triển này.

Lần đầu tiên chúng ta phải làm là để kết nối các bi-color led, hoặc các Đèn LED hai màu sắc khác nhau ở các chân GPIO0GPIO2 chỉ là trong bảng dưới đây và phía sau chương trình kết nối; cần lưu ý rằng sẽ không cần phải sử dụng điện trở do điện áp thấp mà làm việc WRTNode.

WRTNode Diode LED
GPIO0 (GPIO BAN 57)
Màu xanh lá cây cực dương
GPIO2 (GPIO BAN 58)
Anode đỏ
GND (GPIO BAN 55)
Phổ biến để làm cực âm

Nếu bạn sử dụng hai Đèn LED thay vì một bicolor, Bạn phải kết nối một cầu nối giữa các cathodes cả hai; Mặt khác, Các bi-color led họ có một chia sẻ bởi hai của mình để làm cực dương làm giảm cáp cần thiết cho việc này.

Kết nối giữa led bi-màu sắc và các sơ đồ WRTNode

Bây giờ chúng tôi đã có thể thức ăn của chúng tôi WRTNode, và kết nối với các Quản lý giao diện điều khiển của OpenWRT by means of the cổng nối tiếp như chúng ta đã học được trong Trước bài viết này, để xuất khẩu các GPIO2, cấu hình nó như là đầu ra, và gán một giá trị tích cực “1“; Cuối cùng chúng tôi reasignaremos một giá trị thấp “0” để tắt 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

Tại thời điểm này lặp lại bước trước, Thời gian này với GPIO0 để kiểm tra các diode thứ hai của chúng tôi bi-color led và kiểm tra tất cả mạch.

#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

Sau khi kiểm tra hoạt động chính xác, Chúng tôi plasmaremos các hai bước trên mã trong một kịch bản, Vì vậy, chúng tôi sẽ sử dụng các soạn thảo văn bản mặc định trong trường hợp này nó là VI, và Chúng tôi sẽ dính vào đoạn mã sau trong tập tin của chúng tôi được gọi là blinkleds; Cần lưu ý rằng vỏ mặc định trong OpenWRT ES “Ash“, rất giống với “bash” nhưng với những hạn chế nhất định.

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

Bạn chỉ cần cung cấp Thực hiện quyền để các kịch bản cuối cùng chạy nó, bây giờ các lãnh đạo Nó sẽ Flash thay đổi màu sắc cho đến khi chúng tôi làm gián đoạn chương trình bằng cách nhấn tổ hợp phím “CTRL + c“.

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

Trong này video Bạn có thể xem các hoạt động của phù hợp được thực hiện; Nếu bạn thích Đừng quên Theo tôi trên YouTube để không bỏ lỡ bất kỳ của các video chưa được công bố Tôi sẽ xuất bản, bất kể các điều mà tôi viết.

Các hướng dẫn sau đây Chúng tôi sẽ tìm hiểu để phát triển một chương trình nhỏ mà sẽ cho phép chúng ta gán cho mỗi người lãnh đạo Dịch vụ, và tạo cảnh báo trực quan liên quan đến sự kiện mà xác định.

Nếu bạn muốn bạn có thể theo tôi trên Twitter, Facebook, Google +, LinkedIn, hoặc chia sẻ nó với các nút trong ấn phẩm này, Nếu bạn có bất kỳ câu hỏi hoặc góp ý xin vui lòng đừng ngần ngại để bình luận.

Giúp chúng tôi để tiếp cận với nhiều người đọc Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

Gửi phản hồi