raspberryで参考になったサイト一覧

ツール編

Fritzing Fritzing

エアコン操作編

Raspberry Pi 3 Jessieで LIRC機能を使って学習リモコン、赤外線リモコンを送受信する方法 (ラズパイ3で赤外線受信センサと赤外線 LEDで IrDAリモコン信号を送受信して家電等の外部機器を制御する方法)
Raspberry Piからブラウザ経由でエアコンを制御してみた - 下林明正のブログ
「実例で学ぶRaspberry Pi電子工作」補足情報: Raspberry Pi上のLIRCでエアコンを操作する

  1. 赤外線受信モジュール設定

akizukidenshi.com
1 3.3Vがインプット
6 0v
40

 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 0 | IN   | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | IN   | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 1 | OUT  | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 1 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
  1. リモコンの信号受信

lircは止めておく。

sudo /etc/init.d/lirc stop
mode2 -d /dev/lirc0
mode2 -d /dev/lirc0 > aircon_on.txt
mode2 -d /dev/lirc0 > aircon_off.txt
  1. リモコンの信号整形
perl pulse_parse.pl mode2_aircon_off.txt > processed_aircon_off.txt
perl pulse_parse.pl mode2_aircon_off.txt > processed_aircon_off.txt

irrecのアウトプットに合わせて整形
lircd.conf作ってコピー
udo cp lircd.conf /etc/lirc

  1. リモコン送信回路設定
pi@raspberrypi:~ $ sudo /etc/init.d/lirc restart
[ ok ] Restarting lirc (via systemctl): lirc.service.
pi@raspberrypi:~ $ irsend LIST "" ""
irsend: AC
pi@raspberrypi:~ $ irsend LIST AC ""
irsend: 0000000000000001 on
irsend: 0000000000000002 off
オン・オフのコマンド
irsend SEND_ONCE AC on
irsend SEND_ONCE AC off
  1. テスト

ドメイン導入後

ドメイン入れた後にtomcatが使えなくなった。。
正確には、8080のポートが使用できない。。。
/usr/local/tomcat/conf
のserver.xmlをかえたけどだめ。
なぞ。。

2016/10/10追記。
8081を別のアプリケーションで使用してたので8080ポートだけおかしくなったと誤認。。。
8081は

[root@XXXXX-XXXXXXXX init.d]# lsof -i:8081
COMMAND  PID   USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
tnslsnr 1002 oracle   13u  IPv6     9745      0t0  TCP *:tproxy (LISTEN)
oracle  1092 oracle  118u  IPv6 17622663      0t0  TCP XXXXX-XXXXXXXX:tproxy->222.174.5.8:smile (CLOSE_WAIT)

単純にtomcat時のJREの設定パスが存在しないパスになっていたのが原因と判明。
まさにこれでした。
Apache Tomcat 8.0(Tomcat8)が起動しない場合::アラサーSEがゲーム音楽や本について語る

■そもそもtomcatのプロセスが存在しなかった。
[XXX@XXXXXXXXXXXXXXXX conf]# ps -ef | grep java
root     31511 31459  0 13:44 pts/0    00:00:00 grep java
[XXX@XXXXXXXXXXXXXXXX conf]# service tomcat stop
tomcat not running

■tomcatあげてみる
[XXX@XXXXXXXXXXXXXXXX conf]# service tomcat start
Starting tomcat
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
■あげたのにプロセス存在しない。。。
[XXX@XXXXXXXXXXXXXXXX conf]# ps -ef | grep java
root     31544 31459  0 13:45 pts/0    00:00:00 grep java

■JRE_HOMEにcdできない
[XXX@XXXXXXXXXXXXXXXX conf]# cd /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64
-bash: cd: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64: そのようなファイルやディレクトリはありません
■1.7.0.55じゃなくて75だった。
[XXX@XXXXXXXXXXXXXXXX conf]# cd /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64

■/etc/profileにJRE_HOMEを切っていたので変更して読み込ませる。→違ったので、下確認
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64
source /etc/profile

[XXX@XXXXXXXXXXXXXXXX etc]# echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64

■/etc/profile.d/tomcat.shを直すのが正しいっぽい
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64

■プロセス確認
[XXX@XXXXXXXXXXXXXXXX init.d]# ps -ef | grep java
root     31879     1  1 14:04 pts/0    00:00:09 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root     31928 31459  0 14:14 pts/0    00:00:00 grep java

■再発防止策
tomcatをサーバ起動時に立ち上げるようにすること。
java_homeの設定を汎用化すること

[XXXX@XXXXXXXXXXX ~]# chkconfig --list tomcat
tomcat          0:off   1:off   2:on    3:on    4:on    5:on    6:off

SPF設定

さくらVPSからauへメール受信できるまでの流れ

ドメイン取得

DNSサーバへのドメインの登録

DNSサーバへSPFレコードの設定

正引き可能かの確認

さくらVPSのホスト名の変更

