読者です 読者をやめる 読者になる 読者になる

Re:Readme

PCトラブルや環境構築、家電量販店とかで買ったもののメモ。ご利用は自己責任で。

Raspberry Pi 3にシャットダウンボタンをつける(4)

今回はオマケ的な記事。
Raspberry Pi 3用ケースの加工を行ってみた。...といってもLEDやボタン用の穴を開けて内側を接着しただけだけれど。

穴はルータで開け、棒状のヤスリで拡張。ちょっとLEDの方は広げすぎたけど許容範囲内。
この穴からスイッチやLEDをケースの内側から出し、グルーガンで接着。ボタンの方はちょっと接着力が心許ないけれど、まぁとりあえずこれでいいかな。

ということで外装は完成。

f:id:hal_drumas:20170227231032j:plain:w250f:id:hal_drumas:20170227231056j:plain:w250

スイッチの頭とケースの厚みがぴったりで存在感はあまりないけれど、リセットボタンみたいにつまようじで押すほどボタンの面積は小さくないので、指の腹でいい感じに押せた。
ルータで穴を開ける時に手元が狂ってLED用の穴の周辺に傷を付けてしまったけど、手先が不器用な自分にしては上出来かな。
あとは配線の接続部周りに絶縁テープを巻き付けるのと、肝心のモニタを用意すれば完成。

制作記録としてはひとまず終了。

Raspberry Pi 3にシャットダウンボタンをつける(3)

GPIO入力でシャットダウンを実行するPythonスクリプトを前回まで作成した。今回はいよいよこのスクリプトが起動時にバックグラウンドで自動的に実行されるよう、デーモン化させてみる。

続きを読む

Raspberry Pi 3にシャットダウンボタンをつける(2)

前回の続き。C言語PythonRaspberry PiのGPIO制御を行うためのライブラリWiringPiを使用してみる。

  • WiringPiのインストール
  • WiringPiをコマンド上で実行してみる
  • WiringPiを使ってGPIOを制御するPythonサンプルコード
  • ボタン押下でシャットダウンを行うコードを実装してみた

続きを読む

Raspberry Pi 3にシャットダウンボタンをつける(1)

Raspberry Pi 3には電源ボタンというものが付属していないため、起動は電源ケーブルを挿したタイミングで開始され、終了はアプリケーションメニュー(左上のラズベリーのアイコンのやつ)からシャットダウンを実行するか、ターミナルから下記のコマンドを実行する必要がある。

$ sudo shutdown -h now

そのため、電源を切るためにいちいちモニタやマウスを物理的に接続したり、ssh接続でリモート操作しなければならない。
ということで、Raspberry Piを買われた方はよく電源周りをいじくるところから始めるみたい。私も例に漏れず、シャットダウンボタンの実装を行ってみた。

  • 資材調達
  • GPIOを使ってLEDを操作してみる
  • GPIOを使ってスイッチ押下を検出してみる

続きを読む

Google Drive API v3によるデジタルフォトフレーム作成(3)

前回作成したスクリプトをOSの起動と同時に自動的に実行するための設定をメモ。


自動起動も何段階かの起動タイミングがあるようで、今回はデスクトップ起動後にプログラムを自動起動する方法(デスクトップエントリ)を用いた(Windowsでいうところのスタートアップに近い?)。
参考記事はこちら。
https://wiki.archlinuxjp.org/index.php/デスクトップエントリ

下記のような内容の設定ファイルを、<アプリケーション名など>.desktopという名前で~/.config/autostartに置いておくことで自動起動が実行される。

[Desktop Entry]
Type=Application
Name=Raspberry Photo Sync
Comment=Photoframe script written in Python
Exec=python /home/pi/projects/photosync/src/main.py
Terminal=False

Google Drive API v3によるデジタルフォトフレーム作成(2)

Google Drive API v3によるデジタルフォトフレームの機能を実現するプログラムをPythonで実装してみました。アルゴリズムhttp://www.asahi-net.or.jp/~rn8t-nkmr/family/pic/pf/index.htmlを参考にさせていただいています。
移植性とかが残念なのはご勘弁を。ソースコードの動作は保証しませんし、また使用によるいかなる不利益についても、当方は責任は負いかねますので悪しからずご了承下さい。

続きを読む

Google Drive API v3によるデジタルフォトフレーム作成(1)

Raspberry Pi 3を使ってデジタルフォトフレームを制作中。

概要

クラウドストレージの画像データとローカルの画像データの間で同期を取り、ローカルの画像を逐次表示するというもの。先駆者様(http://www.asahi-net.or.jp/~rn8t-nkmr/family/pic/pf/index.html)がいらっしゃるので基本はこれを参考にさせていただいた。しかし、Dropboxが無料プランで2GBしか使えないのが気になったので、今回は無料で15GB使えるGoogle Driveを利用してみた。

Google APIsの設定

事前準備としてGoogleアカウントを作成しておく(本項では割愛)。ここも下記のページを参考に設定。
yura2.hateblo.jp

まず、下記のページにアクセスしてプロジェクトを作成する。
console.developers.google.com
プロジェクト名はツールとサービス(左上の「≡」) > IAMと管理 > 設定から後で変更可能。

その後、左のメニューの「認証情報」を開き、「認証情報を作成」ボタンをクリック。この時、「OAuth クライアント ID」を選択する。
必要な認証情報の種類を調べる
入力欄は、下記のように設定する。

  • アプリケーションの種類: その他
  • 名前: <任意の文字列>

入力が完了すると、キーがダウンロードされるので、client_secret.jsonというファイル名で保存する。

最後にOAuth 同意画面の設定を行う。認証情報からOAuth 同意画面タブをクリックし、メールアドレスとユーザーに表示するサービス名を設定する。

以上で、Google APIsの設定は完了。

Google API クライアントライブラリのインストール

今回はデジタルフォトフレームの実装をPythonで試みた。
python.keicode.com
上記の記事の手順に従い、コマンドを実行する。
PyDriveはgoogle-api-python-clientのラッパーライブラリらしいが、APIのバージョンとPyDriveのバージョンの対応やリファレンスがよく分からなかったので今回は使わなかった。

$ sudo apt-get update
$ sudo apt-get install python-pip
$ pip install --upgrade google-api-python-client

とりあえず、Google Drive API v3を使うための環境構築は以上。