174_SAKURAVPS_real_temp_data

ここで、ラズパイのRealTempDataをのみを表示するPHPをまとめておく。

==========

<?php
//MySQLに接続し、データベースを選択します。
$conn = mysql_connect(‘tk****1-*****83.vs.sakura.ne.jp’,’r***’,’y********05′) or die(mysql_error());
mysql_select_db(‘2016*****_s****or’) or die(mysql_error());
//SQLクエリを実行します。
$res = mysql_query(‘SELECT * from t_sensor where water_need=”insert real data” order by Num DESC LIMIT 20’) or die(mysql_error());
//SQLクエリを実行します。(カウント追加2016/12/30)
$res1 = mysql_query(‘SELECT count(*) from t_sensor where water_need=”insert real data” ‘) or die(mysql_error());
//結果を出力します。
while ($row1 = mysql_fetch_array($res1, MYSQL_NUM)){
echo “RaspberryPiのRealData件数は、<br />\n”;
echo $row1[0].”\t”;
echo “<br />件です。<br />\n”;
echo “——————\n<br>”;
}
while ($row = mysql_fetch_array($res, MYSQL_NUM)){
echo $row[0].”\t”;
echo $row[1].”\t”;
echo $row[2].”\n”;
echo $row[3].”\n”;
echo $row[4].”\n”;
echo $row[5].”\n”;
echo “<br />\n”;
echo “——————\n<br>”;
}
//結果セットを開放し、接続を閉じます。
mysql_free_result($res);
mysql_close($conn);
?>

==========

173_WordPress_BackUP

WordPressのバックアップ方法  ( BackWPup )
メールでも脆弱性が指摘されたWP。せっかくのノウハウ記録なのでここでBakUPをとっておく。

 

そのまま。。。。
「WordPress では、BackWPup というプラグインを使うと、サーバー上とデータベース上の2つのデータのバックアップを安定して行うことができる。BackWPup の設定は、全て英語 だが、図の通り進めるだけで簡単に完了するので、安心して読み進めてほしい。」と。
ここで、
「WordPressプラグインのインストールと停止・削除・更新の方法」

WordPressプラグインのインストールと停止・削除・更新の方法


を参考に、『BackWPup 』をインストールします。

→管理サイトへ→プラグイン→新規追加→『BackWPup』を検索
(図1)
今すぐ、インストール。(で、、インストール中)
(図2)
BackWPupをインストールしたら、管理画面の左メニューから「BackWPup → 新規にジョブを追加(新しいジョブの追加)」の順にクリックしよう。
バックアップの設定には、次の2つの方法がある。
自動バックアップ
手動バックアップ
基本的に自動バックアップを推奨する。。。と。
設定をマネます。
(図3)
俺っちは。
(図4)
Zip(Windows で良く使用される圧縮方式。GZipの前身)
Tar(複数のファイルを1つにまとめる方式。UNIX 系 OS でよく使われる)
Tar GZip(GZip は、UNIX 系 OS で広く普及している圧縮方式)
Tar BZip2(BZip2 は、GZip より処理時間がかかるが、圧縮率が高いこともある)
引き続き。。。
(図5)
次はスケジュール。。。
(図6)
次にファイル。。。デフォルトのまま。。。。
(図7)
バックアップ先:フォルダは。。
(図8)
次の保存先名を参考にして、管理する際にわかりやすい名前をつけよう。
例./home/◯◯◯.co.jp/public_html/wp-content/uploads/file-backup/
なので、、、
/home/◯◯◯.co.jp/public_html/wp-content/uploads/WP_file-backup/
「File Deletion(ファイルの削除)」では、3ヶ月分のデータを保存するため「12」とした。(月4回×3ヶ月=12バックアップ)
設定の確認方法
「今すぐ実行」を押してみた!
(図8)
完了した??
(図9)
続いて、バックアップしたデータをダウンロードしよう。
管理画面の左メニューより「BackWPup → Backups」をクリックする。
(図10)
データベースも同じようにやっておこう。

172_RaspberryPi_Temp&Humid_recovery!

RaspberryPiが復活したので、温度湿度計も復活させてみます。

