ブラウザからのサーボモータ制御の現状


■ブラウザからのサーボモータ制御の現状

相変わらず苦戦している。
*2017/12/10 追記。なんとか無事解決。本文末尾に記載。

どうしてもうまくいかない。

二号機の設定では、とりあえず WebIOPi のインストールまでは成功。

サーボモータを動かす所で失敗している。

http://localhost:8000

にアクセスした際、変更したはずのページが真っ白になってしまうのである。

ということで、一旦 OS のインストールからやり直してみた。

二号機の SD カードに、Raspbian stretch をインストール。

各種 update と日本語化、という最低限の設定だけを実施し、

WebIOPi のインストールを実施。

すると今度は default のページすら空白ページとなってしまった。

むー。

一体何が起こっているのだろう?

とりあえず一つ一つ潰していこうと思うのだが…。

まず一つ分かったこと。

最初に三号機で出ていた、

OSError: [Errno 98] Address already in use

のエラー。

これは、多分普通に webiopi をサービスとして起動しているにも関わらず、

root@raspi-03# webiopi -d

として二重起動してしまっていたため。

超単純なミスだった。

root@raspi-03# /etc/init.d/webiopi stop

としてサービスを止めた上で、再度

root@raspi-03# webiopi -d

で起動すると、該当のエラーはでなくなった。

が、Login 画面までは出るものの、やっぱりページは真っ白。

Debug message をみると、

NameError: name 'GPIO' is not defined

とのこと。

Google 先生に聞いてみると、

https://www.raspberrypi.org/forums/viewtopic.php?t=180997

とかには、

import RPi.GPIO as GPIO

というのをプログラムの先頭に加えろ、とある。

が、これ全部にやるの?ということもあり、現在まだ試していない。

他のページ、

https://github.com/thortex/rpi3-webiopi/issues/12

では、cpuinfo をみて,

./WebIOPi-0.7.1/python/native/cpuinfo.c

を変更しろ、と書いてあるので、

root@raspi-03# cat /proc/cpuinfo

Hardware	: BCM2835
      Revision	: a02082

を確認し、これを反映してみたが、やっぱりダメ。

どうも、

・python2 と python3 では互換性がない
・python2(?)で動く RPi.GPIO を使う必要がある?
・なので RPi.GPIO を GPIO としてインポートする必要がある

ということっぽいのだが、正直まだちゃんと分かっていない。

つーか python の ver 違いで動かないとか止めてほしいんだが…。

年内には余裕で出来ていると思っていたが、まさかここまで苦戦するとは。

とりあえず一つ一つ調査・理解して潰していくしかないか。

くっそー。

[2017/12/10 追記]
かなり時間はかかったが、どうにかこうにか、

・ブラウザから操作できるライブ(監視)カメラ化

に成功。

ブラウザからの GPIO 及びサーボモータの制御は WebIOPi で、

専用カメラモジュールの映像表示は RPi_Web_Cam_Interface で、

各々実現。

それぞれ、以下のページにまとめたので、よければ見ていただければと思う。

・『WebIOPi で遠隔操作(インストール編)!
・『WebIOPi で遠隔操作(サーボモータ制御編)!
・『ブラウザから操作可能なライブ(監視)カメラを作る!




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ブログ, ラズパイで電子工作 タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータがどう処理されているか知りたい方はこちらをお読みください