一馬力のメモ帳

MVSからLinuxまで。基盤屋さんは眠らない

Raspberry Pi 3がモバイルバッテリーで何時間動作するか試してみた

Raspberry Pi 3の電源はUSBで給電されているので
モバイルバッテリーから電源とったら何時間位動くかな?という実験の結果です。

結論から先に紹介すると今回の環境では約6時間動作しました。

概要

モバイルバッテリーで連続稼動といっても
なにも処理していない状態ではつまらないので
今回はwebカメラ+Motion+wifiで監視カメラを動作させる状態を作ってみました。

概要図

f:id:htbariki:20171029160140p:plain

利用したもの

実験は,Raspberry PiでMotionを動かし
Wifi経由でPCから画像を更新し続ける環境で行いました。

利用したもの

 利用バッテリー

型番:LP-MBY50WH メーカ:LEPLUS 容量:5,000mAh 出力:5V/1A

LEPLUS モバイルバッテリー 急速充電・安心設計 5000mAh ホワイト

稼働時間の計測方法

  • cronを5分おきに動かす
  • バッテリー切れ後,再起動しsyslogを確認

計測の準備

cronの設定

コマンドはどんなものでも良いので
cronで定期的にコマンド実行する。

今回はcrontab -e で5分おきにdateコマンドを実行します。

*/5 * * * * /bin/date

を入れておく。

設定出来たことをcrontab -l で確認しておく。

pi@raspberrypi:~ $ crontab -l
*/5 * * * * /bin/date
pi@raspberrypi:~ $

motionを起動し,起動時間を確認

”sudo systemctl status motion”コマンドで
motionのステータスを確認する。

確認ポイントは
”Active: active (running) since 水 2017-05-31 23:14:53 JST; 13min ago”の部分

起動して13分経過している事が分かります。

pi@raspberrypi:~ $ sudo systemctl status motion
● motion.service - LSB: Start Motion detection
   Loaded: loaded (/etc/init.d/motion)
   Active: active (running) since 水 2017-05-31 23:14:53 JST; 13min ago
  Process: 510 ExecStart=/etc/init.d/motion start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/motion.service
           └─526 /usr/bin/motion

実行結果

pi@raspberrypi:~ $ grep "/bin/date"  /var/log/syslog.1 |tail
Jun  1 05:05:01 raspberrypi CRON[2114]: (pi) CMD (/bin/date)
Jun  1 05:10:01 raspberrypi CRON[2128]: (pi) CMD (/bin/date)
Jun  1 05:15:01 raspberrypi CRON[2140]: (pi) CMD (/bin/date)
Jun  1 05:20:01 raspberrypi CRON[2170]: (pi) CMD (/bin/date)
Jun  1 05:25:01 raspberrypi CRON[2182]: (pi) CMD (/bin/date)
Jun  1 05:30:01 raspberrypi CRON[2192]: (pi) CMD (/bin/date)
Jun  1 05:35:01 raspberrypi CRON[2205]: (pi) CMD (/bin/date)
Jun  1 05:40:01 raspberrypi CRON[2218]: (pi) CMD (/bin/date)
Jun  1 05:45:01 raspberrypi CRON[2229]: (pi) CMD (/bin/date)

最後の実行が5:45分頃。motion起動したのが前日の23:15頃なので
だいたい6時間30分!!

モバイルバッテリーだけで6時間ほど稼働できる事が確認できました。

試した環境

[asin:B01D3CXJNG:image]

Raspberry Pi 3 Model B
  Pi 3 Starter Kit 32GB [896-8660-Kit4]

Raspbian
  pi@raspberrypi:~ $ uname -a
  Linux raspberrypi 4.4.23-v7+ #913 SMP Tue Oct 4 14:16:19 BST 2016 armv7l GNU/Linux

  pi@raspberrypi:~ $ cat /proc/version
  Linux version 4.4.23-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #913 SMP Tue Oct 4 14:16:19 BST 2016

  pi@raspberrypi:~ $ lsb_release -a
  No LSB modules are available.
  Distributor ID:    Raspbian
  Description:    Raspbian GNU/Linux 8.0 (jessie)
  Release:    8.0
  Codename:    jessie

コマンドラインからシリアルナンバー等のシステムの情報を取得する方法

久しぶりの投稿です。
気がつけば149日もBlog更新が止まっていました。

プライベート側が忙しくメモのまとめが追いついていませんでした,,,。(言い訳)

