2018年3月1日木曜日

Setup PiTFT3.5 on Stretch

ロボットのUIは、タッチパネルがなんといってもダントツに良い。
紆余曲折があり、Adafruit PiTFT3.5を一点だけ除けば満足して使っている。
一番の良いのは、タッチパネルで使っているGPIO以外が使える事。
だから、I2Cなどのセンサが活用できる。これは、以外に重要なポイントなんです。

一点だけ除くと書いたのは、Easy InstallのモジュールがJessieって事。
ところが、、、
なんと、Device Treeの導入でStretchでも動くとな、、、
「感謝の記事」は、こちら、、、

https://qiita.com/hishi/items/bdd630666277e4f8162a

おかげで、こんな感じで使えるようになりました。



注意点(1)
この説明と違うの所は、僕が使っているのは3.5inchなので/boot/config.txtのこの設定。

dtoverlay=pitft35-resistive,rotate=90,speed=62000000,fps=25

画面も90度回転して電源が下になり、これも良し!
満足満足、、、
この数値の説明は、下記Adafruitページの中ほど、、、

https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/help-faq

注意点(2)
sudo rmmod stmpe_ts; sudo modprobe stmpe_ts

のあとは、sudo rebootが必要

ただ、ちょっと不明な点が多くて、安定しないかも、、、

Peace!!

2018年2月24日土曜日

いつも隣に、死がある

20代で余命宣言されて、、、

いろいろあり、

まずは、40まで生きる事

そして、次は60まで生きる事

そんな人生を僕は送って来た

ただ、予感は60

だから、どう考えても、それ以降が

脳みそのなかでデッドロック状態

バカでかいコンクリートブロックが、思考を進ませない

でも、常に死を意識していたから、何気に納得しているかも、、、

世の中で、絶対は、生きている人間には、死だけ

母が言っていた

絶対の世界に、行くのは確実

残された人が困らないように、

かたずけが、この半年の仕事

2018年2月7日水曜日

memo : Repeat on the command line

個人的なメモ、、、
コマンドラインで繰り返し処理をする。


while true; do date; sleep 1s; done
i=1; while [ $i -le 10 ]; do echo $i; i=$(expr $i + 1);done
watch -n 1 date

Peace!!

2018年2月6日火曜日

An installation of opencv2.4.13.5 on raspberry Pi

raspberry piでopencv 通常にインストール(apt-get) すると
なんと、2.4.9という4年前のモノ

なんでなんだろう。。。

そんな事より、都合で2.4.X使いたいので、buildしてインストールする。
現時点は、2.4.13.5。

いろいろ面倒な事をしたくなので、通常通りにインストール
sudo apt-get -y install libopencv-dev

これにかぶせる形で、インストールする
C言語だけしか使わないので余計なものはインストールしない
とは言っても、最初の通常インストールは意味なかったりして。
wget https://github.com/opencv/opencv/archive/2.4.13.5.zip
unzip 2.4.13.5.zip

cd opencv-2.4.13.5
mkdir build
cd build

sudo apt-get install -y build-essential git cmake pkg-config cmake-qt-gui mesa-utils  libgl1-mesa-dri libjpeg-dev libtiff5-dev libpng12-dev libjasper-dev  libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk2.0-dev libprotobuf-dev protobuf-compiler  libatlas-base-dev gfortran libeigen3-dev libv4l-dev python3-dev libqtgui4 libqt4-test libqt4-opengl-dev libvtk6-dev

cmake -D CMAKE_BUILD_TYPE=RELEASE      -D CMAKE_INSTALL_PREFIX=/usr/local      -D INSTALL_PYTHON_EXAMPLES=OFF       -D ENABLE_NEON=ON      -D WITH_TBB=OFF -D BUILD_TBB=OFF       -D WITH_QT=OFF -D WITH_OPENGL=OFF      -D BUILD_opencv_freetype=OFF      -D BUILD_EXAMPLES=OFF -D WITH_VTK=ON ..

