มีไลบรารีใดบ้างที่สามารถเชื่อมต่อกับ GPIO ได้
มีไลบรารีใดบ้างที่สามารถเชื่อมต่อกับ GPIO ได้
คำตอบ:
ฉันจะตีความสิ่งที่ฉันคิดว่าคุณอาจจะถามอย่างกว้าง ๆ ว่า "ฉันจะควบคุม GPIO จาก userland ได้อย่างไร"
วิธีที่ดีมากในการเริ่มต้นใช้งาน GPIO คือการใช้/sys
filesytem คุณสามารถทำได้ทั้งหมดจากบรรทัดคำสั่ง
ตัวอย่างเช่น,
cd sys/class/gpio
echo 0 > export
cd gpio0
echo high > direction
เอกสารอื่น ๆ ที่อยู่ในลินุกซ์ / เอกสาร / gpio.txt
มีอยู่คนหนึ่งที่ผมเคยพบที่นี่ ฉันไม่ได้มีโอกาสทดสอบเพราะ Pi ของฉันยังไม่มาถึง อย่างไรก็ตามมันก็ดูมั่นใจ มีแม้กระทั่งฟอรั่มที่นี่ที่ประกาศผลตอบแทนที่มีแนวโน้ม หากคุณต้องการตัวอย่าง C แบบ down-to-the- basic โดยใช้ไลบรารี่มาตรฐานมีอยู่ที่นี่จาก eLinux
RPi.GPIOเป็นแพ็คเกจ Python สำหรับการควบคุม GPIO
วิดีโอการสอนนี้แสดงการใช้งานพื้นฐานของแพคเกจ
quick2wireสามารถใช้งานได้โดยผู้ใช้ทั่วไป (ไม่ใช่รูท):
Quick2Wire Python API
ห้องสมุด Python สำหรับการควบคุมฮาร์ดแวร์ที่แนบกับหมุดส่วนหัวของ Raspberry Pi โดยไม่ต้องเรียกใช้ในฐานะผู้ใช้รูท
ฉันใช้Wiring PIและมันใช้งานได้ดีมาก ฉันใช้มันกับภาษา C และก็ไม่มีปัญหา ง่ายต่อการเข้าใจและจัดการได้ง่าย
Pi4J ช่วยให้คุณควบคุมพิน GPIO โดยใช้ Java ฉันไม่แน่ใจว่ามันทำงานอย่างไร แต่มีคำอธิบายที่http://pi4j.com/
มันง่ายมากที่จะควบคุมพอร์ต GPIO ในภาษาใด ๆ ตามที่แสดงในhttp://elinux.orgดังนั้นฉันเชื่อว่าคุณไม่จำเป็นต้องมีกรอบการทำงานสำหรับการควบคุมโดยตรง
คุณจำเป็นต้องรู้คุณสมบัติเพิ่มเติมที่คุณคาดหวังจากเฟรมเวิร์ก
ฉันสิ้นสุดการเขียนเฟรมเวิร์กสำหรับตัวเอง: ควบคุมพอร์ต GPIO ผ่าน HTTP และกับงาน cronที่เหมาะกับความต้องการของฉัน ฉันต้องการมีอะไรบางอย่างสำหรับบ้านอัตโนมัติ ดังนั้นฉันจึงต้องการงาน cron และเว็บอินเตอร์เฟส JSON เพื่อเรียกใช้แอพแบบเนทีฟบน iPhone ดังนั้นฉันไม่ได้เขียน UI เบราว์เซอร์ ฉันเชื่อว่ามันจะดีสำหรับระบบเตือนภัย
ฉันยังไม่พบรายชื่อเฟรมเวิร์ก (สมบูรณ์) เลย มีบางคนกล่าวถึงในฟอรัมของ raspberrypi.org
Johny-Fiveนั้นใช้งานง่ายสำหรับผู้ที่คุ้นเคยกับNode.jsหรือ JavaScript ดูhttp://johnny-five.io/examples/raspi-io/
npm install johnny-five raspi-io
var five = require("johnny-five");
var Raspi = require("raspi-io").RaspiIO;
var board = new five.Board({
io: new Raspi()
});
board.on("ready", function() {
var led = new five.Led("P1-13");
led.blink();
});
มีประโยชน์เป็นพิเศษสำหรับโครงการ Pi ที่ควบคุม GPIO ผ่านเว็บเซิร์ฟเวอร์