配線図は下図。。。。

で配線。。。

センサーの認識はOKの様子・。。。

センサが生きているかどうか????

$ i2cdump -y 1 0x40 w

結果は、、

     0,8  1,9  2,a  3,b  4,c  5,d  6,e  7,f
00: XXXX XXXX 0010 XXXX XXXX XXXX XXXX XXXX
08: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
10: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
18: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
20: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
28: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
30: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
38: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
40: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
48: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
50: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
58: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
60: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
68: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
70: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
78: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
80: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
88: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
90: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
98: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
a0: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
a8: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
b0: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
b8: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
c0: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
c8: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
d0: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
d8: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
e0: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
e8: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
f0: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
f8: XXXX XXXX XXXX 1e03 09f8 00dc 4954 0010
最下行が出ていれば良いらしい。。。

では測定コマンドPyhtonを投入。。。まあはかれているね。

でも湿度計は0.0のままかあ。。こっちはこわれたかな。。。

下記の、コマンドでのwiringpiのimportが大事。これ忘れると、Pythonのコマンドが効かない。エラー、、、って怒られる。。

WiringPi2 for Pythonをインストールする

の下記が重要。。

「以前のようにwiringpi2をimportすると、deprecatedだと怒られる。素直にwiringpiをimportすればよい。」

>>> import wiringpi
>>> wiringpi.piBoardRev()
2
>>> wiringpi.wiringPiSetup()
wiringPiSetup: Must be root. (Did you forget sudo?)
$

 

以上!

(さあ、TensorFlowに戻るか。。)

171_TensorFlow_install_test_success!!

TensorFlowの動きテストがうまくいった例を記録しておきます。

まず、

C:\Users\h1729>docker start -i tf

でtf(すなわちTensorFlow)を起動、次に
root@920195b1f780:/notebooks# jupyter notebook

でjupyter notebookを起動、指定されたURLでWebを起動

(図1)

すると、、本のようにサンプルが出ました。

(図2)

Pythonのコマンドも2こチェックしてみます。(すでにやったけど。。)

#1

import tensorflow as tf
hello = tf.constant(‘Hello World on 2017/02/10’)
sess = tf.Session()
print(sess.run(hello))
 
#2
a = tf.constant(100)
b = tf.constant(10000)
print(sess.run(a+b))

 

(図3)

正常にPythonの結果が表示されたようです。!!!

 

さあ、やっと、公式ホームページへ。。

 

以上

 

170_TensorFlow_from_google_AI_5_Anaconda_ipython_install

168_TensorFlow_from_google_AI_3で
使わなかったコマンド君たち。。。。
って言うか、Anacondaインストーるしてないよね。。。
なので、
$ conda create -n tensorflow python=2.7
(図1)
Proceed Y/Nを聞かれてyにしたら、注意された。。
(図2)
次なるコマンドうて、、、の様子。
$ source active tensorflow
はい、エラー。
(図3)
じゃ。TensorFlowのインストール。
$ conda install -c conda-forge tensorflow
何かやっとる。。
(図4)
何かすでに入っとるぞ、、と。
(図5)
じゃ、
$ conda install ipython
(図6)
こっちは、updateしたみたい。。。
(図7)
ここまで。
以上

169_TensorFlow_from_google_AI_4_jupyter notebook

Jupyter nootbookを使ってみる。
MS-DOSのコマンドプロンプトからコマンド
> jupyter notebook
Webが勝手にあがります。OKね。
右上でPython2を選択すると、新規タブが表示
(図1)
ファイル名変更
(図2)
(図3)
セルにコードを書き込んでいく、、、と。
import tensorflow as tf
hello = tf.constant(‘Hello World on 2017/02/10’)
sess = tf.Session()
print(sess.run(hello))
a = tf.constant(100)
b = tf.constant(10000)
print(sess.run(a+b))
(図4)
Ctrl+Enterで実行かな??、、、はい、エラー!
(図5)
> docker run -it ubuntu bash
やったけど。。。うーーーーん、まだエラーか。。。
(図6)
ちょっと今日は寝るか。。。疲れた。。。
また明日。。。
以上

