2016年6月15日水曜日

RESTをcurlコマンドで、、、メモ

自分勝手なRESTシステム開発してるわけで、、、

写真は、関係ない。現実逃避したいので、、、

Parc Güell
ただ、、、物忘れが早いよ〜

って、ことでまた、curlのコマンドラインの忘備録

しかし、辛いなぁ、、、

$ curl  http://xxx.yyy.zzz.qqq:2000/user -X POST -d "namae="ahoaho" -d "jusho=jyuusyofutei1-1-1"

因みに、

lighttpdです。

Peace!




2016年6月14日火曜日

Jessie さんで、毎日決まった時間に仕事する(systemd timer)

cronで、定期的に処理を、systemdでするための技術メモ

systemd timer で、定期的な処理をするちゃ

Catedral de Santa María de Toledo
手順は、
(1)定期的に処理するプログラムを作成する(いままで通り)

(2)(1)のプログラムのsystemdのserviceを作成する

(3)(2)を対象にした、systemdのtimerを作成する

(4)systemctlを使って有効にする。serviceは有効にしない。
   だから、serviceには、[Install]を書かない

$ vi sysd-reboot.sh
#!/bin/bash

sudo /sbin/reboot

$vi sysd-reboot.service
[Unit]
Description=reboot

[Service]
Type=simple
ExecStart=/home/pi/bin/sysd-reboot.sh

$vi sysd-reboot.timer
[Unit]
Description=Run LDAP dump monthly

[Timer]
OnCalendar=*-*-* 04:00:00
Unit=sysd-reboot.service

[Install]
WantedBy=basic.target

$ sudo cp sysd-* /etc/systemd/system

$ sudo systemctl enable sysd-reboot.timer

Created symlink from /etc/systemd/system/basic.target.wants/sysd-reboot.timer to /etc/systemd/system/sysd-reboot.timer.

$ sudo systemctl start sysd-reboot.timer

(5)確認する
$ sudo systemctl list-unit-files --type=timer | grep sysd- 
sysd-reboot.timer            enabled

指定例)
[Unit]
Description=Run foo weekly and on boot
[Timer]
OnBootSec=15min
OnUnitActiveSec=1w
[Install]
WantedBy=timers.target

[Unit]
Description=Run foo weekly
[Timer]
OnCalendar=weekly
Persistent=true  
[Install]
WantedBy=timers.target

usec, us
msec, ms
seconds, second, sec, s
minutes, minute, min, m
hours, hour, hr, h
days, day, d
weeks, week, w
months, month, M (defined as 30.44 days)
years, year, y (define as 365.25 days)

2 h
2hours
48hr
1y 12month
55s500ms
300ms20s 5day

Fri 2012-11-23 11:12:13 → Fri 2012-11-23 11:12:13
2012-11-23 11:12:13 → Fri 2012-11-23 11:12:13
2012-11-23 11:12:13 UTC → Fri 2012-11-23 19:12:13
2012-11-23 → Fri 2012-11-23 00:00:00
12-11-23 → Fri 2012-11-23 00:00:00
11:12:13 → Fri 2012-11-23 11:12:13
11:12:13.9900009 → Fri 2012-11-23 11:12:13
format_timestamp_us: Fri 2012-11-23 11:12:13.990000
11:12 → Fri 2012-11-23 11:12:00

now → Fri 2012-11-23 18:15:22
today → Fri 2012-11-23 00:00:00
today UTC → Fri 2012-11-23 16:00:00
yesterday → Fri 2012-11-22 00:00:00
tomorrow → Fri 2012-11-24 00:00:00
+3h30min → Fri 2012-11-23 21:45:22
+3h30min UTC → -EINVAL
-5s → Fri 2012-11-23 18:15:17
11min ago → Fri 2012-11-23 18:04:22
11min ago UTC → -EINVAL
@1395716396 → Tue 2014-03-25 03:59:56

参考)
systemd.time

2016年6月12日日曜日

なってこった max_usb_current=1

農場のセンサが、調子が悪く、、、

こんなエラーで、うんともすんとも (泣)

うーーーーーーと (泣)状態



Jessie にしてからというもの、、、

この前も、Google先生に聞いて見たけど、どうも〜〜

で、再度、落ち着いて、先生にお願い

う、、、イギリスのある方と同じ状態

で、、、原因は、USB給電が足りないかもと、、、

お、、、頭の中をーーーーー

max_usb_current=1

/boot/config.txt に書き加えて、、、

一件落着

Jessieにした時に、オマジナイ追加していなかった。(泣)

Peace!!

Raspberry Pi Jessie 起動時の高速化

はじめに、下記の内容はRaspberry Pi ZERO、2016-05-27-raspbian-jessie-lite.imgで

実行した内容です。(^^)

サービスを止めた後

wheezyの時は、いろいろなサービスが起ち上げ時に起動されていて、

僕の用途ではパフォーマンスを少しでもよくしたいので、それらを止める必要があった。

Debianもversion7 から、Version8のJessieに変わった。

僕にとって、一番大きな変更点は、initシステムがsystemdに変わった事。

もともと、ArchLinuxを技術選択していたので、systemdは知っていたのだけど

長年使っている、inittab, rc.local系の方が馴染みが深くちょっと戸惑っている。

ただ、システム的に考えるなら、init系でシェルで自由に書くよりは、

スクリプト化して抽象度と汎用性を高める方が良いとは思う。

ということで、jessieを使う以上、やはり起動時の高速化が必要なわけで、

そのチャレンジ。。。

まず、何もしない状態では、

$ systemctl | grep running とすると、、、

