質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

2149閲覧

webiopiのconfig設定を変更したらサーバーにアクセスできない

Tatsuyal

総合スコア6

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/09/11 07:26

WebIOPi-0.7.1の中にmyProjectというディレクトリを作り、sudo nano /etc/webiopi/configを打ち込んで[SCRIPTS]の一番下にmyscript = /home/pi/WebIOPi-0.7.1/myProject/script.py
[HTML]の#doc-root = /home/pi/webiopi/examples/scripts/macrosの下にdoc-root = /home/pi/WebIOPi-0.7.1/myProject/を追記しました。上書き保存をし、webiopiを起動してラズパイ内のブラウザにlocalhost:8000と打ち込んでみたところ「このサイトにアクセスできません」と出てきました。

デフォルトのHTMLとscriptを指定するためにはまだほかに設定するべきことがあるのでしょうか?myProjectに入っているコードは以下のとおりです。 回答よろしくお願いします。

indexhtml

1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <meta http-equiv="Content-Style-Type" content="text/css"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> 7 <title>課題研究</title> 8 <script type="text/javascript" src="/webiopi.js"></script> 9 <script type="text/javascript"> 10 function getParam(name, url) { 11 if (!url) url = window.location.href; 12 name = name.replace(/[[]]/g, "\$&"); 13 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 14 results = regex.exec(url); 15 if (!results) return null; 16 if (!results[2]) return ''; 17 return decodeURIComponent(results[2].replace(/+/g, " ")); 18 } 19 20 window.addEventListener("deviceorientation", (dat) => { 21 var xAngle = parseInt(dat.alpha); // x軸(0°~360°) => 0°: 北, 90°: 西, 180°: 南, 270°: 東 22 var yAngle = parseInt(dat.beta); // y軸(-180°~180°)=> 0°: 水平, 90°: 垂直, °-180: 逆水平, -90°: 逆垂直 23 getAngle(xAngle, yAngle); 24 }); 25 26 webiopi().ready( function(){ 27 drive('stop'); 28 }); 29 30 function getDriveMode(mode){ 31 webiopi().callMacro("changeDriveMode", mode); 32 } 33 34 function getAngle(xAngle, yAngle) { 35 webiopi().callMacro("moveServo", [xAngle, yAngle]); 36 } 37 38 function resetServo() { 39 webiopi().callMacro("resetServo"); 40 } 41 </script> 42 </head> 43 <body> 44 <script type="text/javascript"> 45 var params = [getParam('event'), getParam('direction')]; 46 if(params[0] == 'stick') 47 getDriveMode(params[1]); 48 else if(params[0] == 'reset') 49 resetServo(); 50 </script> 51 </body> 52</html>

scriptpy

1import webiopi 2import time, os, sys, re, datetime 3 4webiopi.setDebug() 5GPIO = webiopi.GPIO 6PIN = {'R': {'1': 6, '2': 5, 'P': 12}, 'L': {'1': 13, '2': 19, 'P': 18} 'servo': {'x': 38, 'y': 40}} 7for key, value in PIN.items() : 8 for key2, value2 in value.items() : 9 GPIO.setFunction(value2, GPIO.PWM) 10 if key2 == 'P' : 11 GPIO.pwmWrite(value2, 1.0) 12past, now = {'x': 0, 'y': 0}, {'x': 0, 'y': 0} 13 14def ServoAngle(pin, angle): 15 up = int(1500 + (angle * 350) / 45) 16 down = 20000 - up 17 GPIO.pulseMicro(pin, up, down) 18 19def MotorDrive(in1, in2, state) : 20 GPIO.pwmWrite(in1, state[0]*1.0) 21 GPIO.pwmWrite(in2, state[1]*1.0) 22 23@webiopi.macro 24def changeDriveMode(mode) : 25 webiopi.debug("ChangeDriveMode : %s" % (mode)) 26 if mode == 'Stop' : 27 MotorDrive(PIN['L']['1'], PIN['L']['2'], [0, 0]) 28 MotorDrive(PIN['R']['1'], PIN['R']['2'], [0, 0]) 29 elif mode == 'Forward' : 30 MotorDrive(PIN['L']['1'], PIN['L']['2'], [1, 0]) 31 MotorDrive(PIN['R']['1'], PIN['R']['2'], [1, 0]) 32 elif mode == 'Backward' : 33 MotorDrive(PIN['L']['1'], PIN['L']['2'], [0, 1]) 34 MotorDrive(PIN['R']['1'], PIN['R']['2'], [0, 1]) 35 elif mode == 'CW' : 36 MotorDrive(PIN['L']['1'], PIN['L']['2'], [1, 0]) 37 MotorDrive(PIN['R']['1'], PIN['R']['2'], [0, 1]) 38 elif mode == 'CWW' : 39 MotorDrive(PIN['L']['1'], PIN['L']['2'], [0, 1]) 40 MotorDrive(PIN['R']['1'], PIN['R']['2'], [1, 0]) 41 42@webiopi.macro 43def moveServo(xAngle, yAngle): 44 webiopi.debug("moveServoAngle : %s, %s" % (xAngle, yAngle)) 45 now['x'] = (xAngle-past['x'])%360 46 now['y'] = (xAngle-past['y'])%180 47 past = {'x': xAngle, 'y': yAngle} 48 ServoAngle(PIN['servo']['x'], now['x']) 49 ServoAngle(PIN['servo']['y'], now['y']) 50 51@webiopi.macro 52def resetServo() : 53 webiopi.debug("Servo Reset...")

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

確定ではありませんが。
①明示的にデフォルトのHTMLファイルを指定してみると出るかもしれません。

sudo nano /etc/webiopi/config

config

1#Use welcome-file to change the default "Welcome" file 2#welcome-file = index.html

welcome-file部分の行をコメントアウトして

config

1#Use welcome-file to change the default "Welcome" file 2welcome-file = index.html

これで保存し、webiopiを起動してlocalhost:8000を入力。

②もしくはlocalhostではなくラズパイのIPアドレスを入力
192.168.xxx.xxx:8000

うまく行くことを願っています。

投稿2018/09/12 16:44

編集2018/09/12 16:48
kkeishiro

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tatsuyal

2018/09/13 00:03

回答ありがとうございます! いまconfigを見てみましたところ、welcomefile はすでにコメントアウトしておりました… 記述は下のようになってます。よかったらどこが間違えてるか見てください…お願いします。 [HTTP] # HTTP Server configuration enabled = true port = 8000 # File containing sha256(base64("user:password")) # Use webiopi-passwd command to generate it passwd-file = /etc/webiopi/passwd # Change login prompt message prompt = "WebIOPi" # Use doc-root to change default HTML and resource files location doc-root = /home/pi/WebIOPi-0.7.1/myProject # Use welcome-file to change the default "Welcome" file welcome-file = index.html
kkeishiro

2018/09/13 01:59

configファイルは問題なさそうです。 確認なのですが、他にいじったファイルはありますか? raspberry pi 2以降のModel Bにはwebiopiに少し修正が必要みたいです。 http://www.hiramine.com/physicalcomputing/raspberrypi3/webiopi_install.html このページにあるパッチ処理をするともしかしたらうまく行くかもしれないです。
Tatsuyal

2018/09/13 02:14

僕はそのサイトを参考にしてwebiopiをいれたのでパッチ処理はしているはずです。 スクリプトは以下のようになっています [SCRIPTS] # Load custom scripts syntax : # name = sourcefile # each sourcefile may have setup, loop and destroy functions and macros myproject = /home/pi/WebIOPi-0.7.1/myProject/script.py 他にいじったファイルはないとは思いますけど…可能性としてはどのようなものがあるでしょう…?
kkeishiro

2018/09/13 04:07

localhostではなくラズパイIPでやった場合はどうでしたか? 他に考えられることとしては webiopiがちゃんと起動していないとなですかね。 今、外出中なので帰宅して自分のラズパイの設定を確認したいと思います。 今のところお力になれなくて申し訳ないです。
Tatsuyal

2018/09/13 12:38

同じでした… お忙しいところ本当にありがとうございます!助かります…
kkeishiro

2018/09/15 16:55

configは私のwebiopiが起動するラズパイと違いはありませんでした。 一応まず正しく起動しているか確認するために sudo systemctl start webiopi sudo systemctl status webiopi ● webiopi.service - LSB: WebIOPi initscript Loaded: loaded (/etc/init.d/webiopi) Active: active (running) since Sun 2018-09-16 01:42:16 JST; 1s ago Process: 1628 ExecStart=/etc/init.d/webiopi start (code=exited, status=0/SUCCESS) CGroup: /system.slice/webiopi.service └─1635 /usr/bin/python3 -m webiopi -l /var/log/webiopi -c /etc/webiopi/config Active:active(running) になっていなければインストール段階で失敗している可能性があります。 もし、普通に起動していたなら次を試してみてください。 WebIOPi-0.7.1/python/webiopi/server/__init__.pyの32行目 s.connect(('8.8.8.8', 53)) この行を s.connect(('192.168.11.1', 53)) のように自分のゲートウェイアドレスに変えて保存した後,次の順でコマンドを入力します。 sudo ./setup.sh sudo systemctl daemon-reload sudo systemctl start webiopi ブラウザで ラズパイIP:8000 これでもしかしたらうまく行くかもしれません。
Tatsuyal

2018/09/18 07:34

うまくいきました!!ありがとうございます!!
kkeishiro

2018/09/19 02:38

よかったです! ちなみにどの方法で解決しましたか? 自分も何が原因なのか完全には分かっていないので、教えていただけると助かります。
Tatsuyal

2018/09/19 11:35

GPIOが先に指定されていたのでそれをコメントアウトすることでうまくいきました!
kkeishiro

2018/09/19 12:40

そうでしたか 教えていただきありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問