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

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

新規登録して質問してみよう
ただいま回答率
86.12%
Raspberry Pi

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

解決済

ラズパイ pythonをアプデしたら、前に実行できたプログラムが実行できなくなった

shuppi
shuppi

総合スコア47

Raspberry Pi

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

2回答

0リアクション

1クリップ

164閲覧

投稿2017/09/15 02:20

編集2017/09/15 02:22

Raspberry Pi 3 Model B Ver 1.2を使っています。
忘れてしまいましたが、python2.7.?からpython3.5.3にアップデートしました。
それから、下記のプログラムがをはいて、起動できなくなりました。
もしかしたら、アップデート前にすこしいじっていたのかもしれないです。

動きは、人感センサ四つを使い、動きを感知したら、カメラで撮影を行うようにしています。
東西南北は人感センサ二つで検知範囲が重なるところで判断しています。
あと、カメラのプレビューも、モニターに表示しています。

#!/usr/local/bin/python # -*- coding: utf-8 -*- import RPi.GPIO as GPIO import time #Cursesの文字化け対策 import curses import locale #カメラ import picamera import threading SLEEPTIME = 1 #撮影画像サイズ PIC_WIDTH = 800 PIC_HEIGHT = 600 #撮影画像保存場所 SAVEDIR = "/home/pi/kaihatsu/picture/" #人感センサ SENSOR1_PIN = 17 SENSOR2_PIN = 18 SENSOR3_PIN = 27 SENSOR4_PIN = 22 #LED LED1_PIN = 23 LED2_PIN = 24 LED3_PIN = 25 LED4_PIN = 8 GPIO.setmode(GPIO.BCM) #人感センサピンの設定 GPIO.setup(SENSOR1_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP) GPIO.setup(SENSOR2_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP) GPIO.setup(SENSOR3_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP) GPIO.setup(SENSOR4_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP) #LEDピンの設定 GPIO.setup(LED1_PIN, GPIO.OUT) GPIO.setup(LED2_PIN, GPIO.OUT) GPIO.setup(LED3_PIN, GPIO.OUT) GPIO.setup(LED4_PIN, GPIO.OUT) #Cursesの文字化け対策 locale.setlocale(locale.LC_ALL, "") cam = picamera.PiCamera() cam.resolution = (PIC_WIDTH, PIC_HEIGHT) #cam.hflip = True cam.vflip = True # カメラのプレビュー def test(): cam.start_preview() thread1 = threading.Thread(target = test) # main if __name__ == "__main__": while True: thread1.start() try: stdscr = curses.initscr() curses.noecho() stdscr.clear() stdscr.addstr(1, 0, '北東:%s:' % GPIO.input(SENSOR1_PIN)) stdscr.addstr(2, 0, '南東:%s:' % GPIO.input(SENSOR4_PIN)) stdscr.addstr(3, 0, '南西:%s:' % GPIO.input(SENSOR3_PIN)) stdscr.addstr(4, 0, '北西:%s:' % GPIO.input(SENSOR2_PIN)) stdscr.addstr(6, 2, '北 :') stdscr.addstr(7, 2, '東 :') stdscr.addstr(8, 2, '南 :') stdscr.addstr(9, 2, '西 :') #人感センサ1 (北東) if(GPIO.input(SENSOR1_PIN) == GPIO.HIGH): stdscr.addstr(1, 8, '動物を感知しました') stdscr.refresh() #人感センサ2 (北西) if(GPIO.input(SENSOR2_PIN) == GPIO.HIGH): stdscr.addstr(2, 8, '動物を感知しました') stdscr.refresh() #人感センサ3 (南西) if(GPIO.input(SENSOR3_PIN) == GPIO.HIGH): stdscr.addstr(3, 8, '動物を感知しました') stdscr.refresh() #人感センサ4 (南東) if(GPIO.input(SENSOR4_PIN) == GPIO.HIGH): stdscr.addstr(4, 8, '動物を感知しました') stdscr.refresh() #人感センサ1 & 2 (北) if(GPIO.input(SENSOR1_PIN) == GPIO.HIGH and GPIO.input(SENSOR2_PIN) == GPIO.HIGH): GPIO.output(LED4_PIN, GPIO.HIGH) stdscr.addstr(9, 8, '動物を感知しました') stdscr.refresh() elif(GPIO.input(SENSOR1_PIN) == GPIO.LOW and GPIO.input(SENSOR2_PIN) == GPIO.LOW): GPIO.output(LED4_PIN, GPIO.LOW) #人感センサ1 & 4 (東) if(GPIO.input(SENSOR1_PIN) == GPIO.HIGH and GPIO.input(SENSOR4_PIN) == GPIO.HIGH): GPIO.output(LED1_PIN, GPIO.HIGH) stdscr.addstr(6, 8, '動物を感知しました') stdscr.refresh() filename = time.strftime("%Y%m%d%H%M%S") + ".jpg" save_file = SAVEDIR + filename cam.capture(save_file) elif(GPIO.input(SENSOR1_PIN) == GPIO.LOW and GPIO.input(SENSOR4_PIN) == GPIO.LOW): GPIO.output(LED1_PIN, GPIO.LOW) #人感センサ3 & 4 (南) if(GPIO.input(SENSOR3_PIN) == GPIO.HIGH and GPIO.input(SENSOR4_PIN) == GPIO.HIGH): GPIO.output(LED2_PIN, GPIO.HIGH) stdscr.addstr(7, 8, '動物を感知しました') stdscr.refresh() elif(GPIO.input(SENSOR3_PIN) == GPIO.LOW and GPIO.input(SENSOR4_PIN) == GPIO.LOW): GPIO.output(LED2_PIN, GPIO.LOW) #人感センサ2 & 3 (西) if(GPIO.input(SENSOR2_PIN) == GPIO.HIGH and GPIO.input(SENSOR3_PIN) == GPIO.HIGH): GPIO.output(LED3_PIN, GPIO.HIGH) stdscr.addstr(8, 8, '動物を感知しました') stdscr.refresh() elif(GPIO.input(SENSOR2_PIN) == GPIO.LOW and GPIO.input(SENSOR3_PIN) == GPIO.LOW): GPIO.output(LED3_PIN, GPIO.LOW) time.sleep(SLEEPTIME) except KeyboardInterrupt: cam.stop_preview() thread1.join() GPIO.cleanup() finally: curses.echo() curses.endwin()

拙いプログラムですみません。

自分ではどこがおかしいのかわかりません。

pythonをアプデしたことで、プログラムの書き方が変わってしまったのでしょうか。

↓エラー内容です。
イメージ説明

よろしくお願いします。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

Tak1wa

2017/09/15 02:36

2.7 から 3.5 へは単純な移行は出来なかったと思いますが移行作業はしたのですか?

まだ回答がついていません

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Raspberry Pi

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