変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

Android

【arudino】SG90サーボ用 2軸 カメラマウント (SG90 2個付)

3Dプリンタの安価な材料を探しに、MMOの様な広大なAmazonのページを探索していたら、妙なモノに物欲センサーが誤動作してしまった。
ではご覧ください。
はい、ただのカメラ・マウントです。
リンクをクリックしたらスピーカーから安っぽいモーターの音が聞こえませんか?
SG90という小型のサーボ・モータを組み込まれていて、うまく制御できればカメラの向きを2軸方向に変えることができるんです。
SG90は電源5VなんでArduinoに直付けできそうです。
これって、あとはジョイスティック1本あればコントロールできるよね?
ほら、そこには手ごろなジョイスティックが・・・
5Vだからと安心して最初から直付けは危ないです。
たまにケーブルがひかかって落ちてきた重いモーターがコントローラの基板をパキンと軽快な音を立て、とどめにVcc-GNDショート・チョップを仕掛けて電源も一緒に止めを刺しに来るじゃないですか?そのために電源には過電流防止機能が必須だったり、ただの箱なのにそれなりにお高いケースを付ける訳です。
でも、欲を言えば、壊したくないので、普通じゃない価格のブレッド・ボード(時価:百~3百円)とジャンパー ケーブル(一束百円)があれば、安地にコントローラを置いて、安心して動かせそうです。
※本当はボードをジョイスティックの台にするつもりなんですけどね。
サーボ・モータのコントローラにはAndroino UNO R3も500円くらいからあるし、ま、SG90x2個ぐらいならPCからArduinoにファームウェアを書き込むUSBケーブルで足りそうです。
そうすると2~3千円ぐらいで、なんちゃってロボットアームが遊べそうですね。
お買い物の注意点としては、スペーサーとかボルトの様な精密な加工が当たり前な部品は他と比べて高いです。
だから・・・たまに組み立てキットにネジが入っていないのもあるとかないとか?
一通り、うまく動かせたら、VGA解像度の安価なカメラArduino用の240×320程度の解像度のカラーLCDをうまく乗せればいいんですけどね。
でも、Androino のピンが足りるのかな?
 
 
 
 
 
 



タブレットのメモリが足りない

文句を垂れ流しつつも
電子書籍がどんどん溜まっていく。
しかし、NEXUS7のメモリは16GB。
KINDLEで9GBも使ってしまい。
残り2GBとなってしまった。
しかし、NEXUS7は基本的にSDカードやUSBメモリは使わないスタンス。
※microUSBコネクタが1つしかないから、外付けメモリを使えても、家で充電しながら読むことができなくなるから。
そうなると外ならWEBストレージかモバイルルータのメモリを使うことになる。
しかしその度に通信しなくてはいけない。
なので、
「暫く読まないものはタブレットから消す」
ことにする。
残り4GBになった。
根本的な対策は、大容量(128GB?)のメモリを積んだタブレットを買うことかな?
iPad Air2には 128GBバージョンもあるが、もう増設はできない。
なので、ズルができるWindows タブレットの出番かもしれない。
Kindle for PCならAppDataあたりにKINDLEのデータが入るだろうから、
そこをジャンクション・リンクで増設ドライブにつなぐことがデキルハズだ。
SDHCなら32GBまでだが、SDXCメモリなら2TBまで可能。
すでにmicroSDサイズで128GBが出てるのでこっちの方がいいかもしれない。
 
 



Android-x86 を ビルド  ・・・ing

参考: http://www.android-x86.org/getsourcecode
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
$ branch=lollipop-x86
$ mkdir android-x86
$ cd android-x86
$ repo init -u http://git.android-x86.org/manifest -b $branch
$ repo sync
error: prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/: platform/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9 checkout 5dbc43c533f23bc0a566eb5b91a0f1ba5dbc9189
# df -H
ファイルシス            サイズ  使用  残り 使用% マウント位置
・・・
/dev/sdb1                  63G   60G     0  100% /usbSSD
仕方がないので移動。
# make iso_img TARGET_PRODUCT=android_x86
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=5.0
TARGET_PRODUCT=android_x86
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=x86
TARGET_ARCH_VARIANT=x86
TARGET_CPU_VARIANT=
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.10.0-123.9.3.el7.x86_64-x86_64-with-centos-7.0.1406-Core
HOST_BUILD_TYPE=release
BUILD_ID=LRX21V
OUT_DIR=out
============================================
Checking build tools versions...
including ./abi/cpp/Android.mk ...
including ./art/Android.mk ...
・・・
オリジナルのソースはこっち、ブランチ名はこっち
repo init -u https://android.googlesource.com/platform/manifest