avahi-daemon.service    loaded active running   Avahi mDNS/DNS-SD Stack
cron.service  loaded active running   Regular background program processing daemon
dbus.service   loaded active running   D-Bus System Message Bus
dhcpcd.service   loaded active running   dhcpcd on all interfaces
getty@tty1.service  loaded active running   Getty on tty1
ntp.service   loaded active running   LSB: Start NTP daemon
rsyslog.service  loaded active running   System Logging Service
ssh.service   loaded active running   OpenBSD Secure Shell server
systemd-journald.service  loaded active running   Journal Service
systemd-logind.service  loaded active running   Login Service
systemd-udevd.service  loaded active running   udev Kernel Device Manager
triggerhappy.service    loaded active running   LSB: triggerhappy hotkey daemon
avahi-daemon.socket   loaded active running   Avahi mDNS/DNS-SD Stack Activation Socket
dbus.socket    loaded active running   D-Bus System Message Bus Socket
syslog.socket   loaded active running   Syslog Socket
systemd-journald-dev-log.socket       loaded active running   Journal Socket (/dev/log)
systemd-journald.socket          loaded active running   Journal Socket
systemd-udevd-control.socket     loaded active running   udev Control Socket
systemd-udevd-kernel.socket     loaded active running   udev Kernel Socket

以外にも、起動されてるモノが少ない。

自分の用途で不要なのは、以下の2つ
avashi ホスト名で検索するためのサービス
triggerhappy キーボードのショートカットキーを使うためのサービス
       raspi-configで使っているという説明もあったが特に影響無いみたい

dbus Wheezyの時は、X11が使ってるだけだったので削除できたが、systemdが使用

ということで、
$ sudo systemctl disable avahi-daemon
$ sudo systemctl disable triggerhappy

メモリーの状況は、
停止前

$ free
             total       used       free     shared    buffers     cached
Mem:        380152      74400     305752       4480       7360      39228
-/+ buffers/cache:      27812     352340
Swap:       102396          0     102396

             total       used       free     shared    buffers     cached

停止後
$free
             total       used       free     shared    buffers     cached
Mem:        380152     106872     273280       4472      10888      64684
-/+ buffers/cache:      31300     348852

Swap:       102396          0     102396

本当は、起動時に、いろいろもたもたする可能性があるntpも止めたいけど、

systemdのスクリプトを書くのが面倒なので、対処法

$ sudo vi /etc/ntp.conf

#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst
pool ntp.nict.jp iburst

で、ちゃんとみているか?

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
=====================================================
+ntp-b3.nict.go. .NICT.           1 u    1   64    1   14.464    0.508   0.127
+ntp-b2.nict.go. .NICT.           1 u    1   64    1   14.089    0.250   0.357
 ntp-a2.nict.go. .STEP.          16 u   44   64    0    0.000    0.000   0.000
*ntp-a3.nict.go. .NICT.           1 u   30   64    1   13.623    0.428   1.628
 ntp-a3.nict.go. .STEP.          16 -    -   64    0    0.000    0.000   0.000
 ntp-a2.nict.go. .STEP.          16 -    -   64    0    0.000    0.000   0.000

OKです。

とりあえず、Peace !

2016年6月11日土曜日

連動するって、何が、、、

趣味のラジコン飛行機、製作中(^^)





はい、決して、地上のロボットや、センサーとは連携しません。(笑)

 ウヒヒ、、、

Peace!!

2016年6月5日日曜日

センサは、評価して使わないと、、、いろいろ大変

照度センサ(TSL2591)のテスト

テストしながら、JIS C 1609:1993に準拠した照度計との値の対比も、、、

TSL2591の傾向は大体つかめた(^^)



2014年7月から稼働している、Raspberry Pi B+ を使ったセンサボックス。

Raspberry Piは、何の問題もなく、この2年動いている。

最高温度は60度位時もあったし、最低は零下の時も、、、

Raspberry Piは、凄いね。(^^)v

今度は、中のセンサの検定ですね。どれくらい性能が変わっているか?


Peace!!

Raspberry Pi (jessie) + L-03D + OCN one = グローバルアドレス (^^)

簡単に、、、

$ sudo apt-get -y install eject wvdial usb_modeswtich pppconfig

$ sudo pppconfig

こんな画面がでてcreateする


で、順番にデータを入れていく。終わったら保存をする。手順は、こちらを参照

https://www.ammlab.org/labo/RPi_LTE/

$ sudo vi /etc/chatscripts/ocn

ATHを追加する。下図参照


dongleは、CD-ROMとし認識されているのでejectして、modprobeする

$ eject sr0

$ sudo sudo modprobe usbserial vendor=0x1004 product=0x6326

この値は、dongleにdocomo L-03Dを使った時。

usb_modeswitchに定義されていないdongleを使うときには、

/etc/udevに登録する。

$ ls /dev/ttyU*


$ sudo pon ocn

エラーがなければつながっているので、以下は確認

$ ifconfig ppp0

はい、出来上がり\(^o^)/


で、グローバルアドレスなので、pingと、sshでインターネット経由でlogin



で、reboot毎に、

$ eject sr0 からなので、後でsystmedに設定する

Peace!

追加

下記のように、設定ファイルを置いておくくと, ejectやmodprobeをしなくても良いカモ

$ sudo vi /etc/udev/rules.d/99-foma_l-03d.rules

# for FOMA L-03D
# USB Storage (Zero Installation)
KERNEL=="sr[0-9]*", ENV{ID_VENDOR_ID}=="1004", ENV{ID_MODEL_ID}=="6327", RUN+="/usr/bin/eject /dev/$kernel"

# USB Modem (ttyUSB)

SUBSYSTEM=="usb", ATTR{idVendor}=="1004", ATTR{idProduct}=="6326", RUN+="/sbin/modprobe usbserial vendor=0x$attr{idVendor} product=0x$attr{idProduct}"

Peace !!