PlantUML公式ページにWEBで出力してくれるけど、やっぱ自前サーバーでやりたいって人向けの情報です。
設定は簡単だけど、どこにも載ってないので備忘録を残しておきます。
$ sudo apt-get install -y graphviz maven
$ git clone https://github.com/plantuml/plantuml-server
$ vim ~/.bashrc
---
$GRAPHVIZ_DOT="/usr/bin/dot"
---
最後の行に挿入
$ source ~/.bashrc
$ mvn jetty:run -Djetty.port=1001
http://address:1001/
最初エラー画面が出るけど、下のURLをクリックすると表示する。
インターネット上にある断片化された情報を切り取って、リブログする。 主にソフトウェア、Ubuntu関連、CPUなど気になったニュース、また、日々の面白い出来事やニュースもリブログします。
2017年9月22日金曜日
2017年8月1日火曜日
[RaspberryPi]Tensorflowをインストールする
WindowsでTensorflowの環境構築がうまくいかなかったので、持て余しているラズパイにディープラーニング用フレームワークTensorflowをインストールすることにした。
ちなみに2017年8月時点でJessie版RasbianのG++-4.9でビルドはできません。
参考URLにのっているのですが、threadpool.ccをビルドする時にエラーになります。
捕捉:試しにStretch版へアップグレードしてGCC-6、G++-6でビルドしてみたらこっちはOKでした。(スワップメモリを大きめに取っておく必要はありますが。)
raspberry pi zero or 1ならこっち
$ make -f tensorflow/contrib/makefile/Makefile HOST_OS=PI TARGET=PI OPTFLAGS="-Os" CXX=g++-4.8
raspberry pi 2 or 3ならこっち(neon有効化?)
$ make -f tensorflow/contrib/makefile/Makefile HOST_OS=PI TARGET=PI \
OPTFLAGS="-Os -mfpu=neon-vfpv4 -funsafe-math-optimizations -ftree-vectorize" CXX=g++-4.8
---
追記:Bazelを使う場合、
ビルドにbazelを使用すると「configure」が使えるので、調整が色々できるようになります。
Bazelはv0.4.5を使います。
$ wget https://github.com/bazelbuild/bazel/releases/download/0.4.5/bazel-0.4.5-dist.zip
$ unzip -d bazel bazel-0.4.5-dist.zip
$ cd bazel
ソースコードで編集2か所あります。
nano scripts/bootstrap/compile.sh
117行目 末尾に「-J-Xmx500M」を追加。
nano tools/cpp/cc_configure.bzl
133行目 関数の頭にreturn "arm" を追加。
$ sudo ./compile.sh
$ sudo cp output/bazel /usr/local/bin/bazel
これでOK。
★ビルドエラーが出て先に進めない、手っ取り早くインストールしたい場合
ビルド済みのwhlがあるので活用する方法があります。
$ wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/blob/master/archive/tensorflow-0.8.0rc0-cp27-none-linux_armv7l.whl
$ sudo pip install tensorflow-0.8.0rc0-cp27-none-linux_armv7l.whl
これでOK。
-----------
〇動作チェック
この後はKerasをインストールしたり使い方について書いていきたいと思います。
参考URL
https://github.com/samjabrahams/tensorflow-on-raspberry-pi/blob/master/GUIDE.md
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/makefile
https://github.com/tensorflow/tensorflow/issues/3135
https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases
ビルド済みのをインストールする方法もあるのですが、バージョンが古いのでソースからビルドします。
ちなみに2017年8月時点でJessie版RasbianのG++-4.9でビルドはできません。
参考URLにのっているのですが、threadpool.ccをビルドする時にエラーになります。
捕捉:試しにStretch版へアップグレードしてGCC-6、G++-6でビルドしてみたらこっちはOKでした。(スワップメモリを大きめに取っておく必要はありますが。)
以下を打ちこめばOK。
---
$ git clone https://github.com/tensorflow/tensorflow
$ sudo apt-get install -y autoconf automake libtool gcc-4.8 g++-4.8 libjpeg-dev
$ tensorflow/contrib/makefile/download_dependencies.sh
$ cd tensorflow/contrib/makefile/downloads/protobuf/
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig # refresh shared library cache
$ cd ../../../../..
raspberry pi zero or 1ならこっち
$ make -f tensorflow/contrib/makefile/Makefile HOST_OS=PI TARGET=PI OPTFLAGS="-Os" CXX=g++-4.8
raspberry pi 2 or 3ならこっち(neon有効化?)
$ make -f tensorflow/contrib/makefile/Makefile HOST_OS=PI TARGET=PI \
OPTFLAGS="-Os -mfpu=neon-vfpv4 -funsafe-math-optimizations -ftree-vectorize" CXX=g++-4.8
---
追記:Bazelを使う場合、
ビルドにbazelを使用すると「configure」が使えるので、調整が色々できるようになります。
Bazelはv0.4.5を使います。
$ wget https://github.com/bazelbuild/bazel/releases/download/0.4.5/bazel-0.4.5-dist.zip
$ unzip -d bazel bazel-0.4.5-dist.zip
$ cd bazel
ソースコードで編集2か所あります。
nano scripts/bootstrap/compile.sh
117行目 末尾に「-J-Xmx500M」を追加。
nano tools/cpp/cc_configure.bzl
133行目 関数の頭にreturn "arm" を追加。
$ sudo ./compile.sh
$ sudo cp output/bazel /usr/local/bin/bazel
これでBazelインストール完了。
次にTensorflowのビルド
$ cd ~/tensorflow
$ ./configure
$ bazel build -c opt --copt="-mfpu=neon-vfpv4" --copt="-funsafe-math-optimizations" --copt="-ftree-vectorize" --copt="-fomit-frame-pointer" --local_resources 1024,1.0,1.0 --verbose_failures tensorflow/tools/pip_package:build_pip_package
これでOK。
★ビルドエラーが出て先に進めない、手っ取り早くインストールしたい場合
ビルド済みのwhlがあるので活用する方法があります。
$ wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/blob/master/archive/tensorflow-0.8.0rc0-cp27-none-linux_armv7l.whl
$ sudo pip install tensorflow-0.8.0rc0-cp27-none-linux_armv7l.whl
これでOK。
-----------
〇動作チェック
動作確認で画像認識をやってみる場合、
---
curl https://storage.googleapis.com/download.tensorflow.org/models/inception_dec_2015_stripped.zip \
-o /tmp/inception_dec_2015_stripped.zip
unzip /tmp/inception_dec_2015_stripped.zip \
-d tensorflow/contrib/pi_examples/label_image/data/
make -f tensorflow/contrib/pi_examples/label_image/Makefile
tensorflow/contrib/pi_examples/label_image/gen/bin/label_image
---
動作確認でカメラを使った動画認識をやってみる場合、
---
make -f tensorflow/contrib/pi_examples/camera/Makefile
tensorflow/contrib/pi_examples/camera/gen/bin/camera
---
ビルド時間がとても長いので気長にまちましょう。
この後はKerasをインストールしたり使い方について書いていきたいと思います。
参考URL
https://github.com/samjabrahams/tensorflow-on-raspberry-pi/blob/master/GUIDE.md
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/makefile
https://github.com/tensorflow/tensorflow/issues/3135
https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases
ラベル:
Raspberry_Pi
2017年5月20日土曜日
人感センサーHC-SR501を使ってみる
製品仕様
回路図やピンアサインの情報は上記Amazonで並行輸入販売してる人や使い方Q&Aも載っていてぜひ覗いてみてください。
データシートやサンプルプログラムなどはココにありました。
上記製品仕様も引用させていただいております。
簡単な使い方
この人感センサーはシンプルで入力は5V300mA程度の電源に3.3V出力のピンの3つだけです。感度調整やON維持時間はトリマーで直接調整します。これを使って部屋の照明に人感センサーを取り付けてON/OFFさせたり、玄関で人が来た時に照明をつけたり、RaspberryPiを使えばIoTと称して人感センサーの反応をWEB上に通知したりカメラも取り付けて監視カメラにしたりできる事が増えて夢が広がりますね。
もちろんArduinoでも使えます。
使う場合は5VとGNDと入力ポート1つ使う程度のものなので、通信処理も書かずに簡単にできます。Lチカの入力ポート版と同じレベルですので是非実験に使ってみてはいかがでしょうか。
参考サイト
http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/arduino-hc-sr501-motion-sensor-tutorial/
ラベル:
Arduino,
Raspberry_Pi
2016年12月18日日曜日
[RaspberryPi]無線機能の付いていないラズパイをインターネットにつなぐ
Raspberry Pi Zero には OTG機能があります。
このOTG機能というのは、パソコンを介さずに通信することができるものですが、
実際に使ってみるとUSBでLANと同じことができるようになります。
もちろんIPアドレスが割り当ててインターネットの共有をすることも可能です。
身近でよく耳にするものでスマホのテザリングがあります。
テザリングはスマホでつなげているLTEや3G回線をパソコンで使えるようにする機能です。
実はこのテザリングはOTG機能を使ってるんです。
っていうことは、、
PCとRPi ZeroをつなげてPCにつながっているインターネット回線をRaspberryPiに分け合うことも、
スマホのテザリング機能を使ってRPi(Rpi3でも可能)にインターネット回線を使えるようにすることもできます。
ちなみにChromebookでも可能でした。
ポイントはOTG機能でUSBをLAN化するけど、DHCPが無いのでDHCPサーバーを建てなくては行けなかったり、IPが解決したらDNSでドメインネーム解決もしなくてはいけないので、これはRpiZero側のOTG機能を有効にしたとき、ホストPCでクライアントはZero側となるのでインターネット回線とDHCPサーバーはホストとクライアントがクロスするので注意です。
sudo mount /dev/mmcblk1p1 /mnt/stateful_partition/chroots/
sudo mount /dev/mmcblk1p1 /mnt/stateful_partition/chroots/sh
sudo mount /dev/mmcblk1p1 /mnt/stateful_partition/chroots/
参考サイト
http://www.raspi.jp/2016/07/pizero-usb-otg/
ラベル:
Raspberry_Pi
2016年12月11日日曜日
[Rpi]RaspberryPiにGoLangをインストールしてHugoを使ってみる。
Hugoを使ってみようと思います。
まずはインストールから。
$ sudo apt-get install golang -y
$ sudo vim .profile
一番下に追加
---
export GOPATH=/usr/share/go/
---
まずはインストールから。
$ sudo apt-get install golang -y
$ sudo vim .profile
一番下に追加
---
export GOPATH=/usr/share/go/
---
$ sudo go get github.com/spf13/hugo
ラベル:
Raspberry_Pi
2016年11月19日土曜日
[RaspberryPi]VisualStudioCodeをインストールする
armhf版のVisualStudioCodeをインストールする
VisualStudioCodeの公式サイトにはIntel版しか公開されていないので、RaspberryPiではそのままではインストールできません。
この回避方法としてHeadmelted版?でビルドされたdebパッケージが用意しているサイトがあります。このパッケージを利用して、apt-getでインストールする方法を以下に記載します。
これで起動できれば完了です。
ちなみに自前でビルドインストールは2016.11.18時点でエラーが出てうまくいかないのでご注意ください。
参考サイト
https://code.headmelted.com/#chromebook-header
VisualStudioCodeの公式サイトにはIntel版しか公開されていないので、RaspberryPiではそのままではインストールできません。
この回避方法としてHeadmelted版?でビルドされたdebパッケージが用意しているサイトがあります。このパッケージを利用して、apt-getでインストールする方法を以下に記載します。
- 必要なパッケージをインストール$ sudo apt-get install apt-transport-https -y
- インストール用スクリプトをダウンロード$ wget https://code.headmelted.com/installers/apt.sh
$ chmod +x apt.sh - インストール$ sudo ./apt.sh
- 起動
左上にあるラズメリーボタンを押して、プログラミング→Code-Oss
コマンドライン上で起動する場合、
$ code-oss
これで起動できれば完了です。
ちなみに自前でビルドインストールは2016.11.18時点でエラーが出てうまくいかないのでご注意ください。
参考サイト
https://code.headmelted.com/#chromebook-header
ラベル:
chromebook,
Raspberry_Pi
2016年10月11日火曜日
RaspberryPi Pixelにアップグレードしてみる
2016/09/23より raspbian pixelというOSイメージが公開されました。
pixelって画像ソフトでもなく、Googleの新しいスマホの製品名でもない
PIXEL (Pi Improved Xwindow Environment, Lightweight')
訳すと、PI向けに最適化した軽量XWindow環境 です。
ではさっそく今ある環境にインストールしてみます。
Raspbianの環境下で下記コマンドを実行する。
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install -y rpi-chromium-mods
# sense HATを持ってる人
sudo apt-get install -y python-sense-emu python3-sense-emu python-sense-emu-doc
# リモートデスクトップでVNC を使う人
sudo apt-get install -y realvnc-vnc-viewer
or
# リモートデスクトップでxrdpを使う人
sudo apt-get install -y xrdp
所感、XLDEのUIがマテリアル化された感じですかね。
pixelって画像ソフトでもなく、Googleの新しいスマホの製品名でもない
PIXEL (Pi Improved Xwindow Environment, Lightweight')
訳すと、PI向けに最適化した軽量XWindow環境 です。
ではさっそく今ある環境にインストールしてみます。
Raspbianの環境下で下記コマンドを実行する。
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install -y rpi-chromium-mods
# sense HATを持ってる人
sudo apt-get install -y python-sense-emu python3-sense-emu python-sense-emu-doc
# リモートデスクトップでVNC を使う人
sudo apt-get install -y realvnc-vnc-viewer
or
# リモートデスクトップでxrdpを使う人
sudo apt-get install -y xrdp
所感、XLDEのUIがマテリアル化された感じですかね。
ラベル:
Raspberry_Pi
2016年6月24日金曜日
[RaspberryPi]RpiをArduinoライターにする
色々試行錯誤してようやくできたでまとめて置く。
Step1.ソフトのインストール
$ sudo apt-get install bison automake autoconf flex git gcc
$ sudo apt-get install gcc-avr binutils-avr avr-libc
$ wget http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz
$ ./configure --prefix=/opt/avrdude --enable-linuxgpio
Step2.ソースの修正
なせかprintf("%ud",gpio) という部分で 数字d となって 文字列が正しく出ない問題があるので
linuxgpioのソース上にある %ud を全て %d に書き換える。
Step3. avrdude.confの修正
下図のようなピン配置にした場合、
まずソース内に入っているavrdude.confを開き、「linuxgpio」で検索して、以下の様に編集する。
------------------------------------------------------------
programmer
id = "linuxgpio";
desc = "Use the Linux sysfs interface to bitbang GPIO lines";
type = "linuxgpio";
reset = 12;
sck = 16;
mosi = 20;
miso = 21;
;
------------------------------------------------------------
![]() |
| avrマイコンを書き込む用のピンアサイン |
電源は3.3VとGNDを使う事。
(5Vでも良いが、RPI自身が3.3V/5Vトレラントでないので注意しておくと良い)
(5Vでも良いが、RPI自身が3.3V/5Vトレラントでないので注意しておくと良い)
もしDigisparkを使う場合は最後の行に以下の内容も追記しておく。
#------------------------------------------------------------
# ATtiny87
#------------------------------------------------------------
# Changes against ATtiny167 (beside IDs)
# memory "flash"
# size = 8192;
# num_pages = 64;
part
id = "t87";
desc = "ATtiny87";
has_debugwire = yes;
flash_instr = 0xB6, 0x01, 0x11;
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4,
0x00, 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB,
0xBF, 0x99, 0xF9, 0xBB, 0xAF;
## no STK500 devcode in XML file, use the ATtiny45 one
stk500_devcode = 0x14;
## avr910_devcode = ?;
## Try the AT90S2313 devcode:
avr910_devcode = 0x20;
signature = 0x1e 0x93 0x87;
reset = io;
chip_erase_delay = 1000;
pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
"x x x x x x x x x x x x x x x x";
chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
"x x x x x x x x x x x x x x x x";
timeout = 200;
stabdelay = 100;
cmdexedelay = 25;
synchloops = 32;
bytedelay = 0;
pollindex = 3;
pollvalue = 0x53;
predelay = 1;
postdelay = 1;
pollmethod = 0;
pp_controlstack =
0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
0x06, 0x16, 0x46, 0x56, 0x0A, 0x1A, 0x4A, 0x5A,
0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
hventerstabdelay = 100;
progmodedelay = 0;
latchcycles = 5;
togglevtg = 1;
poweroffdelay = 20;
resetdelayms = 1;
resetdelayus = 0;
hvleavestabdelay = 15;
chiperasepulsewidth = 0;
chiperasepolltimeout = 10;
programfusepulsewidth = 0;
programfusepolltimeout = 5;
programlockpulsewidth = 0;
programlockpolltimeout = 5;
idr = 0x00;
spmcr = 0x57;
allowfullpagebitstream = no;
memory "eeprom"
size = 512;
paged = no;
page_size = 4;
min_write_delay = 4000;
max_write_delay = 4500;
readback_p1 = 0xff;
readback_p2 = 0xff;
read = "1 0 1 0 0 0 0 0 0 0 x x x x x a8",
"a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
write = "1 1 0 0 0 0 0 0 0 0 x x x x x a8",
"a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
loadpage_lo = " 1 1 0 0 0 0 0 1",
" 0 0 0 0 0 0 0 0",
" 0 0 0 0 0 0 a1 a0",
" i i i i i i i i";
writepage = " 1 1 0 0 0 0 1 0",
" 0 0 x x x x x x",
" 0 0 a5 a4 a3 a2 0 0",
" x x x x x x x x";
mode = 0x41;
delay = 10;
blocksize = 4;
readsize = 256;
;
memory "flash"
paged = yes;
size = 8192;
page_size = 128;
num_pages = 64;
min_write_delay = 4500;
max_write_delay = 4500;
readback_p1 = 0xff;
readback_p2 = 0xff;
read_lo = " 0 0 1 0 0 0 0 0",
" 0 0 0 a12 a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";
read_hi = " 0 0 1 0 1 0 0 0",
" 0 0 0 a12 a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";
loadpage_lo = " 0 1 0 0 0 0 0 0",
" 0 0 0 x x x x x",
" x x a5 a4 a3 a2 a1 a0",
" i i i i i i i i";
loadpage_hi = " 0 1 0 0 1 0 0 0",
" 0 0 0 x x x x x",
" x x a5 a4 a3 a2 a1 a0",
" i i i i i i i i";
writepage = " 0 1 0 0 1 1 0 0",
" 0 0 0 0 a11 a10 a9 a8",
" a7 a6 a5 x x x x x",
" x x x x x x x x";
mode = 0x41;
delay = 10;
blocksize = 64;
readsize = 256;
;
# ATtiny87 has Signature Bytes: 0x1E 0x93 0x87.
memory "signature"
size = 3;
read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
"x x x x x x a1 a0 o o o o o o o o";
;
memory "lock"
size = 1;
write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
"x x x x x x x x x x x x x x i i";
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
"0 0 0 0 0 0 0 0 o o o o o o o o";
min_write_delay = 9000;
max_write_delay = 9000;
;
memory "lfuse"
size = 1;
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
"x x x x x x x x i i i i i i i i";
read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
"x x x x x x x x o o o o o o o o";
min_write_delay = 9000;
max_write_delay = 9000;
;
memory "hfuse"
size = 1;
write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
"x x x x x x x x i i i i i i i i";
read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
"x x x x x x x x o o o o o o o o";
min_write_delay = 9000;
max_write_delay = 9000;
;
memory "efuse"
size = 1;
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
"x x x x x x x x x x x x x x x i";
read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
"x x x x x x x x o o o o o o o o";
min_write_delay = 9000;
max_write_delay = 9000;
;
memory "calibration"
size = 1;
read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
"0 0 0 0 0 0 0 a0 o o o o o o o o";
;
;
#------------------------------------------------------------
# ATtiny167
#------------------------------------------------------------
part
id = "t167";
desc = "ATtiny167";
has_debugwire = yes;
flash_instr = 0xB6, 0x01, 0x11;
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4,
0x00, 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB,
0xBF, 0x99, 0xF9, 0xBB, 0xAF;
## no STK500 devcode in XML file, use the ATtiny45 one
stk500_devcode = 0x14;
## avr910_devcode = ?;
## Try the AT90S2313 devcode:
avr910_devcode = 0x20;
signature = 0x1e 0x94 0x87;
reset = io;
chip_erase_delay = 1000;
pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
"x x x x x x x x x x x x x x x x";
chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
"x x x x x x x x x x x x x x x x";
timeout = 200;
stabdelay = 100;
cmdexedelay = 25;
synchloops = 32;
bytedelay = 0;
pollindex = 3;
pollvalue = 0x53;
predelay = 1;
postdelay = 1;
pollmethod = 0;
pp_controlstack =
0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
0x06, 0x16, 0x46, 0x56, 0x0A, 0x1A, 0x4A, 0x5A,
0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
hventerstabdelay = 100;
progmodedelay = 0;
latchcycles = 5;
togglevtg = 1;
poweroffdelay = 20;
resetdelayms = 1;
resetdelayus = 0;
hvleavestabdelay = 15;
chiperasepulsewidth = 0;
chiperasepolltimeout = 10;
programfusepulsewidth = 0;
programfusepolltimeout = 5;
programlockpulsewidth = 0;
programlockpolltimeout = 5;
idr = 0x00;
spmcr = 0x57;
allowfullpagebitstream = no;
memory "eeprom"
size = 512;
paged = no;
page_size = 4;
min_write_delay = 4000;
max_write_delay = 4500;
readback_p1 = 0xff;
readback_p2 = 0xff;
read = "1 0 1 0 0 0 0 0 0 0 x x x x x a8",
"a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
write = "1 1 0 0 0 0 0 0 0 0 x x x x x a8",
"a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
loadpage_lo = " 1 1 0 0 0 0 0 1",
" 0 0 0 0 0 0 0 0",
" 0 0 0 0 0 0 a1 a0",
" i i i i i i i i";
writepage = " 1 1 0 0 0 0 1 0",
" 0 0 x x x x x x",
" 0 0 a5 a4 a3 a2 0 0",
" x x x x x x x x";
mode = 0x41;
delay = 10;
blocksize = 4;
readsize = 256;
;
memory "flash"
paged = yes;
size = 16384;
page_size = 128;
num_pages = 128;
min_write_delay = 4500;
max_write_delay = 4500;
readback_p1 = 0xff;
readback_p2 = 0xff;
read_lo = " 0 0 1 0 0 0 0 0",
" 0 0 0 a12 a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";
read_hi = " 0 0 1 0 1 0 0 0",
" 0 0 0 a12 a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" o o o o o o o o";
loadpage_lo = " 0 1 0 0 0 0 0 0",
" 0 0 0 x x x x x",
" x x a5 a4 a3 a2 a1 a0",
" i i i i i i i i";
loadpage_hi = " 0 1 0 0 1 0 0 0",
" 0 0 0 x x x x x",
" x x a5 a4 a3 a2 a1 a0",
" i i i i i i i i";
writepage = " 0 1 0 0 1 1 0 0",
" 0 0 0 0 a11 a10 a9 a8",
" a7 a6 a5 x x x x x",
" x x x x x x x x";
mode = 0x41;
delay = 10;
blocksize = 64;
readsize = 256;
;
# ATtiny167 has Signature Bytes: 0x1E 0x94 0x87.
memory "signature"
size = 3;
read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
"x x x x x x a1 a0 o o o o o o o o";
;
memory "lock"
size = 1;
write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
"x x x x x x x x x x x x x x i i";
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
"0 0 0 0 0 0 0 0 o o o o o o o o";
min_write_delay = 9000;
max_write_delay = 9000;
;
memory "lfuse"
size = 1;
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
"x x x x x x x x i i i i i i i i";
read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
"x x x x x x x x o o o o o o o o";
min_write_delay = 9000;
max_write_delay = 9000;
;
memory "hfuse"
size = 1;
write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
"x x x x x x x x i i i i i i i i";
read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
"x x x x x x x x o o o o o o o o";
min_write_delay = 9000;
max_write_delay = 9000;
;
memory "efuse"
size = 1;
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
"x x x x x x x x x x x x x x x i";
read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
"x x x x x x x x o o o o o o o o";
min_write_delay = 9000;
max_write_delay = 9000;
;
memory "calibration"
size = 1;
read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
"0 0 0 0 0 0 0 a0 o o o o o o o o";
;
;
Step4.ビルド&インストール
$ make
$ sudo make install
Step5.配線
Digispark ATTiny85の場合は、
D0―MOSI
D1―MISO
D2―SCK
D5―RESET
Digispark pro ATTiny167の場合は、
PA2―MISO
PA4―MOSI
PA5―SCK
PB7―RESET
接続する時の注意ですが、MISO/MOSIはクロス接続にすること。
ストレート接続すると、TX-TX、RX-TXみたいな具合になって通信できません。
Step6.動作確認結果
$ sudo avrdude -c linuxgpio -pt167
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9487 (probably t167)
avrdude: safemode: Fuses OK (E:FE, H:DD, L:DF)
avrdude done. Thank you.
以上まとめでした。
ラベル:
Arduino,
Raspberry_Pi
2016年6月4日土曜日
[RaspberryPi]TS動画をインタレ保持リサイズしてDVDサイズで保存する方法
2016.06.01時点で最新のffmpegはRPiのh264ハードウェアエンコに対応してます。
ってことでlibfdk_aacを追加してffmpegをコンパイル。
タイトルにある通り、インターレースを保持しつつリサイズしてMpeg2からMpeg4にトランスコードしたい。(Chromebookで動画を観たいため)
ということでコマンドを色々調べて見つけた決定版はコレ↓
ffmpeg -c:a libfdk_aac -i 動画名.ts -vf yadif=1,tinterlace=4 -c:v h264_omx -s 720x540 -c:a libfdk_
aac -b:v 2500k -aspect 16:9 -q:a 128 -ar 44100 -vsync 1 -threads 0 -flags +ilme+ildct -y 保存名.mp4
エンコ時間の目安ですが、RPi1だと0.7fps、RPi2だと1fps、RPi3だと5fpsくらいでした。
24時間稼働させるから気にならないよね。。
ってことでlibfdk_aacを追加してffmpegをコンパイル。
タイトルにある通り、インターレースを保持しつつリサイズしてMpeg2からMpeg4にトランスコードしたい。(Chromebookで動画を観たいため)
ということでコマンドを色々調べて見つけた決定版はコレ↓
ffmpeg -c:a libfdk_aac -i 動画名.ts -vf yadif=1,tinterlace=4 -c:v h264_omx -s 720x540 -c:a libfdk_
aac -b:v 2500k -aspect 16:9 -q:a 128 -ar 44100 -vsync 1 -threads 0 -flags +ilme+ildct -y 保存名.mp4
エンコ時間の目安ですが、RPi1だと0.7fps、RPi2だと1fps、RPi3だと5fpsくらいでした。
24時間稼働させるから気にならないよね。。
ラベル:
Raspberry_Pi
2016年4月20日水曜日
[RaspberryPi]RpiでツイッターBotを作る
[RaspberryPi]RpiでツイッターBotを作る
【Bot用アカウント作成編】
Step1.Twitterアカウントの作成
https://twitter.com/
※電話認証は済ませておくこと。
Step2.アプリ登録
https://dev.twitter.com/apps/
PermissionでAccessをRead and write にチェックを入れて、Update Settingsする。
Step3.APIKeyとシークレットキーを取得する。
Keys and Access Tokensタブを開くと、Application Settingsに記載してあるキーをメモしておく。
【RPi環境構築編】
Step1.環境構築
$ sudo pip install twython requests requests_oauthlib
Step2.Botアプリ用フォルダを作成
$ mkdir twitterBot
$ cd twitterBot
$ vim TempBot.py
----
#!/usr/bin/env python
#coding:utf-8
import os
from twython import Twython
#Twitterアカウントの認可情報
CONSUMER_KEY = ‘Consumer key’
CONSUMER_SECRET = ‘Consumer secret’
ACCESS_KEY = ‘Access token’
ACCESS_SECRET = ‘Access token secret’
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
#Raspbianの制御コマンド(vcgencmd)を実行
cmd = ‘/opt/vc/bin/vcgencmd measure_temp’
line = os.popen(cmd).readline().strip()
temp = line.split(‘=’)[1].split(“‘”)[0]
#取得したCPU温度を投稿
api.update_status(status=’CPU no ondo ha ‘+temp+’do desu ‘)
----
$ sudo chmod +x TempBot.py
Step3.実行する
$ ./TempBot.py
参考URL
http://pettomo.azurewebsites.net/?p=4101
【Bot用アカウント作成編】
Step1.Twitterアカウントの作成
https://twitter.com/
※電話認証は済ませておくこと。
Step2.アプリ登録
https://dev.twitter.com/apps/
PermissionでAccessをRead and write にチェックを入れて、Update Settingsする。
Step3.APIKeyとシークレットキーを取得する。
Keys and Access Tokensタブを開くと、Application Settingsに記載してあるキーをメモしておく。
【RPi環境構築編】
Step1.環境構築
$ sudo pip install twython requests requests_oauthlib
Step2.Botアプリ用フォルダを作成
$ mkdir twitterBot
$ cd twitterBot
$ vim TempBot.py
----
#!/usr/bin/env python
#coding:utf-8
import os
from twython import Twython
#Twitterアカウントの認可情報
CONSUMER_KEY = ‘Consumer key’
CONSUMER_SECRET = ‘Consumer secret’
ACCESS_KEY = ‘Access token’
ACCESS_SECRET = ‘Access token secret’
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
#Raspbianの制御コマンド(vcgencmd)を実行
cmd = ‘/opt/vc/bin/vcgencmd measure_temp’
line = os.popen(cmd).readline().strip()
temp = line.split(‘=’)[1].split(“‘”)[0]
#取得したCPU温度を投稿
api.update_status(status=’CPU no ondo ha ‘+temp+’do desu ‘)
----
$ sudo chmod +x TempBot.py
Step3.実行する
$ ./TempBot.py
参考URL
http://pettomo.azurewebsites.net/?p=4101
ラベル:
Python,
Raspberry_Pi
2016年3月9日水曜日
[RaspberryPi]日本語が文字化けした時の対処方法+Chromiumのインストール
1.Raspi-configの設定
「Innternnatiolisation Options」
↓
Change Locale
Change Locale
↓
ja_JP.UTF-8をチェックしてデフォルト言語に選択
ja_JP.UTF-8をチェックしてデフォルト言語に選択
2.日本語化アプリのインストール
$ sudo apt-get install -y ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname uim uim-anthy jfbterm
3.Chromiumをインストール
$ wget http://launchpadlibrarian.net/199573270/chromium-browser_41.0.2272.76-0ubuntu0.14.04.1.1076_armhf.deb
$ wget http://launchpadlibrarian.net/199573282/chromium-codecs-ffmpeg-extra_41.0.2272.76-0ubuntu0.14.04.1.1076_armhf.deb
$ wget http://launchpadlibrarian.net/199573279/chromium-codecs-ffmpeg_41.0.2272.76-0ubuntu0.14.04.1.1076_armhf.deb
$ wget http://launchpadlibrarian.net/199549151/chromium-browser-l10n_41.0.2272.76-0ubuntu0.14.04.1.1076_all.deb
$ sudo dpkg -i chromium-browser_41.0.2272.76-0ubuntu0.14.04.1.1076_armhf.deb chromium-codecs-ffmpeg_41.0.2272.76-0ubuntu0.14.04.1.1076_armhf.deb chromium-codecs-ffmpeg-extra_41.0.2272.76-0ubuntu0.14.04.1.1076_armhf.deb chromium-browser-l10n_41.0.2272.76-0ubuntu0.14.04.1.1076_all.deb
参照URL
http://start-now.link/100/archives/1930
ラベル:
Raspberry_Pi
2016年3月8日火曜日
[RaspberryPi]VPNServerを立てる
VPNサーバーとは
外部から安全に特定のネットワークへアクセスするサービスを提供するサーバーの事です。
どういう時に導入するの?
外から自宅のネットワークにアクセスしたい時などは直接複数のポートを開けば良いのだが
セキュリティーホールは開いたポート先のサービス毎に存在することになるので管理が大変だが
VPNサーバーを立てると、外から見えるのはVPNサーバーのポート1つだけになるので
セキュリティーホールはVPNサーバー1つだけとなり、管理がしやすく安全になります。
1.SoftEtherをダウンロードする。
にアクセスして、
SoftEhter VPN(Freeware)
↓
SoftEhter VPN Server
↓
Linux
↓
ARM EABI(32bit)
を選び、最新イメージのダウンロードURLをコピーする。
$ wget http://jp.softether-download.com/files/softether/v4.19-9605-beta-2016.03.06-tree/Linux/SoftEther_VPN_Server/32bit_-_ARM_EABI/softether-vpnserver-v4.19-9605-beta-2016.03.06-linux-arm_eabi-32bit.tar.gz
$ tar zxf softether-vpnserver-v4.19-9605-beta-2016.03.06-linux-arm_eabi-32bit.tar.gz
$ cd vpnserver
2.コンパイルする。
$ sudo make
~ライセンスについて聞かれるので承諾する。~
2.起動時に実行するように設定する。
まずはvpnserverをシステム側に移動させる
$ cd ..
$ sudo mv vpnserver /usr/local/
$ cd /usr/local/vpnserver
$ sudo chmod 600 *
$ sudo chmod 700 vpncmd
$ sudo chmod 700 vpmserver
次に起動に必要なファイルを作成
$ sudo vim /etc/init.d/vpnserver
#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SoftEther VPN 1.0 RC2
# Description: Start vpnserver daemon SoftEther VPN 1.0 Server
### END INIT INFO
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver
. /lib/lsb/init-functions
test -x $DAEMON || exit 0
case "$1" in
start)
sleep 3
log_daemon_msg "Starting SoftEther VPN 1.0 Server" "vpnserver"
$DAEMON start >/dev/null 2>&1
touch $LOCK
log_end_msg 0
sleep 3
;;
stop)
log_daemon_msg "Stopping SoftEther VPN 1.0 Server" "vpnserver"
$DAEMON stop >/dev/null 2>&1
rm $LOCK
log_end_msg 0
sleep 2
;;
restart)
$DAEMON stop
sleep 2
$DAEMON start
sleep 5
;;
status)
if [ -e $LOCK ]
then
echo "vpnserver is running."
else
echo "vpnserver is not running."
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
$ sudo vim /etc/systemd/system/vpnserver.service
[Unit] Description=SoftEther VPN Server After=network.target [Service] Type=forking ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target
$ sudo chmod +x /etc/init.d/vpnserver
$ sudo systemctl start vpnserver
$ sudo systemctl enable vpnserver
3.ブリッジする
$ sudo apt-get install bridge-utils
$ sudo vim /etc/network/interfaces
# loopback auto lo iface lo inet loopback # Ethernet port auto eth0 iface eth0 inet manual # Bridge interface auto br0 iface br0 inet dhcp bridge_ports eth0 #その他 allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
4.再起動して自動起動しているか確認する。
$ sudo reboot
$ sudo service vpnserver status
5.外からアクセスできるようルータ側の設定を行う
SoftEhterは
TCPの449と2222
UDPの500と4500
を使うのでポートを開けておく。
参考URL
ラベル:
Raspberry_Pi
2016年3月4日金曜日
[RaspberryPi]Asteriskを使う(3)Systemdで起動設定編
Jessieだとinitではなくsystemdになっていてインストール時にサービス登録されているのかな?って調べてみると登録されていなかった。。
ということで起動時にasteriskが立ち上がるように設定する事にした。
参考にしたサイトはここ。
http://www.voip-info.jp/index.php/BeagleBone_Black_Asterisk
$ cd /etc/systemd/system
$ sudo vim asterisk.service
---
$ sudo ln -s /usr/lib/systemd/
$ sudo ln -s /usr/lib/systemd/
$ sudo ln -s /lib/systemd/system/asterisk.service /etc/systemd/system/multi-user.target.wants/asterisk.service
$ sudo systemctl enable asterisk
$ sudo systemctl start asterisk
ということで起動時にasteriskが立ち上がるように設定する事にした。
参考にしたサイトはここ。
http://www.voip-info.jp/index.php/BeagleBone_Black_Asterisk
$ cd /etc/systemd/system
$ sudo vim asterisk.service
---
[Unit] Description=Asterisk Open Source PBX After=network.target [Service] Type=forking ExecStart=/usr/sbin/asterisk -U asterisk -G asterisk [Install] WantedBy=multi-user.target---
$ sudo ln -s /usr/lib/systemd/
$ sudo ln -s /usr/lib/systemd/
$ sudo ln -s /lib/systemd/system/asterisk.service /etc/systemd/system/multi-user.target.wants/asterisk.service
$ sudo systemctl enable asterisk
$ sudo systemctl start asterisk
再起動して以下のコマンドで動作しているか確認。
ps -ef|grep asterisk systemctl|grep asterisk
ラベル:
Raspberry_Pi
[RaspberryPi]Asteriskを使う(2)G729インストール編
音声コーデックG729をインストールする。
参考にしたサイトは以下のところです。
https://smallhacks.wordpress.com/2014/01/13/using-asterisk-g-729-with-asterisk-on-raspberry-pi-or-other-arm-device/
http://www.adeleda.com/compiling-g729-codecs-for-arm-on-raspberry-pi-b-with-bcg729-en.html
https://disqus.com/home/discussion/adeleda/compiling_g729_codecs_for_arm_on_raspberry_pi_b_with_bcg729/
それらをまとめて一発でインストールできるようにした手順は以下の通り。
sudo wget http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/bcg729-1.0.1.tar.gz
sudo ./configure --libdir=/lib
sudo make
sudo make install
sudo wget http://asterisk.hosting.lv/src/asterisk-g72x-1.3.tar.bz2
sudo bzip2 -dc asterisk-g72x-1.3.tar.bz2 | sudo tar xvf -
sudo apt-get install autoconf automake libtool autoconf-doc libtool-doc
cd asterisk-g72x-1.3
sudo ./autogen.sh
sudo ./configure --with-bcg729 --with-asterisk-includes=/usr/include --with-asterisk130
sudo make
sudo make install
最後は動作確認
asterisk -vvvvr
# core restart gracefully
これでG729の項目が表示されていればOK。
ラベル:
Raspberry_Pi
[Raspberrypi]Asteriskを使う(1)インストール編
asteriskを使う
簡単にインストールする場合は
apt-get install asterisk -y
でインストールできるんだけど光電話パッチを入れたりしたかったので
2016.03.03時点の最新ソースからビルドを行ってみた。
http://www.voip-info.jp/index.php/Asterisk_13
上記リンクを参考に進めようと思うが、
記事の内容はredhat向けに書かれているで、本記事でdebian向けに書きなおした
インストール手順を書いていく。
(光電話パッチは2014年時点のものでも問題なくパッチ当てができました)
sudo apt-get install -y subversion libncurses5-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libbluetooth-dev
sudo apt-get install -y libsqlite3-dev libncurses5-dev bison libssl-dev libnewt-dev zlib1g-dev procps gcc make binutils doxygen g++ libxml2-dev
sudo groupadd -g 5060 asterisk
sudo useradd -g 5060 -u 5060 -d /var/lib/asterisk -s /sbin/nologin asterisk
cd /usr/local/src/
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
sudo tar zxf asterisk-13.7.2.tar.gz
cd asterisk-13.7.2/
sudo wget http://ftp.voip-info.jp/asterisk/patch/local/13/chan_sip_hikarihgw.141202-01.patch
sudo patch -p0 < chan_sip_hikarihgw.141202-01.patch
sudo ./contrib/scripts/get_mp3_source.sh
sudo ./contrib/scripts/get_swagger_ui.sh
sudo ./configure
日本語音声ファイルをインストールする
sudo make menuselect
sudo make
sudo make install
sudo make sample
sudo make config
自動起動になっているか確認
sudo chkconfig asterisk --list
この後はG.729コーデックのインストールとか初期設定編へと続く。
簡単にインストールする場合は
apt-get install asterisk -y
でインストールできるんだけど光電話パッチを入れたりしたかったので
2016.03.03時点の最新ソースからビルドを行ってみた。
http://www.voip-info.jp/index.php/Asterisk_13
上記リンクを参考に進めようと思うが、
記事の内容はredhat向けに書かれているで、本記事でdebian向けに書きなおした
インストール手順を書いていく。
(光電話パッチは2014年時点のものでも問題なくパッチ当てができました)
sudo apt-get install -y subversion libncurses5-dev uuid-dev libjansson-dev libxml2-dev libsqlite3-dev libbluetooth-dev
sudo apt-get install -y libsqlite3-dev libncurses5-dev bison libssl-dev libnewt-dev zlib1g-dev procps gcc make binutils doxygen g++ libxml2-dev
sudo groupadd -g 5060 asterisk
sudo useradd -g 5060 -u 5060 -d /var/lib/asterisk -s /sbin/nologin asterisk
cd /usr/local/src/
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
sudo tar zxf asterisk-13.7.2.tar.gz
cd asterisk-13.7.2/
sudo wget http://ftp.voip-info.jp/asterisk/patch/local/13/chan_sip_hikarihgw.141202-01.patch
sudo patch -p0 < chan_sip_hikarihgw.141202-01.patch
sudo ./contrib/scripts/get_mp3_source.sh
sudo ./contrib/scripts/get_swagger_ui.sh
sudo ./configure
日本語音声ファイルをインストールする
sudo make menuselect
sudo make
sudo make install
sudo make sample
sudo make config
自動起動になっているか確認
sudo chkconfig asterisk --list
この後はG.729コーデックのインストールとか初期設定編へと続く。
ラベル:
Raspberry_Pi
2016年3月2日水曜日
[RaspberryPi]有機液晶OLED SSD1331を使ってみる

