2019年1月14日月曜日

これからの生産の自動化

生産の自動化は、どの業種でも、これから大事な事であり、僕もその分野にだんだん足を突っ込んでいる。

まだ、いろいろ自分の考えをまとめている途中だけど、こんな感じで考えている。

・機械が定められた動作を繰り返す

・機械が能力範囲の仕事を自律制御する。つまり、人が制御プログラムを書き換える事がない。かつ、最適解を求めて学習する。

・生産プロセスにおけるバッファ―を人が制御する。

・生産プロセスにおける工程管理を自律的に制御する。

つまり、個の機能とプロセスの機能だけど、この協調が最も必要なのだろうと、、、

これって、実は人の組織と同じで、人が自律的に動き、そして彼らが協調する組織ってやはり、パフォーマンスが高いわけで、、、

このように考えた時、必要になる事がいろいろ見えてくる。

それを、一つ一つ作って、実現するのが今の仕事、、、

世界中に工場を持つグローバル企業と共同研究をする事になった。

また未踏の世界に、足を突っ込んでしまった。

その時のデータ集めに、このロボットが役立つとは、考えてもみなかった。


Peace!!

2019年1月7日月曜日

Memo: /var のram化

lighttpdが立ち上がらなくなり、、、

原因を調べると

立ち上がり時に、/var/log/lighttpd    が無い

ムムム、、、

$ cat /etc/rc.local
............
............
#
# create folder on ram disk
#
mkdir -p /var/log/ConsoleKit
mkdir -p /var/log/samba
mkdir -p /var/log/fsck
mkdir -p /var/log/apt
mkdir -p /var/log/ntpstats
mkdir -p /tmp/motion
chown root.ntp /var/log/ntpstats
chown root.adm /var/log/samba
touch /var/log/lastlog
touch /var/log/wtmp
touch /var/log/btmp
chown root.utmp /var/log/lastlog
chown root.utmp /var/log/wtmp
chown root.utmp /var/log/btmp

setterm -blank 0
exit 0

あれ?
こんな事、誰がしたのかしら、、、???
忘れている

$ cat /etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=ec1fea93-01  /boot           vfat    defaults          0       2
PARTUUID=ec1fea93-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
tmpfs     /tmp            tmpfs    defaults,size=84m,noatime,mode=1777      0       0
tmpfs     /var/tmp        tmpfs    defaults,size=16m,noatime,mode=1777      0       0
tmpfs     /var/log        tmpfs    defaults,size=32m,noatime,mode=0755      0       0

で、、、/etc/rc.local に2行を付け加えて一件落着

mkdir -p /var/log/lighttpd
chown www-data:www-data /var/log/lighttpd

しかし、自分でいつしたのかしら、、、思い出せない(泣)

Peace!!

2019年1月6日日曜日

Memo: `PNG12_0' not found

何故か、突然、、、

動いてソフトが、簡単に

[1]+  Segmentation fault

詳細確認すると、、、

$ js_main: /usr/lib/arm-linux-gnueabihf/libpng12.so.0: version `PNG12_0' not found (required by /usr/local/lib/libopencv_imgcodecs.so.3.4)

に対して、、、

sudo apt install libpng12-0

一件落着

Peace!!

脱サラして10年目、2019年初頭に、、、

このブログは、2012年7月から始めたけど、ちょうど農業初めて丸々2年。

脱サラして、農業初めて、事業的にもそれなりに、、、

で、ひょんな事で、ロボットの世界に入り、そして製造業サービス、AIと

結局、元の製造業に戻ったわけで、、、

人生って解りません。

ただ、農業には未練もないし、やはり「文化」が違う世界は

しんどいなぁ~と、、、ただ、経験できた事はとっても良かった。

2009年に脱サラしたわけだけど、

で、この10年どうだったのだろうかと振り返ると

・「気張らなくても、自由に、それなりに生きていけるんだぁ」という実感

・「誰もやっていない領域の匂いを嗅ぐ力」これは、本当に大事だと再認識

・対象を分析・構造化し、それをシステムに置き換える力こそ、大事

・大手企業を辞めて .....     やめて自由に生きれた10年最高!!!

でも、誰にも勧められる事はでないなぁとも、、、

まず、会社や、農業もそうだけど、毎日同じ事をする事に、満足している人

ダメですね。

そもそも、会社やルーチンをやめる事は、他に自立できる能力が無いと難しい。

例えば、会社で成功していても、自立したらどうなるというと、、、

日本という社会では難しい

自立できる能力とは、実は答えは上段に書いたのだけど、、、

社会で、0から自立するって、かなり難しい。

