187_send_SQL_data_RPi>sakuravps, 20170303_snd_skr_ms1.py

sakuravps側でprivileges設定が必要だね。外部アクセスには。
参考は、
142_MySQL_外部ホストからのMySQL接続
grant all privileges on 20170301_moisture_sensor.* to raspai@”%” identified by ‘Aa123456’ with grant option;
(図)Before
(図)RPi側のMySQL、最新データを転送します!!!
(図)After
(図)sakura側のMySQL、20番目にRPiからのデータが入りました!!!
結局pythonファイルは、下記
****************
ありかは、
/home/pi
****************
ファイル名は、
20170303_snd_skr_ms1.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=’root’, password=’root’, host=’localhost’, database=’moisture_sensor’, charset=’utf8′)
cursor = connect.cursor()
# select
cursor.execute(‘select * from ms_tbl 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=’raspai’, password=’Aa123456′, host=’160.16.50.187′, database=’20170301_moisture_sensor’, charset=’utf8′)
cursor = connect.cursor()
# insert
cursor.execute(‘insert into ms_tbl(time_stamp,adc,read_adc,volts,comment) values (%s, %s, %s, %s, %s)’, (i[1],i[2],i[3],i[4],i[5]))
# Delete
cursor.execute(‘DELETE FROM ms_tbl ORDER BY Num ASC LIMIT 1’)
# autocommitではないので、明示的にコミットする
connect.commit()
# データベースから切断
cursor.close()
connect.close()
****************
以上!!

186_mysql & php google graph for 20170301_moisture_sensor

Moistureセンサの準備、久しぶりにsakuraサーバのMySQLデータのgoogleグラフ化。変数項目の修正だけでいけました!よかった。。。
■php表示ファイルのありか
/var/www/html/mois_gra
■php表示ファイル名
mois_gra1.php
<!DOCTYPE html>
<html>
  <head>
    <!– AJAX API のロード –>
    <script type=”text/javascript” src=”https://www.google.com/jsapi”></script>
    <script type=”text/javascript”>
    // Visualization API と折れ線グラフ用のパッケージのロード
    google.load(“visualization”, “1”, {packages:[“corechart”]});
    // Google Visualization API ロード時のコールバック関数の設定
    google.setOnLoadCallback(drawChart);
    // グラフ作成用のコールバック関数
    function drawChart() {
    // データテーブルの作成
    var data = google.visualization.arrayToDataTable([
       <?php
       //MySQLに接続し、データベースを選択します。
       $conn = mysql_connect(‘tk2-201-10183.vs.sakura.ne.jp’,’root’,’yoshihara20160805′) or die(mysql_error());
       mysql_select_db(‘20170301_moisture_sensor’) or die(mysql_error());
       //SQLクエリを実行します。
       $res = mysql_query(‘SELECT * from ms_tbl order by Num DESC LIMIT 10’) or die(mysql_error());
      //$res = mysql_query(‘select * from ms_tml where water_need=”insert real data” and Num > ((select max(Num) from t_sensor)-30)’) or die(mysql_error());
      //$res = mysql_query(‘select * from t_sensor where water_need=”insert real data” order by Num DESC LIMIT 10’) or die(mysql_error());
      //$drawScript ='<br>グラフデーターを書くまでの記述<br>’;
       $i = 0;
       while ($row = mysql_fetch_array($res, MYSQL_NUM)){
       if ($i != 0) {
           $drawScript .=”, [‘” . $row[1] . “‘,” . $row[2] . “,” . $row[3] .  “]”;
       } else {
           $drawScript .= “[‘日時’, ‘adc’, ‘read_adc’], [‘” . $row[1] . “‘,” . $row[2] . “,” . $row[3] . “]”;
           // 一つ目の項目は 前に コンマ がいらないのと要素を入れる必要があるため
       }
        $i++;
       }
        print $drawScript;
        //結果セットを開放し、接続を閉じます。
        mysql_free_result($res);
        mysql_close($conn);
       ?>
   ]);
    // グラフのオプションを設定
    var options = {
        title: ‘温度・湿度グラフ’
    };
    // LineChart のオブジェクトの作成
    var chart = new google.visualization.LineChart(document.getElementById(‘chart_div’));
    // データテーブルとオプションを渡して、グラフを描画
    chart.draw(data, options);
    }
    </script>
  </head>
 
  <body>
    <!– グラフを描く div 要素 –>
    <div id=”chart_div” style=”width: 80%; height: 400px;”></div>
    <br>
    表示データ<br>
    *****************************<br>
    [  日時  , adc , read_adc  , comment ] <br>
   <?php
    //MySQLに接続し、データベースを選択します。
    $conn = mysql_connect(‘tk2-201-10183.vs.sakura.ne.jp’,’root’,’yoshihara20160805′) or die(mysql_error());
    mysql_select_db(‘20170301_moisture_sensor’) or die(mysql_error());
    //SQLクエリを実行します。
    $res = mysql_query(‘SELECT * from ms_tbl order by Num DESC LIMIT 10’) or die(mysql_error());
    //$res = mysql_query(‘SELECT * from ms_tbl where water_need=”insert real data” order by Num DESC LIMIT 10’) or die(mysql_error());
    //結果を出力します。
    while ($row = mysql_fetch_array($res, MYSQL_NUM)){
    echo “[\n”;
    echo $row[0].”\n”;
    echo “,\n'”;
    echo $row[1].”\t”;
    echo “‘,\n”;
    echo $row[2].”\n”;
    echo “,\n”;
    echo $row[3].”\n”;
    echo “,\n”;
    echo $row[4].”\n”;
    echo “,\n”;
    echo $row[5].”\n”;
    echo “],\n”;
    echo “<br />\n”;
    }
    //結果セットを開放し、接続を閉じます。
    mysql_free_result($res);
    mysql_close($conn);
   ?>
    *****************************<br>
  </body>
