Thư viện để giao tiếp với GPIO


30

Những thư viện nào có sẵn để giao tiếp với GPIO?


không phải là một danh sách đầy đủ, nhưng đây là một vài - mặc dù tôi nghĩ rằng câu hỏi này sẽ bị đóng, vì các câu hỏi kiểu danh sách có xu hướng không hoạt động tốt trên các trang web ngăn xếp, vì sẽ có một dòng câu trả lời không bao giờ kết thúc
user2813274

Câu trả lời:


14

Tôi sẽ diễn giải điều mà tôi nghĩ bạn có thể hỏi rộng hơn là "Làm cách nào tôi có thể kiểm soát GPIO từ vùng người dùng?"

Một cách rất hay để bắt đầu sử dụng GPIO là sử dụng /sysfilesytem. Bạn có thể làm tất cả từ dòng lệnh.

Ví dụ,

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

Thêm tài liệu có trong linux / Documentation / gpio.txt .


1
Điều này có hoạt động với mọi hệ điều hành không?
Alex L

Đây là đặc thù của linux.
blueshift

1
Có hướng dẫn nào sử dụng phương pháp này không? Tôi chỉ thấy các thư viện (chủ yếu là python).
Shane Hudson

2
Đây không nhất thiết là một thư viện theo yêu cầu của OP.
Andrew Larsson

1
Các câu trả lời khác cho câu hỏi này tốt hơn nhiều - câu trả lời này không trả lời câu hỏi về thư viện.
recantha

12

Có một cái mà tôi đã tìm thấy ở đây . Tôi chưa có cơ hội thử nó, vì Pi của tôi chưa đến. Nó, tuy nhiên, trông đảm bảo. Thậm chí còn có một chủ đề diễn đàn ở đây tuyên bố mức thưởng đầy hứa hẹn. Nếu bạn muốn có một ví dụ C cơ bản bằng cách sử dụng các thư viện tiêu chuẩn, thì có một ví dụ ở đây từ eLinux.


Kinh nghiệm của bạn về thư viện này là gì?
Peter Mortensen


1

quick2wire có thể được sử dụng bởi người dùng thông thường (không phải root):

API Python Quick2Wire

Một thư viện Python để kiểm soát phần cứng được gắn vào các chân tiêu đề của Raspberry Pi, mà không chạy như người dùng root .


Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi.
Đánh dấu gian hàng

@MarkBooth: "phần thiết yếu của câu trả lời" là " có thể được sử dụng bởi người dùng thông thường " không giống như các câu trả lời khác.
đào

1

Tôi sử dụng Wires PI và nó hoạt động thực sự tuyệt vời. Tôi sử dụng nó với ngôn ngữ C và cho đến nay không có vấn đề gì. Nó rất dễ hiểu và đơn giản để xử lý.


0

Pi4J cho phép bạn điều khiển các chân GPIO bằng Java. Tôi không chắc nó hoạt động như thế nào nhưng có một lời giải thích tại http://pi4j.com/


0

Việc kiểm soát các cổng GPIO bằng bất kỳ ngôn ngữ nào được hiển thị trên http://elinux.org thực sự rất đơn giản , vì vậy tôi tin rằng bạn thực sự không cần một khuôn khổ cho điều khiển trực tiếp.

Bạn cần biết những tính năng bổ sung nào bạn mong đợi của một khung, như

  • Điều khiển từ xa thông qua trình duyệt
  • Một giao diện người dùng đẹp hoặc có thể là một chương trình độc lập
  • Điều khiển thời gian tự động ( công việc định kỳ)

Cuối cùng tôi đã viết một khung cho chính mình: Kiểm soát các cổng GPIO qua HTTP và với các công việc định kỳ hoàn toàn phù hợp với nhu cầu của tôi. Tôi muốn có một cái gì đó cho tự động hóa nhà. Vì vậy, tôi cần các công việc định kỳ và giao diện web JSON để chạy ứng dụng gốc trên iPhone của mình. Vì vậy, tôi đã không viết một giao diện người dùng trình duyệt. Tôi tin rằng nó cũng sẽ tốt cho một hệ thống báo động.

Tôi chưa tìm thấy một danh sách (đầy đủ) các khung. Có một số đề cập trên diễn đàn của raspberrypi.org.


0

Johny-Five khá dễ sử dụng cho những người quen thuộc với Node.js hoặc JavaScript. Xem 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();
});

Đặc biệt hữu ích cho các dự án Pi kiểm soát GPIO thông qua máy chủ Web

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.