168_TensorFlow_from_google_AI_3

TensorFlowに挑戦3
libraryをインストールします。は自動で更新。。。で。
次はAnaconda。これで環境を切り分けてインストールできるらしい。。。
なので、Anacondaのインストール。
また、
Ubuntuをあげる
# docker run -it ubuntu bash
で、ダメ?じゃ
Anaconda のインストールしてみる、、、で、下記
https://www.continuum.io/downloads
(図1)
Windowsを選択しておく。。。
インストール開始。。。
(図2)
(図3)
(図4)
ユーザ登録したら、ここに、、、いいのだろうか?
(図5)
そのあと、、、、?
コマンドプロンプトで
> jupyter notebook
としたら、あらら、Webが勝手に立ち上がって、、、、
(図1)
(図2)
で、
http://localhost:8888/tree?
にアクセス。あんまり変わんないけど。。。
(図3)
で、新規ファイル作成の時は、右上のNewを選択、、、と。
(図4)
今日はここまで。。。。。
下記は使わなかったコマンド君たち。。。。
$ conda create -n tensorflow python=2.7
$ source active tensorflow
うーん、眠い。。。。
以上

167_TensorFlow_from_google_AI_2

TensorFlowに挑戦2

続けて。。TensprFlowのインストール。。
CPU実行バイナリ、、とやらをダウンロードします。
コマンドは
$ docker run -it -p 8888:8888 -p 6006:6006 –name tf gcr.io/tensorflow/tensorflow /bin/bash
おお、何かやっとる。。。。
(図1)

同じコンテナを再起動する場合は、これだと。
> docker start -i tf
(図2)
次にTensorFlowの動作確認
今、コンテナが立ち上がっている状態だと。
root@920195b1f780:/notebooks#
のコマンド待ちだからそうかな??
Pythonを起動
実験。。。
root@920195b1f780:/notebooks# python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import tensorflow as tf
>>> hello = tf.constant(‘Hello World 2017/02/08 ‘)
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello World 2017/02/08
(図3)
計算も!
>>> a = tf.constant(1000)
>>> b = tf.constant(1001000)
>>> print(sess.run(a+b))
1002000
(図4)
一応、OKみたいね!
TensorFlowのインストール。
Pythonのバージョンに応じて、、、だって?
2.7.13か。。。
(図5)
 Ubuntuの場合、コマンドは、
$ docker run -it ubuntu bash
 でUbuntu上げておいて、、、、
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc2-cp27-none-linux_x86_64.whl
$ sudo pip install –upgrade $TF_BINARY_URL
Python環境のインストールはこれ。
$ sudo apt-get install python-pip python-dev
pipをインストールしてみるか。。。
https://websetnet.com/ja/install-pytonpip-ubuntu-1510-ubuntu-1504-ubuntu-1404/
を参考に下記のコマンドを
$ sudo apt-get update
$ sudo apt-get upgrade
$ apt-get -y install python-pip
$ apt-get -y install python-dev
も。。。。 では、再度、
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc2-cp27-none-linux_x86_64.whl
$ sudo pip install –upgrade $TF_BINARY_URL
何かインストールしとる。。。
明日、TendorFlowに必要なライブラリのインストールを!!!
以上

166_TensorFlow_from_google_AI

TensorFlowに挑戦
月刊InterFaceの3月号「TensorFlow」を参照してます。っていうかそのまま。。素人だから、まいいか。ね。
■まずDockerToolBoxのインストール
https://www.docker.com/
(図1)
Windowsを選択
(図2)
インストール開始
(図3)
インストール中
(図4)
インストール終了
(図5)
Dockerの動作確認
DockerQuickstart Terminalを起動、、ってういか
勝手に上がったぞ。。最初だからかな?。

あれ、でもTerminalがメニューにないな。。
https://docs.docker.com/docker-for-windows/

の英語マニュアルだと、、、
MS-DOSのコマンドプロンプトで良いみたい。。
コマンド実行
(図7)

更に、下記コマンドも。。。
$ docker run hello-world
何か出たけどOKかな?
(図8)