これからは、より難しくなると思う。

今年、最初の投稿で、なんか中途半端だけど、、、

自分の思うままに、健康に自由に生きてこれた、この10年本当に幸せだったと思う。

また、続きは改めて、、、

全ては、Raspberry Piからはじまった


現在位置、これから進化・真価へ 

Peace!!

2018年12月31日月曜日

A Setting of serial communication between Raspberry Pi 3 and device.

Raspberry Pi 3と、他のデバイスをSerial 通信する設定

ネットでいろいろ書いてあるのだけど、

結局、次の2ステップでOK

$ sudo raspi-config  > 5. Interfacing Options > P6 Serial > No > Yes


$ sudo vi /boot/config.txt

dtoverlay=pi3-disable-bt
 
この一行を加える。Bluetooth に割り当てられている serial を開放する。

OSのインストール直後の状態で確認した。

raspi-config の設定だけではダメで、config.txtへの追加が必要。


Peace!!

2018年12月30日日曜日

An Installation of lighttpd(1.4.52) on Raspberry Pi

Raspberry Piをコントローラに使っている自律走行系などのロボットのhttp通信は、lighttpdを使っているわけで

1.4.52をインストール

いろいろ試行錯誤してきたけど

aptでインストールできるバーションが、1.4.45になっているので素直に居れてバーションアップする方法が一番良いという事になってきた。

以前は、数年もメンテされていなかったlighttpdだけど最近はメンテが計画的に行われているようで安心して使える。

特に、Apatchに比べて早いし、柔軟性もあるので僕はlighttpdをロボット用では使う予定。


インストールの大まかな手順

・標準インストール ( sudo apt install lighttpd )
・lighttpd のページから最新版をdownloadしてmakeする
・環境設定

・エラーが起こった

追加:
違うRaspberry Piに、この手順でインストールしたら標準インストール、バージョンアップもエラー無しにできました。
最初のマシンの固有の問題かしら、、、

(1) 標準インストール

$ sudo apt install lighttpd

で、、、思いもよらないエラー


● lighttpd.service - Lighttpd Daemon
   Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Sun 2018-12-30 09:55:42 JST; 28ms ago
  Process: 684 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=exited, status=255)

$ ls -la /etc/lighttpd

drwxr-xr-x   2 root root  4096 Dec 30 09:55 conf-available
drwxr-xr-x   2 root root  4096 Jan 15  2017 conf-enabled

アレ? lighttpd.conf が無い

???  以前、lighttpd インストールしてremove したから、、、

sudo apt-get purge lighttpd
sudo apt-get autoremove lighttpd


それから、

sudo apt install lighttpd

ls /etc/lighttpd
ls /etc/lighttpd/conf*

systemctl status lighttpd 

● lighttpd.service - Lighttpd Daemon
   Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset:
   Active: active (running) since Sun 2018-12-30 10:10:00 JST; 8min ago
 Main PID: 2250 (lighttpd)
   CGroup: /system.slice/lighttpd.service
           mq2250 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

Dec 30 10:10:00 rcpm-r51 systemd[1]: Starting Lighttpd Daemon...
Dec 30 10:10:00 rcpm-r51 systemd[1]: Started Lighttpd Daemon.

ls -al /var/www
drwxr-xr-x  2 root root 4096 Jan 15  2017 cgi-bin
drwxr-xr-x  2 root root 4096 Dec 30 10:09 html

ブラウザーにアクセスしても、、、


という事で、標準インストールは、OK

(2) 最新版のビルド

最初にbuildに必要なモジュールのインストール

sudo apt-get install libpcre3-dev bzip2 libbz2-dev

https://www.lighttpd.net/    からダウンロード。因みに1.4.52でした。

展開し、ディレクトリーに入って

./configure
make
sudo make install

sudo systemctl restart lighttpd

念の為に、、、、え???

$ lighttpd -v
lighttpd/1.4.45 (ssl) - a light and fast webserver
Build-Date: Jan 14 2017 21:07:19

$ cat /lib/systemd/system/lighttpd.service
[Unit]
Description=Lighttpd Daemon
After=network.target

[Service]
Type=simple
ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf
ExecStart=/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
Restart=on-failure

[Install]
WantedBy=multi-user.target

make install でインストールされる場所は、
/usr/local/sbin

buildした定義は

[Unit]
Description=Lighttpd Daemon
After=network-online.target

[Service]
Type=simple
PIDFile=/var/run/lighttpd.pid
ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf
ExecStart=/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
ExecReload=/bin/kill -USR1 $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

という事で、最初のlighttpd.serviceを使うとして
/usr/sbinを/usr/local/sbinに変更

