Perpustakaan untuk berinteraksi dengan GPIO


30

Perpustakaan apa yang tersedia untuk berinteraksi dengan GPIO?


bukan daftar lengkap, tapi di sini adalah beberapa - meskipun saya pikir pertanyaan ini akan ditutup, sebagai daftar-jenis pertanyaan cenderung tidak bekerja dengan baik pada situs stack, karena akan ada aliran tidak pernah berakhir jawaban
user2813274

Jawaban:


14

Saya akan menafsirkan apa yang saya pikir Anda mungkin bertanya secara lebih luas sebagai "Bagaimana saya bisa mengendalikan GPIO dari userland?"

Cara yang sangat bagus untuk memulai menggunakan GPIO adalah menggunakan /sysfilesytem. Anda dapat melakukan semuanya dari baris perintah.

Sebagai contoh,

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

Dokumentasi lainnya ada di linux / Documentation / gpio.txt .


1
Apakah ini bekerja dengan setiap OS?
Alex L

Ini khusus linux.
blueshift

1
Apakah ada tutorial yang menggunakan metode ini? Saya hanya melihat perpustakaan (terutama yang python).
Shane Hudson

2
Ini belum tentu perpustakaan sesuai permintaan OP.
Andrew Larsson

1
Jawaban lain untuk pertanyaan ini jauh lebih baik - jawaban ini tidak menjawab pertanyaan tentang perpustakaan.
recantha

12

Ada satu yang saya temukan di sini . Saya belum memiliki kesempatan untuk mengujinya, karena Pi saya belum tiba. Namun, hal itu terlihat meyakinkan. Bahkan ada utas forum di sini yang mengaku hasil yang menjanjikan. Jika Anda ingin contoh C down-to-the-basics menggunakan pustaka standar, ada satu di sini dari eLinux.


Apa pengalaman Anda di perpustakaan ini?
Peter Mortensen


1

quick2wire dapat digunakan oleh pengguna biasa (bukan root):

API Python Quick2Wire

Pustaka Python untuk mengendalikan perangkat keras yang terpasang pada pin tajuk Raspberry Pi, tanpa berjalan sebagai pengguna root .


Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah.
Mark Booth

@MarkBooth: "bagian penting dari jawaban" adalah " dapat digunakan oleh pengguna biasa " tidak seperti jawaban lainnya.
dugres

1

Saya menggunakan Wiring PI dan bekerja sangat bagus. Saya menggunakannya dengan bahasa C dan sejauh ini tidak ada masalah. Mudah dimengerti dan mudah ditangani.


0

Pi4J memungkinkan Anda untuk mengontrol pin GPIO menggunakan Java. Saya tidak yakin cara kerjanya tetapi ada penjelasan di http://pi4j.com/


0

Sangat sederhana untuk mengontrol port GPIO dalam bahasa apa pun seperti yang ditunjukkan pada http://elinux.org , jadi saya percaya bahwa Anda sebenarnya tidak memerlukan kerangka kerja untuk kontrol langsung.

Anda perlu tahu fitur tambahan apa yang Anda harapkan dari suatu framework

  • Remote control melalui browser
  • UI browser yang cantik atau mungkin program mandiri
  • Kontrol berbasis waktu otomatis ( pekerjaan cron )

Saya akhirnya menulis kerangka kerja untuk diri saya sendiri: Mengontrol port GPIO melalui HTTP dan dengan pekerjaan cron yang sangat sesuai dengan kebutuhan saya. Saya ingin memiliki sesuatu untuk otomatisasi rumah. Jadi saya membutuhkan pekerjaan cron dan antarmuka web JSON untuk menjalankan aplikasi asli di iPhone saya. Karena itu saya tidak menulis UI browser. Saya percaya ini juga baik untuk sistem alarm.

Saya belum menemukan daftar kerangka kerja (lengkap). Ada beberapa yang disebutkan di forum raspberrypi.org.


0

Johny-Five cukup mudah digunakan untuk mereka yang terbiasa dengan Node.js atau JavaScript. Lihat 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();
});

Berguna khusus untuk proyek Pi yang mengendalikan GPIO melalui server Web

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.