Üdv!
Adott egy RPi2B+ (Raspbian minimal) amin fel van telepítve a wiringpi csomag.
Egy teszt C++ appot készítettem még korábban és induláskor kiírja, hogy:
wiringPiSetup: Must be root. (Did you forget sudo?)
Ezt a wiringpi library írja ki.
Pedig sudo-val indítom az app-ot (sudo ./myapp). Mi lehet a gond?
- 1475 megtekintés
Hozzászólások
Ha előtte "sudo su"-val átváltasz és root@gepnev: -nál indítod a progit?
- A hozzászóláshoz be kell jelentkezni
(Bocs az egymás utáni dupla hozzászólásért, de azóta jobban utánanéztem)
Jessie OS alatt máshol található a GPIO portok fájlrendszerbe mappelése: /sys/devices/virtual/gpio/gpio${pin} helyett /sys/class/gpio/gpio${pin}. A LIB, amit használsz, még a régi helyen keresi, nem találja és vélelmezi, hogy nem vagy ROOT.
Egyébként root-ként át tudod állítani a GPIO-k tulajdonosát (például indításkor init.d-ben) a "chown -R user:pi /sys/class/gpio/gpio${pin}"-rel. Így nem kell neki root, akár egy php script is tud bele írni.
Részletesen itt:
https://dissectionbydavid.wordpress.com/2013/10/21/raspberry-pi-using-g…
- A hozzászóláshoz be kell jelentkezni
Egy wiringPi forrást néztem, ott már 2012 jul. 9. óta:
"added support /sys/class/gpio/gpio"
Én is úgy tudtam, hogy pl. /sys/class/gpio/gpio18 útvonalon keresi a gpio18-at. Korábban, mikor teszteltem a GPIO-ot, akkor is ugyanitt figyeltem a gpio étékét.
A linkelt doksit én is olvastam, de köszönöm!
A /sys/class/gpio/gpio18 csak symlink a /sys/devices/platform/soc/3f200000.gpio/gpio/gpio18 könyvtárra.
Ez utóbbit hiába állítom át, a hibaüzenet ugyanaz:
# pwd
/sys/devices/platform/soc/3f200000.gpio/gpio
root@raspberrypi:/sys/devices/platform/soc/3f200000.gpio/gpio# ls -l
total 0
drwxrwx--- 2 pi gpio 0 May 9 12:21 gpio18
drwxrwx--- 2 pi gpio 0 May 9 12:21 gpio21
drwxrwx--- 2 pi gpio 0 May 9 12:21 gpio22
drwxrwx--- 2 pi gpio 0 May 9 12:21 gpio23
drwxrwx--- 2 pi gpio 0 May 9 12:21 gpio27
- A hozzászóláshoz be kell jelentkezni
A friss Raspbian-nal fordítottam újból az app-ot és most szépen működik.
- A hozzászóláshoz be kell jelentkezni