最近 Qiita に記事を書いているので WordPress に同期してみた

参考にしたサイト:Qiitaの記事をWordPressブログに同期できるようにしてみた

ここのサイトにある最近、Qiitaへ投稿すると、個人ブログへの投稿が少なくなってしまうというのは激しく同意!!

なので同じように FeedWordPress プラグインを使って同期してみた。

Qiitaの下書きにも使えるように、このサイトは JP Markdown を入れて、投稿にマークダウンも使えるようにしているからか
Qiitaから読み込んだ記事がかなり怪しい感じに(笑)なってますが、詳細は Qiita で確認してください。


ラズパイ(Linux) からUSB温度計で温度を測る

部屋が寒い :scream: のでいろいろ調べた。
うちではラズパイ:strawberry: が常時動いているので、これで温度が測れれば良い。
1-wire で動くDS18B20 などの温度センサーを使って電子工作する方法もあるが(前にやった)、はんだ付けとか 1-wire 設定とか結構面倒くさい。
今回はもっとお手軽に USB温度計 thermometer-528018 を使ってみる。980円ぐらい。
USBで挿してlinuxから温度を取得できる。
Windowsでも専用アプリで温度は取れるけれど使い勝手は悪い。
Windowsは、ここからTEMPer用をダウンロード 現時点ではv26が最新 USBなので、Raspberry Pi の様に I/O ポートがないLinuxマシンでも温度が測れるので、サーバー室なんかに置いても良いかも。 gitからソースをクローンする。
libusb-dev がないとエラーになる。gcc は既に入っていればインストールの必要なし。
chmod u+s temper で権限を付与しないと root でしか使えなくなるので権限を追加しておく。
実行すると、日時と温度を表示する。
[crayon-5b5198254799a753780470/]

TIPS.1 ローカルタイムにする

そのままだと日付がグリニッジ標準なので、タイムゾーンに合わせる
temper.c
[crayon-5b519825479ae948951993/]

TIPS.2 ラズパイの罠

ラズベリーパイのUSBポートに直挿しした場合、本体の温度が回り込んで5℃ぐらい温度が高くなる。
100均のUSB方向転換器なんかを間にかませると大丈夫。 後は cron から呼び出して温度を見て IFTTT に投げるなり、シェルスクリプトでなんやかやするなり応用は無限大 ∞ 。

その他参考になりそうなサイト

Ambient
IOTデータの可視化サービス。ライブラリを入れてちょっと修正の必要はあるけれど、グラフ化することができます。
Google Homeにセンサーの値を言ってもらう
言ってもらうと嬉しいよね。
Raspberry Pi Zero用 赤外線 + 環境センサ 拡張ボード「RPZ-IR-Sensor」(端子未実装)
USBでなくてもこんなのもあります。ボード直付けなので、ボードの温度に影響されそうなのでキャリブレーションは必須かな?

単純にラズパイだけでCPU温度を測るには

[crayon-5b519825479b9072951766/]
の値を 1/1000 すればいい。結構熱いのでビックリするかも:grimacing:

Laravel メアド以外でログインしたい

標準の
[crayon-5b51982549d17760285696/]
でログインを作るとメアドとパスワードでログインするようになる。
メアドではなく name でログインする方法
LoginController に以下の関数を追加する。別のフィールドをログインに使う場合はそのフィールド名を記述 app/Http/Controllers/Auth/LoginController.php
[crayon-5b51982549d25717005156/]
ログイン画面をカスタマイズする。
resources/views/auth/login.blade.php
[crayon-5b51982549d2c185811980/]
この他にもユーザー名が重複しないようバリデーションチェックを入れるとかの対応は必要だが、とりあえずこれで name でログインが可能になる。

WordPress プラグイン slack-contact-form-7 で入力内容まで Slack に送るプチハック

Slack はなかなか便利

Slack を業務で使っている。U/Iは馴染めないけれど、カスタマイズ方法が提供されてて、ツールも豊富。

サイトは WordPress を使っている

CMSなんで編集もしやすいしプラグインもテーマも揃っている。(バージョンアップが頻繁過ぎるのが玉に瑕だけど)
そうなると、問い合わせフォームはどうしても珠玉の名作 Contact-form-7プラグイン とかになる。
折角 Slack を使っているんだから問い合わせも通知させたいよね。

問い合わせ時に Slack に通知する

ということで
Slackプラグイン + Contact-form-7 + Slack-contact-form-7プラグイン を入れると問い合わせ時に Slack に通知はされる。
されるのだが・・・ Someone just sent a message through *コンタクトフォーム 1* _Contact Form 7_. Check your email!
送られてくるのなんかタイトルだけじゃん!? これでメールを見に行くのは2度手間なのでプチハックする。

通知だけじゃなく入力内容も送るプチハック

wp-content/plugins/slack-contact-form-7/slack-contact-form-7.php を以下の様に修正する。
[crayon-5b5198254a646030783356/]
contact-form-7 のインスタンスから内容を取得する。
キーが _wpcf7* みたいなのはコントロールっぽいので除外する。
後は、タイトルを送っているところを丸っと消して、結合した内容を送信すればOK。 これでメールを開く手間をかけずに #Slack だけで内容を確認できるようになりました。

ApacheからPythonを呼ぶ設定

Apache側の準備

httpd.conf の
・DirectoryIndex に index.py を追加
・AddHandler に .py を追加。

ruby、python は、以下のoptionsを設定

Python は cgi として動くのでシェバング(1行目)を忘れずに。別バージョンで使う場合はここを修正する。例) #!/usr/bin/python36

作ったスクリプトには x 属性を追加しておく。例) chmod +x index.py

Pythonをインストール

最新の Python は python36 だが、Tensorflow(Python36未対応)等を使う場合は Python35 を入れる。(x が 6 とか 5 とかになる。

Python35 の pip を使う場合は、以下の様に実行する。


AwsLinux に Lamp 環境構築

アップデート・アップグレード

有効なパッケージの確認

パッケージ名には httpd* とか指定する。httpd(ver2.2) と httpd24(ver2.4) が見つかる。
複数のバージョンが混在しない場合は httpd をインストールすればOK

AWSLinux のバージョン確認方法

バージョンによってパッケージが様変わりするのでバージョンの確認方法を

Webサーバー

apache2

https を使うには

参考:チュートリアル: Amazon Linux で SSL/TLS を使用できるように Apache ウェブサーバーを設定する

DB

MySQL

mysql も mysql(5.5-1)、mysql51、mysql55(5.5.58)、mysql56、mysql57 がある。

※ 201709版のAWSLinuxは上のリポジトリが入っているが、201712版は入っていないので注意すること。

ユーザ作成

PHP

PHPも、PHP(5.3)、PHP54、PHP55、PHP56、PHP70、PHP71 があるので妥当なバージョンを選択する。
PHP 7.1 インストール

AWS ELB:443 EC2:80 で WordPress を立ち上げる場合

wp-config.phpの上部に

を追記。wp_opions の seturl と home を https:// に変更する。

□公式ドキュメント
Function Reference/is ssl « WordPress Codex


いろいろ環境を作って実験しています

マルチサイトな日々
Wordpress の MultiSite プラグインを使ったサイトです。
BuddyPressな日々
Wordpress の BoddyPress プラグインを使ったサイトです。
Joomla な日々
Joomla3 を使ったサイトです。
Jimdo な日々
Jimdoを使ったサイトです。
※先ずはやってみるという実学が一番