久しぶりの投稿は,Mac OSコマンドラインでシステム情報を取得する方法。
シリアルナンバーや,HWの情報。OSの情報をコマンドラインで取得していきます。

目次


概要

  • 利用するコマンド system_profiler

  • コマンドの概要 ハードウェア,ソフトウェアの情報をレポートする

コマンドの例

system_profilerコマンドは環境により,実行に時間がかかります
出力結果は.txtファイルなどに書き出してから確認する事をオススメします。

オプション無し

iMac:~ ichibariki$ system_profiler > system_profiler.txt

xml形式で取得する

iMac:~ ichibariki$ system_profiler -xml > system_profiler_xml.txt

detailLevel miniで取得する

iMac:~ ichibariki$ system_profiler -detailLevel mini > system_profiler_mini.txt

detailLevel basicで取得する

iMac:~ ichibariki$ system_profiler -detailLevel basic > system_profiler_basic.txt

取得できる情報の例

シリアルやモデル等の情報(Hardware Overview)

Hardware:

    Hardware Overview:

      Model Name: iMac
      Model Identifier: iMac11,3
      Processor Name: Intel Core i3
      Processor Speed: 3.2 GHz
      Number of Processors: 1
      Total Number of Cores: 2
      L2 Cache (per Core): 256 KB
      L3 Cache: 4 MB
      Memory: 12 GB
      Processor Interconnect Speed: 5.86 GT/s
      Boot ROM Version: IM112.0057.B03
      SMC Version (system): 1.59f2
      Serial Number (system): x9999xxxxx9
      Hardware UUID: xxx-xxx-xxx-xxx-xxx

OS等の情報(System Software Overview)



Software:

    System Software Overview:

      System Version: macOS 10.12.2 (16C67)
      Kernel Version: Darwin 16.3.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Computer Name: xxxx
      User Name: xxxx (xxxxx)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 2:00

 【参考①】オプション”-detailLevel”ごとの出力項目比較

項目 -detailLevel full -detailLevel basic -detailLevel mini
Accessibility:
Applications:
Audio:
Bluetooth:
Camera:
Components:
Diagnostics:
Extensions:
FireWire:
Firewall:
Fonts:
Frameworks:
Graphics/Displays:
Hardware:
Installations:
Locations:
Logs:
Memory:
Network:
Power:
Printers:
Software:
Storage:
Thunderbolt:
USB:
Volumes:
Wi-Fi:

【参考②】system_profilerman のman

iMac:~ ichibariki$ man system_profiler

SYSTEM_PROFILER(8)        BSD System Manager's Manual       SYSTEM_PROFILER(8)

NAME
     system_profiler -- reports system hardware and software configuration.

SYNOPSIS
     system_profiler [-usage]
     system_profiler [-listDataTypes]
     system_profiler [-xml] dataType1 ... dataTypeN
     system_profiler [-xml] [-detailLevel level]

DESCRIPTION
     system_profiler reports on the hardware and software configuration of the system.  It can generate plain text reports or XML
     reports which can be opened with System Information.app

     Progress and error messages are printed to stderr while actual report data is printed to stdout. Redirect stderr to /dev/null to
     suppress progress and error messages.

     The following options are available:

     -xml                Generates a report in XML format.  If the XML report is redirected to a file with a ".spx" suffix that file
                         can be opened with System Information.app.

     -listDataTypes      Lists the available datatypes.

     -detailLevel level  Specifies the level of detail for the report:

                         mini          report with no personal information

                         basic         basic hardware and network information

                         full          all available information

     -timeout            Specifies the maximum time to wait in seconds for results.  If some information is not available within the
                         specified time limit then an incomplete or partial report will be generated. The default timeout is 180 sec-
                         onds. Specifying a timeout of 0 means no timeout.

     -usage              Prints usage info and examples.

EXAMPLES
     system_profiler
       Generates a text report with the standard detail level.

     system_profiler -detailLevel mini
       Generates a short report containing no personal information.

     system_profiler -listDataTypes
       Shows a list of the available data types.

     system_profiler SPSoftwareDataType SPNetworkDataType
       Generates a text report containing only software and network data.

     system_profiler -xml > MyReport.spx
       Creates a XML file which can be opened by System Profiler.app

AUTHORS
     Apple Computer, Inc.

Darwin                           June 30, 2003                          Darwin

試した環境

