ใน บทความก่อนหน้านี้ เกี่ยวกับ 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, และเชื่อมต่อกับการ คอนโซลการจัดการ ของ 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, หรือใช้ร่วมกับปุ่มภายใต้ประกาศนี้, ถ้าคุณมีคำถาม หรือข้อเสนอแนะโปรดอย่าลังเลที่จะแสดงความคิดเห็น.