ทำให้เราเตอร์ของคุณเองกับ WRTNode - ควบคุม Led ผ่านพอร์ต GPIO

ใน บทความก่อนหน้านี้ เกี่ยวกับ WRTNode ในหมู่สิ่งอื่น ๆ เราได้เรียนรู้, วิธีการเพิ่ม 4 พอร์ต LAN และพอร์ต หว่าน การขนาดเล็กเช่นนี้ เราเตอร์ที่เน้นการพัฒนา เกี่ยวข้องกับการ อยากรบกวน และการ หุ่นยนต์.

วันนี้เราจะเรียนรู้เบื้องต้นเกี่ยวกับ พอร์ต GPIO อุปกรณ์นี้ การแฟลชเครื่อง สองสีไฟ led, หรือสองล้มเหลว ไฟ Led เป็นสีอื่น “หวัดดีชาวโลก” การจะ familiarized กับ แพลตฟอร์มการพัฒนานี้.

สิ่งแรกที่เราต้องทำคือการ เชื่อมต่อ สองสีไฟ led, หรือ ไฟ Led แตกต่างกันสองสีหมุด GPIO0 และ GPIO2 เพียงใน ตารางต่อไปนี้ และด้านหลัง รูปแบบของการเชื่อมต่อ; ควรสังเกตที่ จะต้องใช้ตัวต้านทาน เนื่องจากแรงดันต่ำที่ทำงาน WRTNode.

WRTNode ไดโอด LED
GPIO0 (คณะ GPIO 57)
ขั้วบวกสีเขียว
GPIO2 (คณะ GPIO 58)
สีแดงขั้วบวก
บริจาคให้ (คณะ GPIO 55)
แผ่นทั่วไป

ถ้าคุณใช้สอง ไฟ Led แทนหนึ่ง bicolor, คุณต้องเชื่อมต่อสะพานระหว่างการ cathodes ทั้งสองอย่าง; ในทางตรงข้าม, การ สองสีไฟ led พวกเขามีร่วมกัน โดยสอง ใบจักร ซึ่งลดการเดินสายต้องปฏิบัตินี้.

เชื่อมต่อระหว่างสองสีนำและแผนภาพ WRTNode

ตอนนี้เรากินแล้วเรา WRTNode, และเชื่อมต่อกับการ คอนโซลการจัดการ ของ OpenWRT โดยวิธีของการ พอร์ตอนุกรม เราได้เรียนรู้ใน บทความก่อนหน้านี้, การส่งออก GPIO2, กำหนดค่าเป็นผลลัพธ์, และกำหนดเป็นค่าบวก “1“; สุดท้ายเรา reasignaremos ค่าต่ำ “0” เมื่อต้องการปิดไฟ 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

ทำซ้ำขั้นตอนก่อนหน้านี้, เวลานี้ ด้วยการ GPIO0 การทดสอบไดโอดสองของเรา สองสีไฟ led และวงจรทั้งหมด.

#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

หลังจากตรวจสอบการดำเนินการถูกต้อง, เรา plasmaremos สองขั้นตอนข้างต้นรหัส ในสคริปต์, ดังนั้นเราจะใช้การ แก้ไขข้อความเริ่มต้น ในกรณีนี้ เป็น VI, และ เราจะติดรหัสต่อไปนี้ ในแฟ้มของเราเรียกว่า blinkleds; ควรสังเกตที่เปลือก โดยค่าเริ่มต้นใน OpenWRT ES “แอช“, คล้ายกับ “ทุบตี” แต่ มีข้อจำกัดบางอย่าง.

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

คุณเพียงต้องให้ ดำเนินการสิทธิ์ การ สคริปต์ การทำงานในที่สุด, ตอนนี้ ไฟ led จะกะพริบเปลี่ยนสีจนกว่าเราหยุดโปรแกรม โดยการกดแป้นพิมพ์พร้อมกัน “CTRL + c“.

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

ในที่นี้ วิดีโอ คุณสามารถดูการทำงานของอุปกรณ์ที่จะทำ; ถ้าชอบ อย่าลืม ติดตามฉันที่ YouTube ไม่พลาดใด ๆ ของ เผยแพร่วิดีโอ ผมจะเผยแพร่, โดยไม่คำนึงถึงบทความที่เขียน.

ใน การกวดวิชาต่อไปนี้ เราจะเรียนรู้การพัฒนาโปรแกรมขนาดเล็กที่จะช่วยให้เราสามารถกำหนดให้แต่ละ ไฟ led บริการ, และ สร้างคำเตือน เกี่ยวข้องกับกิจกรรมที่กำหนด.

ถ้าคุณชอบคุณสามารถทำตามฉันบน ทวิตเตอร์, Facebook, Google +, LinkedIn, หรือใช้ร่วมกับปุ่มภายใต้ประกาศนี้, ถ้าคุณมีคำถาม หรือข้อเสนอแนะโปรดอย่าลังเลที่จะแสดงความคิดเห็น.

บทความที่เกี่ยวข้อง

ช่วยให้เราเข้าถึงผู้อ่านเพิ่มเติม Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

ใส่ความเห็น