</html>
以上
(寺田病院の病室より!)

185_mysql connector Python インストール on RaspberryPi

mysql connector Python インストール
下記参考
【さくらVPS】mysql-connector-pythonをインストール(Python 2.7.11)
http://supi.sakura.ne.jp/conquest/2016/05/05/%E3%80%90%E3%81%95%E3%81%8F%E3%82%89vps%E3%80%91mysql-connector-python%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%ABpython-2-7-11/
事前チェック(2.7以上かどうか)
$ python -V
Python 2.7.9
pipインストール
$ curl -kL https://bootstrap.pypa.io/get-pip.py | python
許可がない!と怒られたのでrootになります。
# curl -kL https://bootstrap.pypa.io/get-pip.py | python
mysql-connector-pythonインストール
# pip install mysql-connector-python
(私も)ここでエラーが出た。で確か”ーrf”つけるとうまくいくと。。。
# pip install mysql-connector-python-rf
行った感じ!!!
=======================
とりあえず、ファイルは、下記
=======================
20170227_pytosql1.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=’root’, password=’root’, host=’localhost’, database=’moisture_sensor’, charset=’utf8′)
cursor = connect.cursor()
# sakuravps access
# connect1 = mysql.connector.connect(user=’raspai’, password=’Aa123456′, host=’160.16.50.187′, database=’20161129_sensor’, 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 ms_tbl(time_stamp,adc,read_adc,volts,comment) values (now(), %s, %s, %s, %s)’, (temp,humid,’RaspberryPi_2_20170226′,’insert test 2017/03/01′))
# Delete
# cursor.execute(‘DELETE FROM t_sensor ORDER BY Num ASC LIMIT 1’)
# select
cursor.execute(‘select * from ms_tbl order by Num DESC limit 10’)
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()
=======================
動作結果は、下記
=======================
=======================
phpmyadminも下記
=======================
OK!!!

