raspberryで参考になったサイト一覧
ツール編
エアコン操作編
Raspberry Pi 3 Jessieで LIRC機能を使って学習リモコン、赤外線リモコンを送受信する方法 (ラズパイ3で赤外線受信センサと赤外線 LEDで IrDAリモコン信号を送受信して家電等の外部機器を制御する方法)
Raspberry Piからブラウザ経由でエアコンを制御してみた - 下林明正のブログ
「実例で学ぶRaspberry Pi電子工作」補足情報: Raspberry Pi上のLIRCでエアコンを操作する
- 赤外線受信モジュール設定
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---+---+------+---------+-----+-----+
- リモコンの信号受信
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
- リモコンの信号整形
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
- リモコン送信回路設定
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
- テスト
ドメイン導入後
ドメイン入れた後に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
LinuxでVPNのお勉強
AndroidからsakuraのVPSへVPN接続
さくらのvpsを2週間無料で借りてお試し。30分でできた!
もろもろ編集
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でメールのお勉強
情報セキュリティのメールのお勉強のため
・LinuxでPostfixから外部送信
・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に送信するには、EzwebにSPFレコードを公開する必要があるとのこと
送信ドメイン認証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
Postfixで未配信のメールの対処法
配信元偽装して送ったら相手に届かなくて再送し続けたので、、、
Postfixで未配信メールの確認 | OpenGroove
Linuxで便利なサイト一覧
http://codezine.jp/article/detail/3279
使用しているディスクでサイズが大きいもの上位10を表示
du -k / | sort -n | tail -10
コマンド
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