Apple iMac 21.5インチ 1.6GHz Corei5 8GB 1TB MK142J/A

iMac (27-inch, Mid 2010)
macOS Sierra
    システムのバージョン:     macOS 10.12.6 (16G29)
    カーネルのバージョン:     Darwin 16.7.0

Raspberry Piでcrontab -eの初回実行(エディタ選択画面が表示される)

毎度。一馬力です。

Raspberry PiでCronを使おうと$ crontab -e コマンドをPiで初めて実行してみました。

f:id:htbariki:20170602063026j:plain

目次


 crontab -eの初回実行→エディタの選択

Raspberry Piで初めて$ crontab -e コマンドを実行すると エディタの選択画面が表示されます。

pi@raspberrypi:~ $ crontab -e
no crontab for pi - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.tiny

Choose 1-3 [2]: 

簡単なのは(easiest)は/bin/nanoですよ?って教えてくれるんですが
私はVi使い。

Choose 1-3 [2]: へ3を押してvimを選択しました。

 3. /usr/bin/vim.tinyを選択した時の画面

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
~
~
~
~
~
~
~
~
~
~
~
"/tmp/crontab.QSltee/crontab" 22L, 888C

後からエディタを変えたい時はselect-editor

とりあえず。vimを選択。またはオススメに従って/bin/nanoを選択したけど
やっぱり別なエディタが良い!

というときは “$ select-editor”コマンドでエディタを編集できます。

 select-editor実行画面

pi@raspberrypi:~ $ select-editor

Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.tiny

Choose 1-3 [2]: 2

初めて”$crontab -e”した時と同じ画面がでますね。

2. /bin/nanoを選択した時の画面

参考までに” /bin/nano ”を選択すると
下のような画面になります。

GNU nano 2.2.6                               File: /tmp/crontab.nvzlAO/crontab

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command

                                                                  [ Read 22 lines ]
^G Get Help              ^O WriteOut              ^R Read File             ^Y Prev Page             ^K Cut Text              ^C Cur Pos
^X Exit                  ^J Justify               ^W Where Is              ^V Next Page             ^U UnCut Text            ^T To Spell

/bin/nano使った事ないですが。せっかくなので
試してみようかな?

試した環境

Raspberry Pi 3 Model B

Raspberry Pi 3 Model B
  Pi 3 Starter Kit 32GB [896-8660-Kit4]

Raspbian
  pi@raspberrypi:~ $ uname -a
  Linux raspberrypi 4.4.23-v7+ #913 SMP Tue Oct 4 14:16:19 BST 2016 armv7l GNU/Linux

  pi@raspberrypi:~ $ cat /proc/version
  Linux version 4.4.23-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #913 SMP Tue Oct 4 14:16:19 BST 2016

  pi@raspberrypi:~ $ lsb_release -a
  No LSB modules are available.
  Distributor ID:    Raspbian
  Description:    Raspbian GNU/Linux 8.0 (jessie)
  Release:    8.0
  Codename:    jessie

(MCPIサンプルスクリプト)hanoi.py

毎度。一馬力です。

f:id:htbariki:20161105082601p:plain ※画像はMinecraft PEです。

今日はMinecraftPythonから操作する話です。
利用したMOD,ライブラリは以下の通り

  • [MOD] Raspberry Jam Mod
  • [ライブラリ] MCPI - Minecraft: Pi edition API Python Library

この記事はMCPIのPythonサンプルスクリプト “hanoi.py" の動作紹介ページです。

目次


 hanoi.py

コマンド実行画面


MCPI - hanoi

参考 MCPIでMinecraftPythonから操作する方法

MCPIでMinecraftPythonから操作する方法については
下の過去記事を参考にして下さい

ichibariki.hatenablog.com

参考 MCPI - Minecraft: Pi edition API Python Library サンプルスクリプト一覧

サンプルスクリプト一覧については
下の過去記事を参考にして下さい

スクリプト名,概要を一覧にまとめています

ichibariki.hatenablog.com

試した環境

ホストOS

2500/15.4 MJLT2J/A MacBook Pro Retinaディスプレイ

MacBook Pro (Retina, 13-inch, Late 2013)
macOS Sierra
    システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0
Python 2.7.10

Minecraft

Minecraft 1.11.2
  Forge-1.11.2-13.20.0.2259
  Raspberry Jam Mod 0.88

(MCPIサンプルスクリプト)grenade.py

毎度。一馬力です。

