Publicitate

Raspberry Pi este computerul perfect pentru învățare. Sistemul de operare Raspbian bazat pe Linux are Python încorporat, ceea ce îl face un prim sistem excelent pentru codificatorii începători. Pinii săi de intrare / ieșire cu scop general (GPIO) fac ușor pentru producătorii de înflorire să experimenteze proiecte electronice DIY.

Este deosebit de ușor atunci când utilizați biblioteci de coduri care controlează acei pini și RPi popular. Biblioteca GPIO Python este un exemplu excelent de astfel de bibliotecă. Dar este cea mai bună cale pentru începători? Alătură-te cu noi în timp ce investigăm.

Ce este GPIO Zero?

Biblioteca GPIO Zero este o bibliotecă Python pentru lucrul cu pinii GPIO. A fost scris de Raspberry Pi manager comun Ben Ben Nuttall. Destinată a fi intuitivă și „prietenoasă”, simplifică codul Python pentru cele mai obișnuite cazuri de utilizare a zmeurii Pi.

Combinând practici simple de denumire și funcții descriptive, GPIO Zero este mai accesibil pentru înțelegători începători. Chiar și utilizatorii experimentați ai RPi. S-ar putea ca biblioteca GPIO să o prefere - și să înțelegem de ce, aruncăm o privire asupra modului în care RPi. GPIO se compară cu GPIO Zero.

instagram viewer

Ce este greșit cu RPi. GPIO?

Nimic. Nimic. RPI. GPIO a fost lansat la începutul anului 2012 de dezvoltatorul Ben Croston. Este o bibliotecă robustă care permite utilizatorilor să controleze pin-urile GPIO din cod. Prezintă în aproape fiecare proiect începător Cele mai bune 11 proiecte de zmeură Pi pentru începătoriAceste proiecte Raspberry Pi pentru începători sunt minunate pentru a începe cu capabilitățile oricărui model Raspberry Pi. Citeste mai mult suntem acoperiți

În ciuda utilizării sale ample, RPi. GPIO nu a fost niciodată conceput pentru utilizatorii finali. Este un testament al RPi. Designul bun al GPIO pe care îl folosesc totuși atât de mulți începători.

Ce este atât de bine despre GPIO Zero?

Când ești învățarea codului Python, înveți că ar trebui să fie ușor de citit și cât mai scurt posibil. GPIO Zero își propune să acopere ambele puncte. Construit pe partea de sus a RPi. GPIO ca un pachet de limbaj front-end, simplifică configurarea și utilizarea GPIO.

Luați în considerare următorul exemplu, configurarea și pornirea unui LED:

Cod de setat și LED la ieșire folosind RPi. Biblioteca GPIO

Codul de mai sus ar trebui să fie destul de familiar cu oricine are au folosit Pi pentru a controla LED-urile.

RPi. Biblioteca GPIO este importată și un pin pentru LED este declarat. Tipul de dispunere a pinului este configurat (modul BCM și BOARD sunt explicat în ghidul nostru GPIO Tot ce trebuie să știți despre Pinioane de raspberry Pi GPIORaspberry Pi este un mic computer fantastic, dar ce fac exact pinii GPIO (General Purpose Input / Output)? Pe scurt, acestea deschid o întreagă lume de bricolaj electronic și invenție. Citeste mai mult ), iar pinul este configurat ca ieșire. Apoi, știftul este pornit.

Această abordare are sens, dar modul de a face GPIO Zero este mult mai simplu:

Configurarea unui LED cu GPIO Zero

GPIO Zero are un modul pentru LED-uri, importat de la început. Aceasta înseamnă că puteți declara numărul pinului și puteți apela A condus la() metodă.

De ce este mai bună abordarea GPIO Zero?

Există câteva motive pentru care această metodă de lucru este o îmbunătățire a RPi. GPIO.

În primul rând, îndeplinește cerința „ușor de citit, cât mai scurt posibil”. În timp ce RPi. Instrucțiunile de configurare GPIO sunt suficient de ușor de înțeles, nu sunt necesare. Un LED va fi întotdeauna o ieșire, așa că GPIO Zero stabilește ace în spatele scenei. Rezultatul este doar trei linii de cod de configurat, apoi aprindeți un LED.

Este posibil să observați că nu există nicio configurare a modului de bord în exemplul GPIO Zero. Biblioteca folosește doar numerotarea Broadcom (BCM) pentru ace. Designerul bibliotecii Ben Nuttall explică de ce într-un 2015 Interviu RasPi.tv:

„Numerotarea bordului poate părea mai simplă, dar aș spune că îi determină pe utilizatorii noi să creadă că toți pini sunt de uz general - și nu sunt așa. Conectați un LED la pinul 11, de ce nu conectați ceva mai mult la pinii 1, 2, 3 și 4? Ei bine 1 este 3V3. 2 și 4 sunt 5V. Lipsa de conștientizare a scopului care este scopul pinilor poate fi periculoasă. "

