ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2016年2月12日

スマートミラーを作ってみた(ハードウェア編)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

どうも、トイレハックの人です。
なんか最近そういう風に言われることが多いのですが、non技術者からは「トイレで苦しんでるの?」って言われるので困ってます。

そういえば、2/19(金)のデブサミ2016でRESTfulトイレについてLTすることになりましたので、興味のある方は是非お越しください。(スマートミラーも持って行こうか考え中。)

さて、本題ですが... つい最近、こんな記事を見てしまいまして...

Google社員が自作した「スマート鏡」はスマホの通知センターのように時刻・天気・ニュースを表示 - GIGAZINE
http://gigazine.net/news/20160203-smart-bathroom-mirror/

しばし意識を失ったのち気がついたら、手元に市販の額縁と秋月電子通商で売ってるSHARP製IGZO液晶が届いていました。




IGZO液晶、7インチに1920x1200という高解像度で、めちゃくちゃ薄くて明るいのに2Wくらいしか電気食わない省エネ仕様で素晴らしいですね。


桜島の黒神から撮った星景写真が綺麗に表示されたので感動しました。

本題に戻りまして、これらを使ってスマートミラーを作ることにしましょう。
額の裏ぶたを外して、液晶パネルと基板をつなぐフレキが通るスペースを作っていきます。
鉛筆で穴あけの位置を書いたらフライスでサクッと。


フレキを通したら、液晶を裏ぶたに両面テープで貼り付けます。
ちなみに、失敗したら剥がせない(液晶が割れる)ので細心の注意を払って位置合わせする必要あり。
フレキを通した穴は黒色のmtで塞いでおきます。


一旦動作テスト。


うまくいったので、液晶部分の周りに厚紙(液晶の厚みの分だけある)を切り抜いて貼って、その上に黒い画用紙を貼り付け。
液晶と厚紙の隙間には黒のmtを上から貼って横からの光漏れを完全にシャットアウトします。
フレキの反対側サイドからの光漏れが激しかったので、ここにはmtを2重に貼りました。


液晶周りが完成したら、IGZO液晶駆動基板とRaspberry Pi B 2を裏ぶたに固定します。
プラナットをアロンアルファーで止めて、プラネジで止めました。
(もうちょっとちゃんとした固定方法をとった方がいいかも)


最後に、額についてたガラスをマジックミラーに変えます。
マジックミラーは大阪吹田市の株式会社コーワさんに発注。
https://mirror.kowa-j.co.jp/magicmirror.html

額に元々入っていたガラスの寸法を測って、厚み3mm、角磨き上げ、縦210mm、横297mmで作ってもらいました。
お値段3564円 + 梱包送料864円 = 計4428円
注文日は2/7、2/10に発送されて、届いたのは2/12です。

マジックミラー、裏ぶたをセットして起動!
※写真写り上あまり反射してないように見えますが、実際は普通の鏡くらい綺麗に反射してます。(たぶん部屋が暗いせい)



と、いうわけでハードウェアは完成です。
これから、ここに表示するためのソフトウェアを作っていかなければ...

冒頭の記事で紹介されているGoogle社員作のミラーは白文字で天気や予定などの情報を表示しているので、まずはそんな感じのものを作ろうかと。

Raspberry Pi 2 Bというちょっと強力なやつを載せてるので、カメラ繋いで顔認識させて鏡に映った顔にオーバーレイするようなプログラムとか、なんか色々夢が広がりそうだなぁ...と思っているところです。
ソフトウェア編の記事も後ほど書く予定です。

2015年3月30日

Raspberry Pi 2にArchLinux, Xfce, Chromiumをインストール

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

卒論などでバタバタしてて放置してたRaspberry Pi 2、2ヶ月弱ぶりに触ってみました。
2/7の段階ではUSBキーボードを刺しただけでハングするくらい不安定だったArchLinuxでしたが、3/2に公開されたバージョンがあったので、インストールしてみます。
※細かい説明はコマンドの右側に「←」に続けて記述しています。(コピペ時に含めない様に注意)

パーティション作成

ここは別のマシン(ArchLinux on ThinkPad X220)で行いました。
トランセンド製のMicroSDHCカード 16GBを使用。

sudo fdisk /dev/mmcblk0
fdisk (util-linux 2.25.2) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。

コマンド (m でヘルプ): o
Created a new DOS disklabel with disk identifier 0xd88f609a.

コマンド (m でヘルプ): p
Disk /dev/mmcblk0: 14.7 GiB, 15719727104 bytes, 30702592 sectors
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0xd88f609a

コマンド (m でヘルプ): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
パーティション番号 (1-4, default 1): 1
最初のセクタ (2048-30702591, default 2048): 
最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (2048-30702591, default 30702591): +100M

新しいパーティション 1 をタイプ Linux、サイズ 100 MiB で作成しました。

コマンド (m でヘルプ): t
Selected partition 1
16 進数コード (L で利用可能なコードを一覧表示します): c
DOS 6.x 領域を作成、または変更してしまった場合は、cfdisk 付属文書にある追加情報ページを参照してください。
パーティションのタイプを 'Linux' から 'W95 FAT32 (LBA)' に変更しました。

コマンド (m でヘルプ): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
パーティション番号 (2-4, default 2): 2
最初のセクタ (206848-30702591, default 206848): 
最終セクタ, +セクタ番号 または +サイズ{K,M,G,T,P} (206848-30702591, default 30702591): 

新しいパーティション 2 をタイプ Linux、サイズ 14.6 GiB で作成しました。

コマンド (m でヘルプ): w
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。

フォーマットと展開

sudo mkfs.vfat /dev/mmcblk0p1
sudo mount /dev/mmcblk0p1 boot
sudo mkfs.ext4 /dev/mmcblk0p2
sudo mount /dev/mmcblk0p2 root
su
wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
sync
mv root/boot/* boot
umount boot root
SDカードを取り出す。

Rapsberry Pi 2での作業

SDカードをRaspberry Pi 2に刺して、LANケーブルを接続、電源を入れる。
ユーザ:root / パスワード:root でログイン
pacman -Syu  ←インストール済みパッケージのアップデート
pacman -S base-devel wget  ←gcc, makeなどのインストール
passwd  ←rootパスワードの変更
useradd -m -g wheel <ユーザ名>  ←ユーザの追加
passwd <ユーザ名>  ←追加したユーザのパスワード設定
visudo
以下のコメントアウトを外す
Defaults env_keep += "HOME"
%wheel ALL=(ALL) ALL
systemctl enable sshd.service  ←SSHサーバの起動
ip addr  ←Raspberry Pi2のIPアドレスを表示
exit
続きはSSHでRaspberry Pi 2に接続して行う

XとXfceのインストール

sudo pacman -S xorg-server xorg-server-utils xorg-xinit 
sudo pacman -S xf86-video-armsoc-git xf86-video-fbdev xf86-video-vesa
sudo pacman -S xfce4 xfce4-goodies

yaourtのインストール

sudo pacman -S yajl
cd
wget https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
tar zxvf package-query.tar.gz
cd package-query
makepkg
sudo pacman -U package-query-1.5-2-armv7h.pkg.tar.xz
cd
wget https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar zxvf yaourt.tar.gz
cd yaourt
makepkg
sudo pacman -U yaourt-1.5-1-any.pkg.tar.xz
yaourt -Syy  ←データベースのアップデート
yaourt -S ttf-ricty  ←日本語フォントのインストール
sudo pacman -S chromium  ←ブラウザ(chromium)のインストール

画面解像度の調整

1920x1080のFullHDで出力されるようにします。
sudo nano /boot/config.txt
hdmi_groupとhdmi_modeのコメントアウトを解除し、以下のように書き換え
hdmi_group=2
hdmi_mode=82
ここで、hdmi_groupの2はDMT、hdmi_modeの82は1080p 60 Hzを意味する
詳細はeLinux.orgのRPiconfigに記載されています。

Xfceの起動

以下、Raspberry Pi 2でログイン後
startxfce4
でデスクトップが表示されれば成功

YouTubeも再生できます。

2015年2月7日

Raspberry Pi 2 Model Bが到着

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

販売開始直後に発注したので、3日程度で到着。
外箱のサイズはB+と比較して若干厚みが増してましたが、ボード自体は発表通りサイズ・ポート位置の変更は無し。


手元にある2種類のB+用ケースに入れてみましたが、1個は完璧、もう1個は一部削ることで入りました。


今は販売されてない(2Bの発売開始とほぼ同時に消えた)このケースの場合、以下の写真のような感じ。


ものによっては基板裏の部品が干渉して入らないものあるようで、基板下にゆとりがあるケースならだいたい入るかなぁっと。

ちなみに↓これはキレイに入った。
http://jp.rs-online.com/web/p/development-board-enclosures/8293459/
ただし、このケース、通気口が無いので上の写真の真っ黒ケースに載せ替えたという訳です。

OSについては、BやB+でRaspbianを使っていた人なら、B(B+)で起動して
sudo apt-get update
sudo apt-get dist-upgrade
したSDを2Bに差し替えるだけで起動する。


dist-upgradeは結構時間が掛かるのでのんびり待ちます。
SDを2Bに差し替えて電源を入れると、クアッドコアの証、ラスベリーロゴが4個表示されて起動。


ブラウザでYouTubeを再生してみたりしましたが、まぁ見れる感じでした。
ただ、raspbian自体がちょっと微妙だなぁと思い始めてた(パッケージが古いものがあったりする)ので、次回はArch Linuxに載せ替える話の予定。

追記:dist-upgrade後のSDカード、boot領域の中身。


2014年10月9日

X220にArch Linuxを入れた時の覚書

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

ThinkPad X220にArch Linux、Xfceなどを入れて諸々の設定を行った時のメモ。
地味に初Archです。#普段はサクッとFreeBSDをインストールする派

使用したX220は、Core i5 2520M 2.5GHz、RAM 4GB(2GB*2)、HDD 320GBという構成のモデルナンバー4290RW4、2011年春発売のモデル。
指紋センサーあり、カメラは無し、無線LANはCentrino Advanced-N 6205を搭載、液晶は非IPSで視野角狭めな感じの、ベーシックタイプ。
これのHDDをIntel SSD 320 120GBに換装して、Arch Linuxをインストールしました。

インストール自体は既にネット上に大量にある情報とほぼ変わらないが、
・UEFI+GRUB
・指紋認証
・ファンコントロール
・音量ボリュームキー他の有効化
の4つは結構大事な情報で、これらも含めてまとまっている情報が無かったので、ここに残すことに。


Chrome、Eclipse、Wireshark等々を入れて落ち着いた状態が↑これ
スッキリ、シンプルで非常に快適。

以下、インストール時に行った操作など、まとめ。