184_sakuravps_Todo_Moisture_Sensor

さあ、はじめよ!まずは¥準備から!

Moisture Sensor
1)MySQL、create DB, table #,date,value,comment
2)Python2 dummy data sending to MySQL
3)半田付け、ピンヘッダ、MCP3008
4)ブレッドボード配線
5)測定試験
6)データ収集、DB書き込み
7)crontab -e setting /hour

 

183_sakuravpsにバックアップ復元ファイルをインポート

2/12のたまたま取っておいたバックアップファイルで復元を試みる!
やり方は下記。。
あーあ、もどるかな。。。。?
https://blog.s-giken.net/137.html
FileZillaは接続できたので、
WPをインストールしたフォルダを探す。。
(図1)
たまに動画も。
(図2)
あれ、、?
でも現用WPがもとに戻ってる??
(図3)
(図4)
おかしいなあ。。2/18分
まであるからバックアップでの復元ではなさそう。。
DBもあるなあ。。
(図5)
うーーん。どうやら、やはり2/12のヴバックアップで復旧したみたい。
そのかわりプラグイン(BackWPup)がないので。
多分ブログはDBが保存されてたから、2/18最新までアップ済みみたい。
(よかった!)
じゃ、せっかくなので、最新バックアップで
sakuravpsにレプリカ作れるかやってみるか。。
うーん、でもことごとくエラーになっとる。。。。。
1つもコピーできていない??
じゃ、BackWPupでエクスポートをとってみる。
「wordpress.2017-02-26」
でXMLファイルみたい。。
これをインポートできるか?だな?
では、やてみましょう!
(図)
 
はたして???
行けたみたいね!!!!
 ちなみに、
/var/www/html/wordpress/wp-content
php.ini
を作成してアップロードの容量をあげたけど意味なし。
多分最初のpptファイル群が重いのかと、
なので投稿だけアップしました。
以上

182_Bluetooth mouse & Keybord_to_RaspberryPi(Linux)

To realize connection Bluetooth mouse & Keybord
うーーん。でもconnection設定うまくいかない。。。。。失敗だけどとりあえずブログ。。
 
http://www.negusoft.com/index.php/ultimate-control/downloads
 
JDK,JRE install
reference to below Web
http://www.linuxmania.jp/apt-install-java.html
 
1. JREのインストール
Javaアプリケーションを実行する場合には、JRE(Java Runtime Environment, Javaランタイム)のインストールが必要です。
まずパッケージインデックスを更新します。
$ sudo apt-get update
次のコマンドで、JREがインストールされているか確認します。
$ java -version
確認できたでしょうか。
「プログラム ‘java’ は以下のパッケージで見つかりました」(もしくは「見つからない」等)と表示されたら JREがインストールされていません。次のコマンドを実行してください。
$ sudo apt-get install default-jre 
 
2. JDKのインストール
Javaアプリケーションを開発する場合には、JDK (Java Development Kit)のインストールが必要です。
まずパッケージインデックスを更新します。
$ sudo apt-get update
次のコマンドで、JDKがインストールされているか確認します。
$ javac -version
確認できたでしょうか。
「プログラム ‘javac’ は以下のパッケージで見つかりました」(もしくは「見つからない」等)と表示されたら JDKがインストールされていません。次のコマンドを実行してください。
$ sudo apt-get install default-jdk
 
=======
sudo apt-get install openjdk-6-jre
=======
sudo apt-get install libbluetooth-dev
=======
sudo sh install
=======
ucontrol
=======
以上

180_定番アプリ文字認識1

では、Ubuntuにtensorflowをインストーるしましょう。

私の場合、Win10のHyperVにインすトールするんですが、、、

これまたうまく行かなくって。。。笑。。。ほほほ

まず、、、、

パーッケージアップデート

コマンドは、、、

$ sudo apt-get update