Hyper-VにAndroidX86を入れてみる

公式のAndroid-X86は純粋に32ビットバージョンなので、
64ビットのWin8のHyper-Vでは起動してもディスクを認識できない。
64ビットで試しに作ったらしいモノも見かけたがLANは繋がらなかった。
※https://code.google.com/p/android-x86/downloads/listのandroid-x86-4.3-20130725.iso
更に、Hyper-Vなのでホスト側のUSBなどを接続する方法も存在しない。
 



AndroidのOSアップデートは無理っぽ

Android 5が出たけど、対応できるのはごく一部の機種だけ。
Xperia Zは Android 5へのアップデートを出すらしいけど、手持ちのS-04Eは Xperia Aなのでアウト オブ 眼中。
なぜアップデートできないのかと云えばCPUも周辺チップもみんなバラバラだからだ。
という感じでAndroidは買い替え前提になっている。
気に入ってたスマフォが安い中古が出ていたとしても
それに手を出すと古いOSなのでセキュリティ上問題が放置されているし、アプリ側も、今更2.2とか古いOSの対応なぞほどんどない。
※主にADKは2.2で、ちゃんとコンパイルできないせい。
という訳で Googleは 5以降は、スムーズなアップデートを考えているらしい。
DSP版AndroidOSでも出すんだろうか?
それなら、次は5を買えばいいのかな?



Android X86 4.4 RC2 を入れてみた

# wget http://sourceforge.net/projects/android-x86/files/Release%204.4/android-x86-4.4-RC2.iso/download
100%[======================================>] 348,127,232 3.49MB/s 時間 2m 31s
2014-11-18 18:21:18 (2.20 MB/s) – `download’ へ保存完了 [348127232/348127232]
# mv download android-x86-4.4-RC2.iso
# mv android-x86-4.4-RC2.iso /tmp
パーテーション設定でディスクが認識せず失敗。
リセットすると
Booting from Hard Disk
Boot failed: not a bootable disk
No bootable device.
何が悪いんだろう・・・
1.CentOS7は64ビット(x86_64)。これでデバイスをうまくいかないのは、AndroidX86が32ビット版だからだろう。

※x86 だけど _64が付くとは書かれてない。

2.だからrhel7もダメ。でもrhel6でもダメで、rhel5で落ち付いた。
【動いたスクリプト】

#ネットワークインストールするリポジトリURL指定
IMAGE=/tmp/android-x86-4.4-RC2.iso

#KVM上での名前を指定
IMAGE_NAME=Android4.4
IMG_PATH=/var/lib/libvirt/images

#virt-installでインストールする
  virt-install \
  --name ${IMAGE_NAME} \
  --ram 1024 \
  --disk path=${IMG_PATH}/${IMAGE_NAME}.qcow2,size=16,format=qcow2 \
  --vcpus=1 \
  --os-type linux \
  --os-variant=rhel5 \
  --arch=i686 \
  --accelerate \
  --graphics spice,listen=0.0.0.0 --channel spicevmc \
  --cdrom=${IMAGE}

 ※修正個所 

CFDISKコマンドがfdiskとちょっと違うので、このページの通りにやった方がよさそう。
ネットワークはWifiがうまくいっていないが youtobeも観れるし、中で端末ターミナルを実行すると ip addr で IPアドレスが取れてたからキニシナイ方針。
Googleアカウントを登録しておけばPlayStoreも使えるみたいだ。
他のAndroidエミュレータなどよりは速く動いている感じがする。
spiceでマウスを画面の外に出すにはShift+F12
AndroidX86を正しくシャットダウンするには、Spiceの画面上部分の時刻表示のある黒いバーをマウスでダラダラとドラッグすると、POWER OFFってボタンが出てくるので、それを押す。
デバッグするアプリを放り込む方法が思いつかない。 ←重要!
 



Android-x86

AOSPでAndroid 5.0がリリースされたので
Android-x86を探して入れてみたけど・・・
5.0はまだまだっぽい。
※ 名前に for developers って付いていたのはそのせいか。
それに64ビットカーネルだと都合が悪いようだ。
CentOS7からは64ビットしかないので
CentOS6.xの32ビット版を用意した方がいいらしい。
repoでソースをダウンロードしてISOイメージを作る途中でこけてた時点で31GBも食うのが難点。
SSDは64GBしかないし・・・やはり外付けか
色々と延々とログも取って書き込んでおいたら
MariaDBがクラッシュしたので
昨日のバックアップをリストアしたので丸1日巻き戻り。




top