Taifuh.com

阿部のFacebookからの転載ブログ

IoT関連

スマホのバッテリーを長持ちさせる#2

投稿日:2017年8月31日 更新日:

前回は構想のみだったが、今回から実際の開発に入る。

まずは、リレーの工作だ。

これらは電源のOn/Offを制御するリレーの部品である。
左から、基板、フォトトライアック、トライアック(600V25A)、コンデンサ、100Ω/330Ω抵抗、2Aのヒューズである。

大した回路ではないので、パパっとハンダ付けする。

ヒューズは無くても良いようだが念のため挿入。トライアックに100Vの電源をハンダ付けし、制御用のフォトトライアックにもラズパイのGPIOに接続する制御線をハンダ付けする。

100Vの電源が繋がっており、裸のままでは心許ないので、適当なケースに入れてGPIOをラズパイに接続する。

さて、これで準備完了。次はラズパイ側でGPIOの制御を行うためのライブラリをインストールだ。調べると、以下のライブラリが簡単に利用できそうだ。

WiringPi – GPIO Interface library for the Raspberry Pi

早速、GPIOの状態を調べる。

$ gpio readall

 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5v      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 0 | IN   | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | IN   | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+

こんな感じで、つらつらと状態が出力される。
制御線は一番下の21番ピンに接続してあり、”IN”状態になっているようだ。
そこで、

$ gpio -g mode 21 out

と”OUT”状態にして再度確認。

 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | OUT  | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+

無事に”OUT”状態になった。
これで、

 $ gpio -g write 21 1

で、HIGH出力、つまり電源接続で、

 $ gpio -g write 21 0

で、LOW出力、つまり電源遮断となる。
実際にテスターで計ると思惑通りだ。

まずは、今までの時間によるOn/Off制御を設定し、例のタイマーと同じ働きをさせることにする。

cronのジョブ設定を以下にして、今日のところはお終いだ。

0 0 * * * /usr/local/bin/gpio -g write 21 0
0 5 * * * /usr/local/bin/gpio -g write 21 1

これの意味するところは、
0時0分になったらGPIO 21番ピンをLOW出力
5時0分になったらGPIO 21番ピンをHIGH出力
にするということで、HIGHになっている時間帯(午前5時から深夜0時まで)に電源が供給される。
実際にスマホに充電されるのは、帰宅後の23~0時と、会社に出る前の5~7時の3時間ということになる。

なお、ラズパイを再起動した場合、GPIOの設定は全て初期状態に戻るため、
/etc/rc.local に以下の2行を追加しておく。

/usr/local/bin/gpio -g mode 21 out
/usr/local/bin/gpio -g write 21 1

さて、次は一番の難関の、アンドロイド・アプリの開発だ。
いつ完成する事やら・・・・

-IoT関連
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

AU Xperia Z3のDocomo化

会社から支給されているDocomoのスマホ(Galaxy SC-01H)がゴツくて、液晶解像度も低く、どうにも使い勝手が悪い。そこで、手元に余っているAUのスマホ(Xperia Z3)をSIMフリー化 …

ラズパイで監視カメラ

ラズパイ3で監視カメラを構成したので、メモとして残しておく。 カメラはUSBの安いWebカメラ、ロジテック C270だ。 最大1280 x 720の解像度で、千円で買ったカメラにしては十分。 USBの …

スマホのバッテリーを長持ちさせる#1

上の絵はSonyの最新Xperiaの、バッテリーを長持ちさせる機能の説明だ。 充電100%状態で充電器に繋いだままにしておくのは、バッテリーの寿命には良くないようで、ちょうど100%になったら充電器か …

Intel AI Day

先日、電王戦で佐藤名人を破ったPonanzaを開発した、Heroz社リードエンジニアの山本氏のAIに関する公演。メッチャ面白かった! 本当にディープラーニングの強化学習の力は凄まじく、山本氏本人も驚く …

2017年11月
« 10月    
 12345
6789101112
13141516171819
20212223242526
27282930  

アーカイブ

カテゴリー