ไลบรารีสำหรับการเชื่อมต่อกับ GPIO


30

มีไลบรารีใดบ้างที่สามารถเชื่อมต่อกับ GPIO ได้


ไม่ได้เป็นรายการที่สมบูรณ์ แต่ที่นี่มีไม่กี่ - แต่ฉันคิดว่าคำถามนี้จะถูกปิดเป็นคำถามรายการประเภทมีแนวโน้มที่จะไม่ทำงานได้ดีบนเว็บไซต์กองที่จะมีกระแสที่ไม่มีที่สิ้นสุดของคำตอบ
user2813274

คำตอบ:


14

ฉันจะตีความสิ่งที่ฉันคิดว่าคุณอาจจะถามอย่างกว้าง ๆ ว่า "ฉันจะควบคุม GPIO จาก userland ได้อย่างไร"

วิธีที่ดีมากในการเริ่มต้นใช้งาน GPIO คือการใช้/sysfilesytem คุณสามารถทำได้ทั้งหมดจากบรรทัดคำสั่ง

ตัวอย่างเช่น,

cd sys/class/gpio
echo 0 > export
cd gpio0
echo high > direction

เอกสารอื่น ๆ ที่อยู่ในลินุกซ์ / เอกสาร / gpio.txt


1
ใช้ได้กับทุกระบบปฏิบัติการหรือไม่
Alex L

นี่เป็นลินุกซ์เฉพาะ
blueshift

1
มีบทช่วยสอนที่ใช้วิธีนี้หรือไม่? ฉันเห็นไลบรารีเท่านั้น (โดยส่วนใหญ่เป็นภาษาไพ ธ อน)
เชนฮัดสัน

2
นี่ไม่จำเป็นต้องเป็นห้องสมุดตามคำขอของ OP
แอนดรูลาร์สสัน

1
คำตอบอื่น ๆ สำหรับคำถามนี้ดีกว่ามาก - คำตอบนี้ไม่ตอบคำถามเกี่ยวกับห้องสมุด
recantha

12

มีอยู่คนหนึ่งที่ผมเคยพบที่นี่ ฉันไม่ได้มีโอกาสทดสอบเพราะ Pi ของฉันยังไม่มาถึง อย่างไรก็ตามมันก็ดูมั่นใจ มีแม้กระทั่งฟอรั่มที่นี่ที่ประกาศผลตอบแทนที่มีแนวโน้ม หากคุณต้องการตัวอย่าง C แบบ down-to-the- basic โดยใช้ไลบรารี่มาตรฐานมีอยู่ที่นี่จาก eLinux


คุณมีประสบการณ์อย่างไรในห้องสมุดนี้
Peter Mortensen


1

quick2wireสามารถใช้งานได้โดยผู้ใช้ทั่วไป (ไม่ใช่รูท):

Quick2Wire Python API

ห้องสมุด Python สำหรับการควบคุมฮาร์ดแวร์ที่แนบกับหมุดส่วนหัวของ Raspberry Pi โดยไม่ต้องเรียกใช้ในฐานะผู้ใช้รู


แม้ว่าลิงก์นี้อาจตอบคำถามได้ดีกว่าหากรวมส่วนสำคัญของคำตอบไว้ที่นี่และให้ลิงก์สำหรับการอ้างอิง คำตอบสำหรับลิงค์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง
Mark Booth

@ MarkBooth: "ส่วนสำคัญของคำตอบ" คือ " ผู้ใช้ทั่วไปสามารถใช้งานได้ " ต่างจากคำตอบอื่น ๆ
dugres

1

ฉันใช้Wiring PIและมันใช้งานได้ดีมาก ฉันใช้มันกับภาษา C และก็ไม่มีปัญหา ง่ายต่อการเข้าใจและจัดการได้ง่าย



0

มันง่ายมากที่จะควบคุมพอร์ต GPIO ในภาษาใด ๆ ตามที่แสดงในhttp://elinux.orgดังนั้นฉันเชื่อว่าคุณไม่จำเป็นต้องมีกรอบการทำงานสำหรับการควบคุมโดยตรง

คุณจำเป็นต้องรู้คุณสมบัติเพิ่มเติมที่คุณคาดหวังจากเฟรมเวิร์ก

  • การควบคุมระยะไกลผ่านเบราว์เซอร์
  • เบราว์เซอร์ UI ที่น่ารักหรืออาจเป็นโปรแกรมแบบสแตนด์อโลน
  • การควบคุมตามเวลาอัตโนมัติ ( งานcron )

ฉันสิ้นสุดการเขียนเฟรมเวิร์กสำหรับตัวเอง: ควบคุมพอร์ต GPIO ผ่าน HTTP และกับงาน cronที่เหมาะกับความต้องการของฉัน ฉันต้องการมีอะไรบางอย่างสำหรับบ้านอัตโนมัติ ดังนั้นฉันจึงต้องการงาน cron และเว็บอินเตอร์เฟส JSON เพื่อเรียกใช้แอพแบบเนทีฟบน iPhone ดังนั้นฉันไม่ได้เขียน UI เบราว์เซอร์ ฉันเชื่อว่ามันจะดีสำหรับระบบเตือนภัย

ฉันยังไม่พบรายชื่อเฟรมเวิร์ก (สมบูรณ์) เลย มีบางคนกล่าวถึงในฟอรัมของ raspberrypi.org


0

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 ผ่านเว็บเซิร์ฟเวอร์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.