make -j4
sudo ldconfig

例の如く小一時間





2.4.13.5 だす
cd samples/c
./build_all.sh
./facedetect  --cascade="../../data/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 ./lena.jpg


Peace!!

2018年2月1日木曜日

A setting realvnc server

今まで、気が付かなったけどVNCサーバが標準でインストールされている。
使う使わないは、raspi-config  で設定
ただ、デフォルトの画面サイズだと、拒否感満載
画面サイズのは変更方法
因みに新たにインストールする時は、、、
    sudo apt-get install realvnc-vnc-server
     sudo systemctl enable vncserver-x11-serviced.service
     sudo systemctl start vncserver-x11-serviced.service

https://elinux.org/RPiconfig#Video_mode_options

ここを参考に下記リストを参照して /boot/config.txt に赤字を追加する
画面の大きさは、hdmi_modeで設定
hdmi_mode=82 1080p 60 Hz

hdmi_mode=42   1400x1050  60 Hz
160206追記はじめ
OpenGLのドライバーを有効にすると、画面サイズがデフォルト画面になってしまう。従って、RealVNCを使うときは、OpenGLドライバーとdisableする。
赤字部分。下のconfig.txtの下記部分を比較して設定する事。
画面の感じは、85番が一番よいかも。。。

hdmi_ignore_edid=0xa5000080
hdmi_group=2
# RealVNC setting
# when  use RealVNC, OpenGL driver disable as below
# dtoverlay=vc4-kms-v3d
# 16 1024x768  60Mhz
# 42 1400x1050 60Mhz
# 82 1080
# 85 720p
hdmi_mode=85

160206追記終わり

sudo vi /boot/config.txt
cat /boot/config.txt
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=85

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
#dtparam=audio=on
# dtoverlay=i2s-mmap
dtoverlay=googlevoicehat-soundcard
# dtoverlay=googlevisionbonnet-myriad
# dtoverlay=aiy-io
# dtoverlay=aiy-leds
start_x=1
gpu_mem=128
# dtoverlay=dwc2

Peace!!


2018年1月30日火曜日

Google AIY Project Voice Kit (Photo only)

2台購入したので、さっそく組立、、、20分位/台
まだ動かないけど、写真だけアップ

意外と小さい

Peace!!



2018年1月17日水曜日

Learning sed for bash cgi processing

開発時には、何回も”ちょっとテスト”必要ですが、、、
今回は、sed使ってcurlで投げた引数の処理
curlで投げた先が、bashというのはご愛敬で、、、

あまりにも、久しぶりのsedを使った処理だったので、メモとして記録

端末側からは、、、

curl -X POST -d "qq=123&aaa=222" http://www.workrobot.co.jp/api/rdcs/v2/mng/robot/net/net_setting

実行結果は、、、
POST
14

key1: qq  value1: 123
key2: aaa  value2: 222

success command

サーバ側のスクリプトは、、、
#!/bin/bash

#touch `/bin/hostname`

#cat - > qq
#cat -  > qq
read STRING

echo $REQUEST_METHOD
echo  $CONTENT_LENGTH
echo
value=`echo "${STRING}" | sed -e "s/.*=\(.*\)/\1/"`
str=`echo "${STRING}" | sed -e "s/\(.*\)=.*/\1/"`
key=`echo "${str}" | sed -e "s/.*&\(.*\)/\1/"`

#echo $str
str2=`echo "${str}" | sed -e "s/\(.*\)&.*/\1/"`
value1=`echo "${str2}" | sed -e "s/.*=\(.*\)/\1/"`
key1=`echo "${str2}" | sed -e "s/\(.*\)=.*/\1/"`
echo "key1:" ${key1} " value1:" ${value1}
echo "key2:" ${key} " value2:" ${value}
echo
echo "success command"

sedの呪文の世界(笑)

Peace!!