f:id:htbariki:20161105082601p:plain ※画像はMinecraft PEです。

今日はMinecraftPythonから操作する話です。
利用したMOD,ライブラリは以下の通り

  • [MOD] Raspberry Jam Mod
  • [ライブラリ] MCPI - Minecraft: Pi edition API Python Library

この記事はMCPIのPythonサンプルスクリプト “grenade.py" の動作紹介ページです。

目次


 grenade.py

  • スクリプト名 : grenade.py
  • 処理概要   : TNTの塊を発射する

コマンド実行画面


MCPI - grenade

参考 MCPIでMinecraftPythonから操作する方法

MCPIでMinecraftPythonから操作する方法については
下の過去記事を参考にして下さい

ichibariki.hatenablog.com

参考 MCPI - Minecraft: Pi edition API Python Library サンプルスクリプト一覧

サンプルスクリプト一覧については
下の過去記事を参考にして下さい

スクリプト名,概要を一覧にまとめています

ichibariki.hatenablog.com

試した環境

ホストOS

2500/15.4 MJLT2J/A MacBook Pro Retinaディスプレイ

MacBook Pro (Retina, 13-inch, Late 2013)
macOS Sierra
    システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0
Python 2.7.10

Minecraft

Minecraft 1.11.2
  Forge-1.11.2-13.20.0.2259
  Raspberry Jam Mod 0.88

(MCPIサンプルスクリプト)goldcollector.py

毎度。一馬力です。

f:id:htbariki:20161105082601p:plain ※画像はMinecraft PEです。

今日はMinecraftPythonから操作する話です。
利用したMOD,ライブラリは以下の通り

  • [MOD] Raspberry Jam Mod
  • [ライブラリ] MCPI - Minecraft: Pi edition API Python Library

この記事はMCPIのPythonサンプルスクリプト “goldcollector.py" の動作紹介ページです。

目次


 goldcollector.py

  • スクリプト名 : goldcollector.py
  • 処理概要   : ゴールドコレクター。ゴールドブロックを踏むミニゲーム

コマンド実行画面


MCPI - goldcollector

参考 MCPIでMinecraftPythonから操作する方法

MCPIでMinecraftPythonから操作する方法については
下の過去記事を参考にして下さい

ichibariki.hatenablog.com

参考 MCPI - Minecraft: Pi edition API Python Library サンプルスクリプト一覧

サンプルスクリプト一覧については
下の過去記事を参考にして下さい

スクリプト名,概要を一覧にまとめています

ichibariki.hatenablog.com

試した環境

ホストOS

2500/15.4 MJLT2J/A MacBook Pro Retinaディスプレイ

MacBook Pro (Retina, 13-inch, Late 2013)
macOS Sierra
    システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0
Python 2.7.10

Minecraft

Minecraft 1.11.2
  Forge-1.11.2-13.20.0.2259
  Raspberry Jam Mod 0.88

(MCPIサンプルスクリプト) globe.py

毎度。一馬力です。

f:id:htbariki:20161105082601p:plain ※画像はMinecraft PEです。

今日はMinecraftPythonから操作する話です。
利用したMOD,ライブラリは以下の通り

  • [MOD] Raspberry Jam Mod
  • [ライブラリ] MCPI - Minecraft: Pi edition API Python Library

この記事はMCPIのPythonサンプルスクリプト “globe.py" の動作紹介ページです。

目次


 globe.py

  • スクリプト名 : globe.py
  • 処理概要   : ガラスの球体

コマンド実行画面


MCPI - globe

参考 MCPIでMinecraftPythonから操作する方法

MCPIでMinecraftPythonから操作する方法については
下の過去記事を参考にして下さい

ichibariki.hatenablog.com

参考 MCPI - Minecraft: Pi edition API Python Library サンプルスクリプト一覧

サンプルスクリプト一覧については
下の過去記事を参考にして下さい

スクリプト名,概要を一覧にまとめています

ichibariki.hatenablog.com

試した環境

ホストOS

2500/15.4 MJLT2J/A MacBook Pro Retinaディスプレイ

MacBook Pro (Retina, 13-inch, Late 2013)
macOS Sierra
    システムのバージョン:     macOS 10.12.4 (16E195)
    カーネルのバージョン:     Darwin 16.5.0
Python 2.7.10

Minecraft

Minecraft 1.11.2
  Forge-1.11.2-13.20.0.2259
  Raspberry Jam Mod 0.88