2回めは素直に出たな。。
(図9)
Ubuntuのコンテナをインストール
$ docker run -it ubuntu bash
(図10)
nginxとやらをインストール
$ docker run -d -p 80:80 –name webserver nginx
(図11)
Webでhttp://localhostを入力
(図12)
Webを立ち上げると、$ docker psコマンドでステータスが見える、と。
(図13)
If you want to stop the webserver, type: 「docker stop webserver」
and start it again with 「docker start webserver」
だって。。
あれ??やっぱりDockerToolBoxが無い。。やりなおし?
(図14)
(図15)
(図16)
はい、やり直そうと思ったけど、エラーメッセージ。。
(図1)
どうやら、すでにHyper-Vがあるとダメっと。。ならば最初のまま。
Dockerが入ってればよいなら、TensorFlowはインストールできるかも。と。。。
戻し。。。
以上

165_RaspberryPi3_to_sakuravps_data_sending

あーあ、なんとか元通り。そのまま書きます。。。。

==========================

20170205_pytosql6.py

==========================

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# import module
import os
import random # モジュールのインポート
# ドライバをimport
import mysql.connector
if __name__ == ‘__main__’:
# データベースに接続
# localhost access ok!!!!!
connect = mysql.connector.connect(user=’***t’, password=’***t’, host=’********t’, database=’201****_s***or’, charset=’utf8′)
cursor = connect.cursor()
# sakuravps access
# connect1 = mysql.connector.connect(user=’r****i’, password=’A******6′, host=’1*0.16.**.1*7′, database=’2****129_s***or’, charset=’utf8′)
# cursor = connect1.cursor()
temp=random.randint(0, 50)
humid=random.randint(0, 100)
# insert
# cursor.execute(‘insert into t_sensor (time_stamp,temp,humid,water_need,memo) values (now(), %s, %s, %s, %s)’, (100,100,’20170205test’,’test_success_2017/02/05′))
cursor.execute(‘insert into t_sensor (time_stamp,temp,humid,water_need,memo) values (now(), %s, %s, %s, %s)’, (temp,humid,’2017/02/06_test’,’test_success_2017/02/06′))
# Delete
cursor.execute(‘DELETE FROM t_sensor ORDER BY Num ASC LIMIT 1’)
# select
cursor.execute(‘select * from t_sensor order by Num DESC limit 2’)
rows = cursor.fetchall()
# 出力
for i in rows:
print(“————————“)
print(i[0])
print(i[1])
print(i[2])
print(i[3])
print(i[4])
print(i[5])
# autocommitではないので、明示的にコミットする
connect.commit()
# データベースから切断
cursor.close()
connect.close()
==========================
20170206_sndsak2.py
==========================
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# import module
import os
import random # モジュールのインポート
# ドライバをimport
import mysql.connector
if __name__ == ‘__main__’:
# データベースに接続
# localhost access ok!!!!!
connect = mysql.connector.connect(user=’***t’, password=’***t’, host=’********t’, database=’20******5_s****r’, charset=’utf8′)
cursor = connect.cursor()
# select
cursor.execute(‘select * from t_sensor order by Num DESC limit 1’)
rows = cursor.fetchall()
# 出力
for i in rows:
print(“—send below data to sakravps success !!—-“)
print(i[0])
print(i[1])
print(i[2])
print(i[3])
print(i[4])
print(i[5])
# sakuravps access
connect = mysql.connector.connect(user=’r***ai’, password=’A****456′, host=’1*0.**.**.1*7′, database=’20*****9_****or’, charset=’utf8′)
cursor = connect.cursor()
# insert
cursor.execute(‘insert into t_sensor (time_stamp,temp,humid,water_need,memo) values (%s, %s, %s, %s, %s)’, (i[1],i[2],i[3],i[4],i[5]))
# Delete
cursor.execute(‘DELETE FROM t_sensor ORDER BY Num ASC LIMIT 1’)
# autocommitではないので、明示的にコミットする
connect.commit()
# データベースから切断
cursor.close()
connect.close()
==========================
ちなみにcrontabは下記です。
50 * * * * sudo python 20170205_pytosql6.py
51 * * * * sudo python 20170206_sndsak2.py
==========================
The End