Sari la conținut
ELFORUM - Forumul electronistilor

biblioteca GPIO orange pi


gabitzu2006

Postări Recomandate

Salutare! Am si eu urmatoarea problema in rezolvarea careia va cer ajutorul:

Am un orange pi pe care ruleaza un debian. Folosesc un ventilator pentru racire care merge non-stop si vreau sa-i fac un circuit de control care sa-l porneasca doar atunci cand temperatura data de senzorul intern al placii depaseste o anumita valoare. Am gasit un scrip de python si l-am incercat acum cateva luni. Dupa cateva incercari nereusite am ajuns la concluzia ca biblioteca folosita in script nu era si pentru orange pi 3 lts. Zilele trecute am descoperit ca a fost updatata biblioteca, am facut ce trebuie ca sa o instalez, insa nu stiu sa adaptez codul ca sa foloseasca biblioteca corecta. cand rulez scriptul imi spune asa:

 

orangepi@orangepi3-lts:~/Desktop$ python fan_ctrl.py
Traceback (most recent call last):
  File "/home/orangepi/Desktop/fan_ctrl.py", line 5, in <module>
    import wiringPi as GPIO
ModuleNotFoundError: No module named 'wiringPi'

 

 

scriptul este cel atasat. prioectul este cel de aici:

https://levelup.gitconnected.com/setting-up-a-cooler-for-your-orange-pi-raspberry-pi-using-python-39f6276fc920

 

 

problema este cu acea linie  import ....as gpio. Biblioteca din scriptul original nu a functionat....asa ca m-am gandit sa instalez biblioteca gpio de aici si s-o folosesc pe aceasta:

https://github.com/orangepi-xunlong/wiringOPfan_ctrl.py

Link spre comentariu
  • Răspunsuri 5
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • gabitzu2006

    6

Top autori în acest subiect

Multumesc! Dar ce as putea face? am tot eliminat din erori cat m-am priceput (de exemplu, chestia cu ghilimelele neacceptate de python si altele). Mai departe nu mai stiu ce sa fac.

Link spre comentariu

da, am incercat. dar biblioteca aceea nu este si pentru orange pi 3. De aceea am incercat un workarround si am apelat la alta biblioteca, fara sa-mi dau seama ca e pt C, nu pt python.

Link spre comentariu

cand incerc sa instalez python-dev imi da eroarea:

 

Package python-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  python2-dev:armhf python2:armhf python2-dev python2 python-dev-is-python3

E: Package 'python-dev' has no installation candidate

 

 

 

incercasem si asta si am obtinut si atunci eroarea asta:

 

 

source/boards.c:23:10: fatal error: Python.h: No such file or directory
   23 | #include "Python.h"
      |          ^~~~~~~~~~
compilation terminated.
error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1

 

Link spre comentariu

Dupa ce am instalat python3-dev si am reluat procesul de instalare pt OPI.GPIO obtin urmatoarea eroare:

 

collect2: error: ld returned 1 exit status
error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1

 

in timpul instalarii am primit cateva warninguri. E posibil sa fie de vina ceva ” ramasite” de cand am incercat sa instalez wiringPI?

 

 

 

 

am reusit sa instalez libraria mentionata de colegul folosind adresa asta pt clone:  https://github.com/NadavK/OPI.GPIO

 

inainte de a rula fisierul tastati urmatoarele comenzi:

sudo apt-get update
sudo apt-get install python-dev git  
git clone https://github.com/NadavK/OPI.GPIO
cd OPI.GPIO
sudo python3 setup.py install

 

 

in loc de python-dev merge si python3-dev

 

apoi rulati fisierul atasat cu comanda sudo: python fan_ctrl.py

 

 

multumesc pentru ajutor! Succes celor cu orange pi!

fan_ctrl.py

Editat de gabitzu2006
actualizare
Link spre comentariu

Din nu stiu ce motiv se pare ca pythonul nu are acces la pini, chiar daca rulez scriptul cu drepturi de root. Deci scriptul postat mai sus nu functioneaza, cel putin nu la mine. Asa ca am mai sapat si am reusit sa fc unul sa functioneze, dar e in C (sau bash, sincer, nu stiu care e diferenta). Am atasat fisierul. Atentie cand manipulati continutul, ca sa nu pățiți ca mine și sa va pierdeti ore bune incercand sa-i dati de cap. Folositi notepad++, salvati ca unix script si din meniul Edit alegeti Convertire sfarsit de linie-Unix. Scriptul foloseste biblioteca wiringOP (cred ca e cea implicita) iar eu am folosit pinul 3 (adica 8 fizic) pentru a conecta baza tranzistorului de comanda. Ca tranzistor am folosit un tranzistor NPN din recuperari, un BC171. emitorul tranzistorului se conecteaza la GND, baza la pinul 8 fizic, iar ventilatorul de 5V intre colectorul tranzitorului si +5V. Am ales sa schimb tranzistorul din PNP in NPN pentru ca cel PNP este activat de 0 logic, iar cand opriti Orange Pi-ul ventilatorul va ramane pornit pana ii scoateti alimentarea. Asa, folosind un NPN, ventilatorul va functiona numai daca la pinul 8 avem 1 logic si se opreste cand dam comanda poweroff.

Cine mai doreste, poate automatiza pornirea scriptului folosind cron. Eu inca nu am implementat si aceasta functie, asa ca deocamdata pornesc scriptul manual, la fiecare pornire.

Succes!

 

 

fan_ctrl.sh

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări