可変角度タブレットスタンドの自作

d0010259_21345499.jpg
8インチタブレット ASUS MemoPad HD8のスタンドを作りました。
 
タブレットスタンドは色々市販されてますけど、背中につっかい棒をして角度を維持するものがほとんど。
キーボードをつけてタイピングするときに、このタイプだと、膝の上や新幹線のテーブルなど平らでないところや奥行きの短いところでは使いにくいです。
 
普通のノートパソコンのように可変角度のヒンジを持ったものが欲しかったので作りました。
d0010259_21393739.jpg
 
材料は、100均のA4クリップボードです。
d0010259_21371658.jpg


これを、手持ちのbluetoothキーボードに合わせて、半分程度にカットし、クリップに針金ハンガーで適当に背もたれを作って重量バランスの当たりをつけます。
d0010259_21372710.jpg

大丈夫そうならヒンジ部の設計をします。
角度可変のヒンジには、トルクヒンジを使います。
トルクヒンジの選定には、ヒンジやさんの便利なツールがあります。



これにタブレットの短辺のサイズ、重さを入れると最適なヒンジを紹介してくれます。
僕は、紹介されたHG-MF25を2つ使いました。
これは、0.245Nm(一つ分)のトルク値です。
支えられる重さは、0.245/9.8=0.025kgを1mの腕の先にぶら下げられます。
 
短辺12cmのタブレットの重心位置6cmで支えられるのは、100/6を乗じて416gです。
実際の重さが370gなので、2つ使った上で安全率をかんがえるとこんなもんかな、という感じ。

d0010259_21400749.jpg


d0010259_21373519.jpg

こんな感じでネジ止めします。 干渉するビスは、ビスカッターで切断します。
d0010259_21361126.jpg
d0010259_21360165.jpg



ボードへのタブレットの固定は、M3ネジのスペーサなどで現物合わせで適当に。
d0010259_21333782.jpg
d0010259_21330734.jpg
こんな感じで角度可変が出来ます。




[PR]
# by studio_do | 2017-11-10 22:22 | 機械室から | Comments(0)

Asus memo pad HD8でlinuxを使う

d0010259_20452565.png
1.序章
 タブレットでlinuxを使うといえば、Debian norootがお手軽ですが、これはルート化不要なだけあって、例えばudevadmなどができません。
 一旦ルート化してしまったら、complete linux installerのほうが良いでしょう。
 こちらは本物のsuが効きます。 
 Asus Memopad HD8(ME180)にlinuxのデスクトップ環境を入れて日本語入出力ができるまでについて書きます。  

2.動作原理
 ubuntu 13.10などのimgファイルがダウンロードでき、losetupコマンドでそのimgファイルにファイルシステムが構築されます。
 マウントポイントを示して既存のディレクトリをいくつか入れ替えてubuntu、debianなどを動かしています。
 表示系は、android側でXserverアプリをインストールして127.0.0.1:0を通してネットワーク経由でXsarverを使います。 

3.ルート化
 iRootとか、KingRootなどのking系は、やめておきましょう。
 手軽にルート化できますが、ネット経由でどこかのサーバにつながってないとsuできない怪しいソフトです。
 僕はKey Root Masterを使いました。
 これは、無理やりインストールされるルート管理ソフトが怪しいだけで、これは無効にできます。
 そのあと、自分でルート管理ソフトを入れてください。
 ルート化は、自己責任で。 

4.complete linux installerのインストール
 ubuntu、debian、fadoraなどのいくつかのディストリビューションが示されますが、僕が使ったのはubuntu-13.10.LARGE.ext4です。
 SMALLでは空き容量が小さすぎ、LARGEのext2はzipが壊れてます。 
 Xserver XSDLもインストールしてください。
 ターミナルエミュレータは入ってますよね。
 comlete linux installerのデフォルトとしては、表示系にVNCを使うようになってますけど、DPIが合わなかったのでXserverを使ってます。
 これは、Debian norootでやってた方法なので雰囲気は同じです。 
 ダウンロードしたzipファイルを任意のディレクトリに解凍しておき、complete linux installerに教えます。
d0010259_20363656.jpg
 SSLは使わないのなら不要。
 VNCは一応チェックを入れておきます。
 あとは、液晶のピクセルサイズを調べておきます。
 1280x736などですね。

5.起動
 先にXserver XDSLを起動しておき、そのあとで、complete linux installerを起動します。
 コマンドラインで、
# ext DISPLAY=127.0.0.1:0
# startkde
としておき、Xserver XDSLに画面を切り替えるとlinuxのデスクトップが出てくるはず。
 以降、ubuntu13.10のLARGEを前提にしますね。
d0010259_20373331.jpg


6.初期設定
 デスクトップが起動するのがわかったら、Xserverは一旦終了しておき、端末エミュレータでしばらく作業します。

 レポジトリの書き換え
 このままでは、レポジトリが古くてapt-get updateができませんので、/etc/apt/sources.listを書き換えます。
 このソフトが制作された時期がだいぶ昔になってしまってパッケージがおいてあるサーバが変わってしまったので、接続先のサーバを書き換えます。
http://old-releases.ubuntu.com/ubuntuに2行とも書き換えてください。
 apt-get updateしてエラーがでなければOK。

 必要なパッケージをインストールしまくり
apt-get update
apt-get upgrade
apt-get install gedit
apt-get install fonts-vlgothic
 日本語入力は時代と共に主流が変わってますけど、僕はfcitx-mozcにしてます。
apt-get install fcitx fcitx-mozc fcitx-libs-qt5 fcitx-frontend-qt5
im-config -n fcitx

7.日本語環境の整備
 ここまでは、rootユーザで起動してます。
 rootのままでは、mozcサーバが起動しません。
 このディストリビューションでは、ubuntuというユーザが予め設定されてます。
 exitで終了させてから
d0010259_20402785.jpg

 念の為、タブレット自体をリブートしてから、Xserverを起動、complete linux installerを起動し、loginでubuntuにログインしてから、同じように、
# ext DISPLAY=127.0.0.1:0
# startkdeで起動します。 
d0010259_20391987.jpg
onfigurationをアプリケーションランチャーで起動します。
 Input Methodタブで、
english
mozc
の2行を登録してください。
d0010259_20473417.png
 アプリケーションランチャーで、logoutして、端末エミュレータでexitしてrootからも抜けてから全部再起動。 
 ここまで来ると、日本語入力ができるはず。 
 ですが、ファイルマネージャやkonsoleでは日本語が見えないはず。
 ここで、ロケールを日本語に変更します。
 rootの端末のほうで、
apt-get install language-pack-ja
export LANG=ja_JP.UTF-8
update-locate LANG=ja_JP.UTF-8 
 もう一度タブレットごと再起動。
 これで、ファイルマネージャでもkonsoleでも日本語が見えるはず。

8.あると便利なソフト
apt-get install baobab
 ファイルシステムが特殊なので、dfが効きませんので、残り容量を調べるのは、baobabを使います。 

apt-get install software-center
 GUIで、ソフトを探すソフト。

apt-get install iceweasel
 firefoxのインストール。

まだできていないこと。
 ファイル拡張子とアプリケーションの関連付け。 タイムゾーンの設定。


[PR]
# by studio_do | 2017-10-16 21:05 | 機械室から | Comments(0)

androidタブレットのGIMP inkscape

androidの画像系アプリで、GIMP inkscapeというアプリがあります。
これはlinux用の定番のドロー/ペイントのソフトです。
これがandroidに移植していあるんだー。。と感激していたら、なんとファイルサイズが300Mバイトもあります。
なんと、ソフト本体は、androidの上でもうひとつlinuxとXサーバを動かしてその上で動いてます。
 
androidの上で、xfceのデスクトップ環境が動いているわけですが、このデスクトップはGIMPなどのランチャーが本来の目的です。
ですが、一応xtermやファイルマネージャーも動いており、ある程度のことはできそうです。
 
xtermでは、なんとapt-get updateが動きます。
ソフトのインストールも楽にできそうです。

ロケールは、LANG=ja_JPで、一応日本語になっていて、デスクトップが日本語が表示されますが、残念ながら、xtermに漢字が表示されません。
まずはこれをなんとかしましょう。
d0010259_00594319.jpg
【xtermの日本語表示】
まず、xtermのランチャー設定を調べます。
アイコンの上で、右クリックですが、右クリックは指二本でタップです。

xterm -bg black -fg green -xrm 'XTerm*faceName: DroidSansMono' -xrm 'XTerm*faceSize: 10' -e /bin/bash -l

こんな感じになってます。
普通、xtermの設定変更というと、.Xresourceなどの設定ファイルをいじるようになっていますが、ここでは、ランチャーのコマンドラインで済ませているようです。

で、ここで設定されているDroidSansMonoに、漢字が含まれていないのが漢字が表示されない当たり前の理由です。
じゃ、これを日本語を含むフォント名に書き換えればいいのかというと、そうではなくて、
xterm -sb -bg black -fg green -xrm 'XTerm*faceName: DroidSansMono' -xrm 'XTerm*faceNameDoublesize: VL Gothic' -xrm 'XTerm*faceSize: 10' -e /bin/bash -l

などと、全角のフォントを別個に設定することが必要です。

どのフォントに漢字が含まれているかは、フォントビューワ代わりにgeditをインストールして見てみる手もあります。

apt-get install gedit
apt-get install fonts-vlgothic

ここでは毎度おなじみVLゴシックをインストールしました。

Root Terminalも要領は同じです。
d0010259_00590167.png
【日本語IMのインストール】
xtermで漢字が表示できるようになったら、日本語入力がしたくなります。
Root Terminalのほうで、
apt-get install fcitx fcitx-mozc fcitx-libs-qt5 fcitx-frontend-qt5
im-config -n fcitx

これで、再起動したら日本語入力できるはずです。
d0010259_00575066.png



[PR]
# by studio_do | 2017-08-12 01:03 | 機械室から | Comments(0)

ブルーグラスプレーヤー

ブルーグラスで音楽を始めた僕ですが、しばらくぶりにブルーグラスのバンドに入れてもらいました。
しばらくぶり、の間には、ウェスタンスィングをやっていたり、バイオリントリオをやっていたり、エーギョーのブルーグラスをやっていたりしました。
 
ずっとブルーグラスをやり続けていたお友達のそのバンドで一緒に弾いてみて思ったのは、
「ブルーグラスだけやってても音楽が出来るようにはならんのではないか。」
ということです。
 
バンジョー、マンドリン、ギター、バイオリン、ドブロ、ベースという楽器構成がほぼ決まっていて、一応やることが決まっています。
どうやって何を弾くのか、を考えなくても音源のまねをすれば格好が付きます。
 
バンドとして何を表現したいのかがはっきりしないままでも、バンドが出来てしまうのです。
それはとっても問題だと思います。
 
ブルーグラスを演奏する前に、音楽を演奏しましょう。


[PR]
# by studio_do | 2017-07-19 22:29 | 音楽 | Comments(0)

Asus Memo pad 電源が入らないの原因のひとつ

d0010259_17040944.jpg
d0010259_17040923.jpg

さて、写真を2つ示しました。 
最初の写真は、現在快調に動いているMemo padの内部ケーブル接続部。
次の写真は、電源が入らない!と騒いでいた時の同じ箇所の写真。
FPCケーブルの端子部が見えてしまっているのが分かるでしょうか。

もし、こうなっていたら、ケーブルを挿し直すだけで治る可能性があります。
ロック機構などなくて、ただ差し込んであるだけなので、ピンセットで挿し直してみてください。



[PR]
# by studio_do | 2017-06-25 17:11 | 機械室から | Comments(0)

Asus Memo padのトラブル解析

d0010259_21362668.jpg
この機種の「電源が入らない」と言うトラブルは、過放電と認識されることが多く、ネットに転がる対処法も充電に関する対処がほとんどである。

あまり書いてない切り分けの方法を書いておく。

画面が真っ暗で電源ボタンに反応しないという症状でも二通りの現象がある。

まず、PADのUSBからパソコンに接続する。
パソコンがUSBメモリとして認識しないか、もし駄目でも電源ボタンを押して1分程度待つ。
これでUSBメモリとして認識できたら、バッテリは無実だ。
10秒程度、電源ボタンを長押しして電源が切れ、もう一度電源が入ることを確認する。

この場合には、OSは起動しているが液晶が点灯しない状態だと思われる。

ここから先はいずれにしても殻割りが必要である。
USBコネクタの近くに親指の爪を押し込んで蓋を外す。

バッテリに繋がった6ピンのコネクタの両端の電圧をテスターで測る。
規格は3.8Vなので、過放電の場合には、電圧がもっと下がっているはず。
4V以上あったら、確実にバッテリは白。

バッテリを横断しているフラットケーブルが外れていないか確認しよう。

[PR]
# by studio_do | 2017-06-21 21:36 | 機械室から | Comments(0)

Orange piでLinuxを動かそう エピソード6 WIFIの設定

WIFIドングルに目出度くドライバが組み込まれたら、動かしてみましょう。

まず、必要なパッケージを導入します。
sudo apt install wireless-tools
sudo apt install wpasupplicant

ここまで入れるとWIFIの電波がスキャンできるようになります。
デバイス名を調べます。
kodera@kodera-dynabook-Satellite-K33-220C-W:/etc$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wlxbc5c4c5846ad unassociated Nickname:" WIFI@REALTEK "
Mode:Managed Frequency=2.412 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

ここでは、"wlxbc5c4c5846ad"がデバイス名です。
これを使って、
kodera@kodera-dynabook-Satellite-K33-220C-W:/etc$ iwlist wlxbc5c4c5846ad scan
とコマンドを打つと、

wlxbc5c4c5846ad Scan completed :
Cell 01 - Address: 16:6F:3F:F5:AE:0A
ESSID:"106F3FF5AE0A"
Protocol:IEEE 802.11bgn
Mode:Master
Frequency:2.427 GHz (Channel 4)
Encryption key:on
Bit Rates:144 Mb/s
Extra:wpa_ie=dd1a0050f20101000050f20202000050f2040050f20201000050f202
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Extra:rsn_ie=30180100000fac020200000fac04000fac020100000fac020000
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Quality:0 Signal level:0 Noise level:0
などとアクセスポイントが見えると思います。
これが見えればもう一歩です。

自分が繋ぎたいアクセスポイントが見えたら、パスフレーズを計算します。
下の例はダミーなので、ssidとpasswordはでたらめですよ。

kodera@kodera-dynabook-Satellite-K33-220C-W:/etc$ sudo wpa_passphrase my_ssid my_passwod
network={
ssid="my_ssid"
#psk="my_passwod"
psk=39577b4b21adc7cce60cf5c2be58fc7a2b1f8f686dc9c3f6842de29d77f37acc
}

このnetwork= というテキストを利用して、設定ファイルを作りますが、コピペがめんどくさいなら、
sudo wpa_passphrase my_ssid my_passwod >>/etc/wpa_supplicant/wpa_supplicant.conf

とやって、いきなりファイルに落とすのもありです。

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="your-ssid"
key_mgmt=WPA-PSK
proto=WPA WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="your-pass"
}

pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
のところは、さっきのiwlistで見た、
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
を参考に書いてください。

wpa_supplicant -iwlxbc5c4c5846ad -c/etc/wpa_supplicant/wpa_supplicant.conf
でエラーがでなければok。
止まらないので、ctrl-Cで止めてください。

ここまで来たら、もう一歩。
/etc/network/interfaces
に、WIFIの設定を加えます。

allow-hotplug
iface デバイス名 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

こんな感じです。 正解はわかりません。
色々やって、これが動いたというだけです。
auto eth
をコメントアウトしておかないとダメなどと噂もあります。

iwconfig
として、目的とするアクセスポイントが表示されれば成功していると思います。


[PR]
# by studio_do | 2017-06-04 21:08 | 機械室から | Comments(0)

Orange piでLinuxを動かそう エピソード5

さて、Wifiドングルのチップが8188euだとわかったのなら、orange pi上でlsmodしてみる。

orangepi@OrangePI:~$ lsmod
Module Size Used by
gpio_sunxi 8265 0
8189es 1069830 0
8188eu 916364 0

8188euがモジュールとして含まれているのがわかる。
modinfo 8188euで守備範囲を調べてみる。

orangepi@OrangePI:~$ modinfo 8188eu
filename: /lib/modules/3.4.112/kernel/drivers/net/wireless/rtl8188eu/8188eu.ko
version: v4.3.0.6_12167.20140828
author: Realtek Semiconductor Corp.
description: Realtek Wireless Lan Driver
license: GPL
srcversion: 6E1E9435E7EEE679F088FA2
alias: usb:v07B8p8179d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BDAp0179d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0BDAp8179d*dc*dsc*dp*ic*isc*ip*

aliasに0x056e 0x4008が含まれていないのがわかる。
解決方法は一般的には2つあり、
1)ドライバのソースを入手してソースを書き換えてビルドし直す。
2)ダイナミックデバイスID、という手法でIDを追加する。

比較的古めのカーネルバージョンの場合が多いorange piのlinuxではビルド用のカーネルソースが入手しにくいことが多い。 これで1)のハードルがぐっと上がる。
2)は、ルートにしかパーミッションがないnew_idファイルを書き換えることが必要で、僕がやった場合にはプロセスがフリーズしてしまったので、諦めた。

ここで諦めては面白くないわけで、ちょっと乱暴な方法を試してみた。
ドライバ本体は、
filename: /lib/modules/3.4.112/kernel/drivers/net/wireless/rtl8188eu/8188eu.ko
にあることがmodinfoの結果から分かっているので、3つあったIDのうち使わなさそうなIDをバイナリエディタで直接書き換えてしまおうというもの。

ここで、バイナリエディタって何?という人は諦めたほうがよろし。
そーか!と得心する人はドライバのバックアップを取ってから試してみてくださいな。
僕の環境ではうまく行きました。
で、やっとWifiでexciteに繋がったので、そのマシンでこの記事を書いている次第である。

うまく行ったことは、lsusb -tの結果が
: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=sunxi-ehci/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=rtl8188eu, 480M
こんな感じにドライバ名を表示することで分かる。

ここまで来ても,wifiの設定にもう一苦労することにはなっているので、それはまた次の機会。


[PR]
# by studio_do | 2017-06-04 01:49 | 機械室から | Comments(0)

Orange piでLinuxを動かそう エピソード4

さて、orange piでLinuxをセットアップしていて、たいてい困るのがWifiのusbドングルが動かないという問題。
どうして動かないのかを考える前には、どうして動くのかを理解しましょう。
それには、ノートパソコンで動いているubuntuで動いている様子を確認します。 
 
USBドングルには、それぞれ16進4桁のベンダーIDとプロダクトIDがありまして、それによりどのメーカーのなんとゆー製品なのかを区別してます。

lsusbのコマンドで、確認することが出来ます。

kodera@kodera-dynabook-Satellite-K33-220C-W:~$ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
|__ Port 1: Dev 7, If 0, Class=Vendor Specific Class, Driver=r8188eu, 480M

kodera@kodera-dynabook-Satellite-K33-220C-W:~$ lsusb
Bus 001 Device 008: ID 056e:4008 Elecom Co., Ltd

この例では、ベンダーIDが0x056e、プロダクトIDが0x4008です。
ドライバーがr8188euだということもわかります。

modinfoのコマンドで、r8188euドライバが、どのWIFIドングルを守備範囲にしているのかがわかります。

kodera@kodera-dynabook-Satellite-K33-220C-W:~$ modinfo r8188eu
filename: /lib/modules/4.4.0-78-generic/kernel/drivers/staging/rtl8188eu/r8188eu.ko
version: v4.1.4_6773.20130222
author: Realtek Semiconductor Corp.
description: Realtek Wireless Lan Driver
license: GPL
srcversion: B53056C647125E5874F2A02
alias: usb:v0DF6p0076d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3311d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p3310d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v2001p330Fd*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v07B8p8179d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v056Ep4008d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp0179d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0BDAp8179d*dc*dsc*dp*ic*isc*ip*in*

さっき見たベンダーIDとプロダクトIDが含まれているのがわかります。
これが一致することで、このドングルにr8188euのドライバが使われます。

新しいカーネルだと、新しいドングルまで守備範囲に入っているので挿しただけで動くということです。
 
orange piにWIFIドングルを挿しても動かないのは、こうして考えると2つの場合があります。
1)カーネルに含まれているドライバに、このベンダーID、プロダクトIDが含まれていない。
2)そもそも、このドライバがカーネルに入っていない。

動いている環境で調べたドライバ名で、orange piの端末で、
modinfo r8188eu
などとしたら、ドライバが入っているのか、守備範囲から外れているのかがわかります。
 
入っていなかったら、ソースをgitしてきてビルドせねばなりませんが、守備範囲から外れているだけならやりようもあります。
 
次回はその方法について。


[PR]
# by studio_do | 2017-06-03 18:33 | 機械室から | Comments(0)

又吉原作 ドラマ「火花」

深夜にやっているドラマ「火花」、2話目を見た。(嫁が見ているので見ざるを得なかった)
 
全然面白くない。
なぜだろう。
お笑い芸人が、お笑いを題材に小節を書いているので、若手のお笑い芸人は大変なんだ、という思いが強すぎて創作になっていない。
 
お笑いにも理論が必要だ。
熱意だけのお笑いは、お笑いじゃない。
それはやってる意味がない。

又吉が小説家たるためには、お笑いじゃない分野を題材になにか書く必要が在るだろう。


[PR]
# by studio_do | 2017-03-06 00:03 | 日記 | Comments(0)