Pythonのバージョン確認

$ pyhon -v

(2.7.1以上であること。)

[dasudasu@localhost Desktop]$ python
Python 2.6.6 (r266:84292, Jul 23 2015, 14:41:34)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

TensorFlowでは2.7以上が必要なので、まずはpythonの更新

$ su –
pass y\\\\\\\\0612
# cd /usr/local/src/
# wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
# tar zxf Python-2.7.13.tgz
# cd Python-2.7.13/
# ./configure
# make && make altinstall   —NG
# mv /usr/bin/python /usr/bin/python2.7.13
# cp /usr/local/src/Python-2.7.13/Python /usr/bin/python

・・・・・・

・・・・・・

$ sudo apt-get install python-pip python-dev

$ sudo apt-get install python-numpy

いろいろコマンド打って、、、とりあえず順調??

(図1)

更に引き続き。。。順調???

(図2)

うーーーん。なんとなくAIが触れられたかな。。。って簡易

<2017/07/08に追記、イメージ貼り付け>

 

以上

 

179_TensorFlow_from_google_First_Experience(3)!_End

(3)
init = tf.initialize_all_variables()
を打ち直したらWaringでなんとか。。
続けます。。。。
ssess = tf.Session()
sess.run(init)
for i in range(1000) :
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x:batch_xs, y_: batch_ys})
で。。
print (sess.run(b))
オールゼロ。。。だけど良いのかな???
2回目。。
print (sess.run(b))
おおーーなんか出てきた!
(図1)
次は、正答率算出
correct_prediction = tf.equal(tf.argmax(y, dimension=1), tf.argmax(y_, dimension=1))
とりあえず、エラーなし。。。
(図2)
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
とりあえず、エラーなし。。。
(図3)
さあ、正答率???
print(sess.run(accracy, feed_dict={x: mnist.test.images, y_:mnist.test.labels}))
(図4)
出力0.9188???
「約92%の精度で分類できた」。。。と。。。????
最後に、
sess.close()
(図5)
これでいいのかな???まったくわからんなあーーーー
マネ勉強しよ。。。。
以上

178_TensorFlow_from_google_First_Experience(2)!

では、データ数(サンプル数)。。。
コマンドは、
mnist.train.num_examples
と、思ったらエラー。。。

どうやら、毎回mnistをrunさせないとけないらしい。。。
なので、
from tensorflow.examples.tutorials.mnist import input_data
mnist=input_data.read_data_sets(“MNIST_data/”, one_hot=True)
を再度Ctral+Enterで起動。
すると、、、OK!
(図1)
テストデータの数を確認、コマンドは、
mnist.test.num_examples
OK!!
(図2)
で、次は、ニューラルネットワークをTensorflowで実装します。
(なんのこっちゃ??)
ライブラリのインポート。
コマンドは、
import tensorflow as if
特にOutputなし。。。だな。
(図3)
入力層の準備
コマンドは、
x = tf.placeholder(tf.float32,[None, 784])
これも特にOutputなし。。。
(図4)
次にウェイトとバイアスの準備
コマンドは、
w = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
はい、反応なし。。。いや多分準備中・・・
(図5)
次にソフトマックス関数の適用
コマンドは、
y = tf.nn.softmax(tf.matmul(x,W) + b)
はい、、、反応なし。。。
(図6)
正解ラベルのプレースホルダ
y_ = tf.placeholder(tf.float32, [None, 10])
はい、、、反応なし。。
(図7)
交差エントロピー。。。なんのこっちゃ??
コマンドは、
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
はい、、反応なし。。。
(図8)
損失の最小化、、なんのこっちゃ??
コマンドは、
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
ハイ、反応なし。。。
(図9)
変数の初期化
コマンドは、
init = tf.initialize_all_valiables()
・・・うーーーんエラー。。。
(図10)
 ・・・変数の初期化から、再度。。。。トライ!!!
以上