Những thư viện nào có sẵn để giao tiếp với GPIO?
Những thư viện nào có sẵn để giao tiếp với GPIO?
Câu trả lời:
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 /sys
filesytem. 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 .
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.
RPi.GPIO là gói Python để điều khiển GPIO.
Video hướng dẫn này cho thấy việc sử dụng cơ bản của gói.
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 .
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ý.
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/
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ư
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.
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