さくらVPSのコンソールから逆引き設定

逆引き可能かの確認

メール送信

LinuxでVPNのお勉強

AndroidからsakuraのVPSVPN接続
さくらのvpsを2週間無料で借りてお試し。30分でできた!

インストール

PPPのインストール
yum install ppp
pptpのインストール
cd /usr/local/src
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.x86_64.rpm
sudo rpm -Uvh pptpd-1.4.0-1.el6.x86_64.rpm

もろもろ編集

pptpd.confの編集
vi /etc/pptpd.conf
※ようわからんのでそのまんまにした
options.pptpdの編集
vi /etc/ppp/options.pptpd
name root ※androidで接続する際のユーザ名
# Network and Routing ※google DNSを設定
ms-dns 8.8.8.8
ms-dns 8.8.4.4
mtu 1400
vi /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
root   *       pptpd   *
※clientはユーザ名、secretはパスワード androidのVPNの設定に入れる
vi /etc/sysctl.conf
 
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
sysctl -p
service pptpd start
chkconfig pptpd on
iptablesは面倒なのでstopしとく
service iptables stop

確認

ifconfigでppp0の確認
ppp0      Link encap:Point-to-Point Protocol
          inet addr:192.168.0.1  P-t-P:192.168.0.234  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:112 (112.0 b)  TX bytes:94 (94.0 b)
lastコマンドでVPN経由でのログインを確認
last
root     pts/1        kd106130001016.a Sun Mar  5 20:30   still logged in
root     pts/2        192.168.0.234    Sun Mar  5 20:29   still logged in
root     ppp0         106.130.1.16     Sun Mar  5 20:26 - 20:30  (00:04)

Linuxでメールのお勉強

情報セキュリティのメールのお勉強のため

LinuxPostfixから外部送信
Linux内で送受信確認
小悪魔女子大生のサーバエンジニア日記 » Blog Archive » postfixで外部からメールを受信できるようにする

送信者偽装

 mail -s "test" -r aaaa@nise_mail.com aaaa@honmono_mail.com

SPFの設定

IPA 独立行政法人 情報処理推進機構:なりすましメール撲滅に向けたSPF(Sender Policy Framework)導入の手引き
質問!ITmedia - さくらインターネットVPSでのメールサーバー設定
さくらのVPSからメールをau送信するには、EzwebSPFレコードを公開する必要があるとのこと
送信ドメイン認証SPFレコードについて | EZwebへメール送信する際の注意事項:サービス・機能 | au
さくらのVPSでEC-CUBEからの注文メールが携帯キャリア(au、SoftBank)メールアドレス宛に届かない | マルチメディア・デジタルコンテンツ・システムズMDS Co.,Ltd.
【Postfix】【さくらVPS】送ったメールが迷惑メール(スパムメール)扱いされないために - ぐぐったら出てきた。


メール送るだけならpostfixが入っているのでgmail宛に送信
mailコマンドとsendmailコマンドは何が違うのだろう。。。

[appadm@○○○○ ~]$ mail XXXXXXXXXXX@gmail.com
Subject: Mail Test
test
.
EOT

/var/log/maillog

Mar 29 19:07:40 ○○○○ postfix/pickup[5642]: 7CCC2A1472: uid=500 from=<appadm>
Mar 29 19:07:40 ○○○○ postfix/cleanup[5827]: 7CCC2A1472: message-id=<20150329100740.7CCC2A1472@○○○○.◆◆◆◆.ne.jp>
Mar 29 19:07:40 ○○○○ postfix/qmgr[27770]: 7CCC2A1472: from=<appadm@○○○○.◆◆◆◆.ne.jp>, size=454, nrcpt=1 (queue active)
Mar 29 19:07:40 ○○○○ postfix/smtp[5829]: connect to gmail-smtp-in.l.google.com[2404:6800:4008:c04::1a]:25: Network is unreachable
Mar 29 19:07:42 ○○○○ postfix/smtp[5829]: 7CCC2A1472: to=<XXXXXXXXXXX@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.23.27]:25, delay=1.6, delays=0.05/0.01/0.76/0.81, dsn=2.0.0, status=sent (250 2.0.0 OK 1427623662 or10si10306685pdb.115 - gsmtp)
Mar 29 19:07:42 ○○○○ postfix/qmgr[27770]: 7CCC2A1472: removed

【Vine Linuxで自宅サーバー】Postfixの基本設定

Postfixで未配信のメールの対処法

配信元偽装して送ったら相手に届かなくて再送し続けたので、、、
Postfixで未配信メールの確認 | OpenGroove

コマンド

hier
man コマンドのあとにhを押すと

ディレクトリ構造をツリー状に表示
まぁ、「tree」でいいと思うのですが、無駄に凝っていたのでw。

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

特定のファイル以外を削除

rm !(*.foo|*.bar|*.baz)

http://www.ideaxidea.com/archives/2010/12/linux_commands.html