RaspberryPiで何かいい液晶がないか探してみたら
SPI通信で表示できる有機液晶SSD1331というものを見つけた。
値段は送料込みで11$くらいなので1300円くらい。
製品仕様
サイズ:0.96インチ
解像度:96*64
発色:65k
ドライバIC:ssd1331
ピン配置GND: Power ground
VCC:2.8-5.5V power supply
D0: CLK clock
D1: MOSI data
RST: Reset
DC: data / command
CS: chip-select signal
誰かサンプルプログラムを書いていないか検索してみたら、やはりいました。
https://www.raspberrypi.org/forums/viewtopic.php?t=126811&p=871760
ここから行き着いた先はGithub
【配線図】
RaspberryPiのピンの始まりを間違えないように確認して、

液晶とこんな感じに接続する。
完全なSPI通信出ない気がするけど、今回は動作確認なので同じ配線にする。
GithubにあるPythonのソースコードをダウンロードして
$ python clock.py
実行してみると、、、
動いたー!
初期不良じゃなくてよかった。
しかも結構明るくて良い。
あとなぜか電源ラインVCCを外してもそれなりに画面写ってました(笑)
ラベル:
Raspberry_Pi
2016年2月29日月曜日
ラズベリーパイ4周年記念にRaspberry Pi3 Model B debut!
ラズベリーパイが4周年記念ということでRaspberryZero出て半年も立たずに次も出るのRaspberryPi3が出てきた。
今回の目玉は、、、
・Wifi 2.4GHz搭載
→今まで占有してたUSBポートが1つ空きます。
・Bluetooth4.1搭載
→Bluetooth対応キーボードやマウスがそのまま流用できそう
・CPUがCortex-A7からCortex-A53へアップグレード
単純に言えば64Bit対応になった事が一番大きい。
どの程度の性能かというと初期のAtomより少し高く肩を並べるくらい。
変化点を見ていくと、、、
→Cortex-A53とは、2012年にbig.LITTLEコアで省エネと高パフォーマンスを両立しようと
打ち出された省エネ側のCPUコアである。
→SIMD命令のNEONに対応などがされている。
→64Bit命令セットを対応することで、64Bitバイナリを実行するときは、
32Bit命令セットの負債を捨ててよりシンプルな構成になるので若干の速度アップがあるかも。
→アーキテクチャ側の変更でインオーダー処理している部分が今までは同時2発行が
限定的だったが、限定的でなくなるので処理性能がアップする。(若干)
・消費電力がアップ
→推奨が5V2.5Aなので、タブレット以上の電源が必要になりそう。
性能も上がって無線機能も標準搭載して値段は据え置き。
また5000円代で買えるのが嬉しい。
販売はRSコンポーネントかPimoroniで行うのでZEROが入手出来ないけど
手元にあるRPiのバージョンアップという名目で1つどうでしょうか。
個人的には
RaspberryPi3 もしくは
RaspberryPi Zero + ESP6288(Wifi+GPIO) or ESP32(Wifi+BTLE) という
メインCPUにRPI 、UI側を担当
サブCPUにESP5288で通信処理もお任せするような構成もいいかなと思う。
ラベル:
Raspberry_Pi
2015年12月27日日曜日
[RPi]AndroidSDKをインストールする
以前、1からビルドする方法を紹介しました。
今回はもっと楽にビルド済みのandroid-sdk-linuxを利用してセットアップを行います。
SDKをダウンロードする
https://developer.android.com/intl/ja/sdk/index.html#Other
上記URLの中からLinux版のを探してwgetする。
$ cd
$ wget http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz
格納ディレクトリを作成&android-sdk-linuxを格納する
$ mkdir /opt/java/
$ tar zxf android-sdk-linux.tgz
$ sudo mv android-sdk-linux /opt/java/
swt.jarの元をインストールしてショートカット作成
$ vim ~/.profile
最後の行に追記する
---
export PATH=/opt/java/android-sdk-linux/tools:$PATH
export PATH=/opt/java/android-sdk-linux/platform-tools:$PATH
export ANDROID_HOME=/opt/java/android-sdk-linux
---
アップデート実行
/opt/java/android-sdk-linux/tools/android --no-ui
これでSDKのインストールは完了です。
参考URL
http://www.timelesssky.com/blog/develop-app-on-android-with-android-sdk
今回はもっと楽にビルド済みのandroid-sdk-linuxを利用してセットアップを行います。
SDKをダウンロードする
https://developer.android.com/intl/ja/sdk/index.html#Other
上記URLの中からLinux版のを探してwgetする。
$ cd
$ wget http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz
格納ディレクトリを作成&android-sdk-linuxを格納する
$ mkdir /opt/java/
$ tar zxf android-sdk-linux.tgz
$ sudo mv android-sdk-linux /opt/java/
swt.jarの元をインストールしてショートカット作成
1 sudo apt-get install libswt-gtk-3-java libswt-cairo-gtk-3-jni 2 cd /opt/java/android-sdk-linux/tools/lib 3 mkdir arm 4 cd arm 5 ln -s /usr/lib/java/swt-gtk-3.8.2.jar swt.jarPATH設定
$ vim ~/.profile
最後の行に追記する
---
export PATH=/opt/java/android-sdk-linux/tools:$PATH
export PATH=/opt/java/android-sdk-linux/platform-tools:$PATH
export ANDROID_HOME=/opt/java/android-sdk-linux
---
アップデート実行
/opt/java/android-sdk-linux/tools/android --no-ui
これでSDKのインストールは完了です。
参考URL
http://www.timelesssky.com/blog/develop-app-on-android-with-android-sdk
ラベル:
Raspberry_Pi
2015年12月10日木曜日
[RPi]SQLiteをWEBブラウザ上で編集したい
http://sourceforge.net/projects/sqlitemanager/
これをインストールすればよい。
文字化けする場合は「./lang/japanese.inc.php」ファイルの10行目当たりにある文字コードを、
【変更前】$charset = 'euc-jp';
$langSuffix = 'ja-euc';
【変更後】$charset = 'utf-8';
$langSuffix = 'ja-utf-8';
参考URL:
http://taitan916.info/blog/?p=1907
ラベル:
debian,
Raspberry_Pi
[RPi]ネットワークのIP更新を行う
固定IPアドレスを更新したい時がある。
毎回再起動するのも時間かかるので、特定のLANアダプタだけ更新する方法があったのでメモ。
$ sudo /sbin/ifdown eth0
$ sudo /sbin/ifup eth0
毎回再起動するのも時間かかるので、特定のLANアダプタだけ更新する方法があったのでメモ。
$ sudo /sbin/ifdown eth0
$ sudo /sbin/ifup eth0
ラベル:
debian,
Raspberry_Pi
登録:
投稿 (Atom)