În acest fel, are sens absolut utilizarea numerelor BCM. Având în vedere că GPIO Zero va fi standard în documentația Raspberry Pi, va merita învățat!

GPIO Zero este de fapt mai bun?

Deși pare mai direct la suprafață, noua bibliotecă are probleme? Ca în orice bibliotecă de codificare nouă, este o chestiune de opinie. Pe de o parte, eliminarea codului de configurare este excelentă pentru începători și codificatori experimentați deopotrivă. Codul de scriere este mai simplu și mai rapid.

Pe de altă parte, a ști exact ce se întâmplă este important pentru învățare. Luați exemplul de configurare a unui buton din Documentație GPIO Zero:

Cod de exemplu pentru butonul GPIO Zero

buton modulul simplifică configurarea butoanelor apăsate. Știe că butoanele sunt intrări, așa că folosește numărul de pin declarat pentru configurare. Verificarea apăsării unui buton este și mai ușoară, cu tasta .is_pressed pentru a detecta apăsările butoanelor.

Am folosit această funcționalitate exactă în Tutorial cu butonul Raspberry Pi 2 Moduri de a adăuga un buton la proiectul dvs. de zmeură PiCum conectați un buton la Raspberry Pi dvs.? Iată două moduri de a începe, demonstrat folosind Python și un LED. Citeste mai mult , care este un mod minunat de a vă familiariza cu diferențele din biblioteci.

Utilizatorii RPi. Biblioteca GPIO va observa că rezistențele interne de extragere / derulare ale Pi nu sunt configurate în cod. Acest lucru ridică o întrebare interesantă. Este esențial pentru începători să știe despre rezistențele de tragere / coborâre? Din nou, Ben Nuttall are un răspuns la această întrebare:

„S-ar putea să argumentezi că este bine să știi despre atrageri și derogări, și ai avea dreptate, dar de ce trebuie să învăț asta în prima zi? [...] Dacă doriți să învățați electronica mai în profunzime, există o mulțime de posibilități pentru asta, dar nu ar trebui să fie obligatoriu dacă primiți doar a început.“

În general, abordarea simplă a GPIO Zero este probabil un lucru bun pentru începători și veterani. În plus, RPi. GPIO nu merge nicăieri. Va fi întotdeauna acolo pentru a trece înapoi la nevoie.

Este Python singura opțiune?

Python este limba pentru care este cunoscut Pi, dar nu este singura opțiune. Dacă sunteți deja familiarizați cu programarea în limbajul C, atunci Cablarea Pi te-ai acoperit.

Alternativ, dacă deja programați în JavaScript, Node.js poate fi instalat cu ușurință pe Pi. Accesul GPIO este disponibil prin intermediul biblioteca rpi-gpio npm. Rubin pe șine poate fi instalat și pe Raspberry Pi, deși Pi ar putea să nu fie cea mai bună metodă de a învăța șinele!

Toate aceste alternative, împreună cu bibliotecile multilingve, precum excelentul pigpio poate face ca alegerea unei biblioteci să fie confuză. De aici GPIO Zero excelează: pentru începători se întreabă cum și de unde să înceapă.

Dacă vă aflați într-un moment în care aveți nevoie de ceva ce nu oferă, veți fi mai mult decât gata să vă scufundați în aceste alte biblioteci în ritmul propriu.

Noțiuni introductive cu GPIO Zero You Self

GPIO Zero este cea mai nouă bibliotecă pentru a crea un splash pentru Pi și cu un motiv întemeiat. Pentru majoritatea utilizatorilor, face codificarea pentru pinii GPIO mai simplu de citit și mai rapid de scris.

Având în vedere utilizarea Raspberry Pi în educație, orice lucru care face învățarea mai naturală este un lucru bun. În timp ce RPi. GPIO a fost perfect până acum, GPIO Zero ia o idee bună și o face și mai bună.

Un mod minunat de a începe cu GPIO Zero este să iei un proiect pentru începători precum Senzor de ușă muzicală Joacă-ți propriul ton de temă când intri în cameră cu zmeura PiAți dorit vreodată să ajungeți acasă la o întâmpinare personală? În acest proiect simplu Raspberry Pi, vom folosi un comutator stuf pentru a declanșa o melodie la deschiderea unei uși. Citeste mai mult și port-o la noua bibliotecă.

Ian Buckley este un jurnalist independent, muzician, interpret și producător video care locuiește la Berlin, Germania. Când nu scrie sau pe scenă, ticăiește cu electronice sau coduri DIY, în speranța de a deveni un om de știință nebun.