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

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

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

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

Q&A

解決済

1回答

392閲覧

ラズパイ3 LXTerminal

shuppi

総合スコア47

Raspberry Pi

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

0グッド

0クリップ

投稿2017/07/06 00:22

編集2017/07/06 01:38

Raspberry pi 3 ModelB ver1.2を使っています。

人感センサを4つ使ってどの方向に生物がいるか大体わかるようにしています。
人感センサ1、2、3、4のように名前をふってLXTerminalでprint文で表示しています。


人感センサ1 生物を感知しました。
人感センサ2 生物を感知出来ません。
人感センサ3 生物を感知出来ません。
人感センサ4 生物を感知出来ません。

のように表示させているので、どんどんスクロールしていって、少し見づらいです。

できれば、場所はそのままで「生物を感知しました/出来ません」のところだけを変わるようにできないでしょうか?

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

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

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

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

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

coco_bauer

2017/07/06 00:48

どのように表示されるのが理想的なのでしょうか? 1行に全部の情報を表示する(毎回のスクロールが1行に減ります)とかですか? あるいは、1行に複数回の測定結果を表示する???
shuppi

2017/07/06 01:38

すみません。そのことを記載するのを忘れていたので追加しておきました。
guest

回答1

0

ベストアンサー

cursesというライブラリを使えば、ターミナル上でGUIのようなインターフェイスが使えます。
テキストエディタのnanoなどのようなアプリケーションも作れます。

以下はpythonでの例です。

Python

1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3 4import curses 5from curses import wrapper 6import time 7from datetime import datetime 8 9# addstrでの文字化け対策 10# http://d.hatena.ne.jp/SumiTomohiko/20070518/1179499889 11import locale 12locale.setlocale(locale.LC_ALL, "") 13 14def main(stdscr): 15 stdscr.clear() 16 stdscr.nodelay(True) # ユーザー入力待たない 17 curses.init_pair(1, curses.COLOR_RED, curses.COLOR_WHITE) 18 19 stdscr.addstr( 0, 0, 'キー入力で終了', curses.A_BOLD) 20 x = 0 21 while True: 22 23 try: 24 inp = stdscr.getkey() 25 if inp: 26 break 27 except curses.error: 28 pass 29 30 stdscr.addstr( 1, 0, datetime.now().strftime("%Y/%m/%d %H:%M:%S"), curses.color_pair(1)) 31 32 # アニメーション 33 stdscr.addstr( 2, x, ' ') 34 x += 1 35 if x > 10: 36 x = 0 37 stdscr.addstr( 2, x, '+') 38 39 stdscr.refresh() 40 time.sleep(0.1) 41 42 stdscr.nodelay(False) 43 44if __name__ == '__main__': 45 wrapper(main) # 初期化、エラー処理などをラッパにまかせる 46 print('end')

参考:Python で Curses プログラミング

投稿2017/07/06 02:14

編集2017/07/06 02:48
can110

総合スコア38266

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

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

shuppi

2017/07/06 07:39

ありがとうございます。とても参考になりました。無事、自分で作ることが出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問