firmproducts
2022年7月26日 20時00分
LighttpdサーバをArmadillo-IOTA6へインストールし、
C言語によるCGIを用いてネットワーク経由で
Armadillo基板のLED点灯制御を行いたいです。
下記サイトのサンプルを参考にやってみたのですが、
上手くLED点灯出来ませんでした。
https://armadillo.atmark-techno.com/index.php/blog/615/1238
添付しました”Lighttpd.conf”でCGI用に編集したつもりですが、
間違っている部分が有れば、ご教示頂けたら有難いです。
又CGIファイルの配置フォルダの指定はどこで行うのでしょうか?
教示宜しくお願い致します。
ファイル | ファイルの説明 |
---|---|
lighttpd.conf | lighttpd設定ファイル |
redled.cpp | C言語LED点灯プログラム |
コメント
at_mitsuhiro.yoshida
吉田です。
arm-linux-gnueabi-gcc redled.c -o redled.cgi
を
arm-linux-gnueabihf-gcc redled.c -o redled.cgi
として
Armadillo の /var/www/html/ に redled.cgi を配置するといかがでしょうか。
> 又CGIファイルの配置フォルダの指定はどこで行うのでしょうか?
に関しては試しておりませんが、以下の記事が参考になるかと思います。
https://qiita.com/developer-kikikaikai/items/f01599109ba1370a40d7
https://www.cyberciti.biz/tips/configure-lighttpd-alias-mod_alias.html
firmproducts
koga
アットマークテクノの古賀です。
firmproductsさん:
>ご回答有難うございます。
>最初に、下記のようにLEDポートへroot以外での書き込み許可していたのですが、
>Armadilloをリブートすると元に戻ってました。
>chmod 666 /sys/class/leds/red/brightness
>書き込み許可を再度与えたら、無事点灯するようになりました。
>毎回起動時にroot権限(sudo)で書き込み許可をするのは仕方無いのでしょうか?
>他に良い方法が有りましたら教えて頂けると有難いです。
>宜しくお願い致します。
CGI の実行ファイル(redled.cgi)のオーナーを sudo chown で root にして、さらに sudo chmod u+s で setuid パーミッションを設定するというのは、いかがでしょうか?
https://blog.fenrir-inc.com/jp/2012/02/file_permission.html
saitoh
firmproducts
有用な情報有難うございます。
ご教示頂いたアイデアで以下試しました。
ルール作成 >> /etc/udev/rules.d/85-gpio.rules
SUBSYSTEM=="gpio*", PROGRAM="/root/setup_gpio.sh"
スクリプト作成 >> /root/setup_gpio.sh
echo 105 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio105/direction
echo 0 > /sys/class/gpio/gpio105/value
chown root /sys/class/gpio/gpio105/direction /sys/class/gpio/gpio105/value
chmod u+s /sys/class/gpio/gpio105/direction /sys/class/gpio/gpio105/value
この方法で、OS起動時にGPIO初期化を行うことが出来ました。
ところが通常ユーザ(atmark)でログインして
echo 1 > /sys/class/gpio/gpio105/value
を実行すると、Permission deniedが出力されます。
通常ユーザ(atmark)でも(次のwww-dataユーザ)操作できる設定はどうすれば良いでしょうか?
ご教示宜しくお願い致します。
firmproducts
firmproducts
2022年7月26日 20時18分
> LighttpdサーバをArmadillo-IOTA6へインストールし、
> C言語によるCGIを用いてネットワーク経由で
> Armadillo基板のLED点灯制御を行いたいです。
> 下記サイトのサンプルを参考にやってみたのですが、
> 上手くLED点灯出来ませんでした。
> https://armadillo.atmark-techno.com/index.php/blog/615/1238
> 添付しました”Lighttpd.conf”でCGI用に編集したつもりですが、
> 間違っている部分が有れば、ご教示頂けたら有難いです。
> 又CGIファイルの配置フォルダの指定はどこで行うのでしょうか?
> 教示宜しくお願い致します。