$ sudo systemctl daemon-reload
$ sudo systemctl restart lighttpd

$ lighttpd -v
lighttpd/1.4.45 (ssl) - a light and fast webserver
Build-Date: Jan 14 2017 21:07:19

???

$ /usr/local/sbin/lighttpd -v
lighttpd/1.4.52 - a light and fast webserver

意味不明なので、、、

残骸を消して
$ sudo rm r- /usr/lib/lighttpd

$ sudo reboot

$ lighttpd -v
lighttpd/1.4.52 - a light and fast webserver

本当に意味不明、、、、、でも時間が無いのでよし!

(3) 環境設定

/etc/lighttpd/lighttpd.conf

これはそのまま、、、

$ cd /etc/lighttpd/conf-available

$ vi 10-cgi.conf
$ cat 10-cgi.conf
# /usr/share/doc/lighttpd/cgi.txt

server.modules += ( "mod_cgi" )

$HTTP["url"] =~ "^/cgi-bin/" {
        cgi.assign = ( "" => "" )
}
$HTTP["url"] =~ "^/api/" {
        cgi.assign = ( "" => "" )
}

## Warning this represents a security risk, as it allow to execute any file
## with a .pl/.py even outside of /usr/lib/cgi-bin.
#
#cgi.assign      = (
#       ".pl"  => "/usr/bin/perl",
#       ".py"  => "/usr/bin/python",
#)

$ cd ../conf-enabled
$ sudo ln -s ../conf-available/10-cgi.conf
$ ls -al
10-cgi.conf -> ../conf-available/10-cgi.conf

$ sudo mkdir /var/www/api

・エラーが起こった

さぁこれで!  アドレスにアクセスするとエラー
動いていない

$ systemctl status lighttpd

Dec 30 13:57:21 rcpm-r51 systemd[1]: Starting Lighttpd Daemon...
Dec 30 13:57:21 rcpm-r51 systemd[1]: Started Lighttpd Daemon.
Dec 30 13:57:21 rcpm-r51 lighttpd[863]: 2018-12-30 13:57:21: (server.c.748) opening errorlog '/var/log/lighttpd/error.log' failed: No such file or directory
Dec 30 13:57:21 rcpm-r51 lighttpd[863]: 2018-12-30 13:57:21: (server.c.1454) Opening errorlog failed. Going down.
Dec 30 13:57:21 rcpm-r51 systemd[1]: lighttpd.service: Main process exited, code=exited, status=255/n/a
Dec 30 13:57:21 rcpm-r51 systemd[1]: lighttpd.service: Unit entered failed state.
Dec 30 13:57:21 rcpm-r51 systemd[1]: lighttpd.service: Failed with result 'exit-code'.
Dec 30 13:57:21 rcpm-r51 systemd[1]: lighttpd.service: Service hold-off time over, scheduling restart.
Dec 30 13:57:21 rcpm-r51 systemd[1]: Stopped Lighttpd Daemon.

つまり、/var/log/lighttpd/error.log が無い

$ sudo mkdir /var/log/lighttpd
$ sudo chown www-data:www-data /var/log/lighttpd
$ sudo chmod 750  /var/log/lighttpd

でも、なんでかなぁ、、、

$ sudo systemctl restart lighttpd
$ sudo systemctl status lighttpd
$ systemctl status lighttpd

● lighttpd.service - Lighttpd Daemon
   Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset:
   Active: active (running) since Sun 2018-12-30 14:15:08 JST; 9min ago
  Process: 1343 ExecStartPre=/usr/local/sbin/lighttpd -tt -f /etc/lighttpd/light
 Main PID: 1351 (lighttpd)
   CGroup: /system.slice/lighttpd.service
           mq1351 /usr/local/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

Dec 30 14:15:08 rcpm-r51 systemd[1]: Starting Lighttpd Daemon...
Dec 30 14:15:08 rcpm-r51 systemd[1]: Started Lighttpd Daemon.

Peace!!













2018年12月27日木曜日

Centos7 mariDB インストールと設定

CentOS7にMariDBをインストールと設定

本当に書きたいことは、一番したなんだけどメモとして、、、

# yum install mariadb mariadb-server
#  vi /etc/my.cnf
    character-set-server=utf8
追加する

# systemctl enable mariadb.service
# systemctl start mariadb.service
# mysql_secure_installation

rootのパスワード入力以外はすべて、enter のみ

で、ここが問題で、

# [root@xxxxxxx~]]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

それで、パスワードをコマンドラインで続けて入力するとOKという落ち(笑)

[root@xxxxxxx~]# mysql -u root -pPASSWORD
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Peace!!