150_RasPiの固定IPアドレス(うちはムリ)

やはり固定IPアドレスにチャレンジしたけど。。。
うちはルータないので、MACアドレスとの対応ができなくて、、ダメ。。
一応ブログなので、記録だけ。
参考はここ。
http://blog.nambo.jp/2013/07/28/raspberrypi-set-ipaddress/
では、まずうちのモデム設定を。
(図1)
capture_2016_12_31_06_39_13_932
でメニューでDHCPを選択。
うちの場合、モデムで設定しているだけなので、
ルータがないからうまく設定できるかな?
とりあえず、
「192.168.0.50から2アドレスだけDHCP設定外にする」
、、、だけ設定できたようだ。
(図2)
capture_2016_12_31_06_38_35_3
次は、Raspberry側。
LXTerminalで以下のコマンドを入力します。
$ sudo vi /etc/network/interfaces
3行目の「dhcp」と書かれた部分を「static」に書き換え、
ルータ側で割り当てたIPアドレス、ネットマスク、ゲートウェイを
以下に従って、書き足します。
address 192.168.0.50 (設定したIPアドレス)
netmask 255.255.255.0 (ifconfigで確認したネットマスク)
gateway 192.168.0.1
ファイルをセーブしたら、ラズパイを再起動させます。再起動は、ターミナルより「sudo reboot」と入力すればできます。]
SSHでリモート操作
TeraTermを立ち上げて、ラズパイに割り当てたIPアドレスにSSHでアクセスします。
うーーーん。でも
# ifconfig
見ると、アドレスがDHCPで割り振られたまま。
そりゃそうか。。MACアドレス指定してないから、振られてしまうよな。。。
仕方ないので、このままつかいましょ。。。。。
以上!

149_MySQL_10_(最古行削除!)_on SAKURAVPS

そろそろRaspberryPi3も準備段階後半戦。。。
最古行を消すようにSQLを加える。

ユーザ:raspaiのcronは、
$ crontab -l

10 * * * * mysql -u raspai -pAa123456 20161129_sensor < file_sql_upd3
なので、
(図1)
capture_2016_12_30_06_05_13_805
file_sql_upd3
をいじくれば良いはず。。
最新行を選択の時は、下記のコマンドなので、
SELECT Num,temp,humid into @abc,@temp_d,@humid_d
from t_sensor WHERE Num IN (SELECT max(Num) FROM t_sensor);
最古行を選択には、、まず、、、
SELECT Num,temp,humid from t_sensor WHERE Num IN (SELECT min(Num) FROM t_sensor);
かな???
(図2)
capture_2016_12_30_06_10_13_364
Num=387が最古行のようだ。
よし、SQL良さそうだ。
(図3)
capture_2016_12_30_06_12_53_757
ついでに、カウントもとって前後確認しようか。
SELECT COUNT(*) FROM `t_sensor`
(図4)
capture_2016_12_30_06_14_46_196
709行あり!
では、加えましょう。
カウントはこっちにいれようか、と。
(図5)
capture_2016_12_30_06_20_33_962
確か場所は、、、
/var/www/html

ファイルは、
20161129_disp_inst.php
ここに、
//SQLクエリを実行します。(カウント追加2016/12/30)
$res1 = mysql_query(‘SELECT count(*) from t_sensor’) or die(mysql_error());
を追加して表示させます。
while ($row1 = mysql_fetch_array($res1, MYSQL_NUM)){
echo $row1[0].”\t”;
echo “<br />\n”;
echo “——————\n<br>”;
}
20161230_disp_inst.php
で実行、いい感じね。!!
(図6)
capture_2016_12_30_06_36_55_363
一行削る方は、、、と。
file_sql_upd4
を作りましょう!
最古行を削除するには、、、
delete FROM `t_sensor` WHERE Num IN (SELECT min(Num) FROM t_sensor);
では、うまく行かなかったので、
DELETE FROM t_sensor ORDER BY Num ASC LIMIT 1;
うーーん、Numの最初の行を削るにしたけど、、、、まいいか。。。
これを加えます。
crontabを変更
10 * * * * mysql -u raspai -pAa123456 20161129_sensor < file_sql_upd4
に修正
これでOKかな?
705行を維持すれば、良いはず。。
Webも修正しておこっと。。
以上!!

148_RasPiのsshとvnc接続(Ubuntu Remmina利用)

Raspberry Pi3のsshとvnc接続
下記を参考に!
http://desktop-linux.namakemono345.com/ssh-vnc/
1.sshの接続確認
RaspberryPi3のアドレスは、
192.168.0.12
なので、HyperVのUbuntuからSSH接続してみます。
(多分大丈夫なはずだけど。)
# ssh ユーザー名@192.168.0.10
でOK!
(接続できました!)
(図1)
capture_2016_12_29_17_45_24_102
2.VNCのインストールと初期設定
Raspberry Pi3に接続したら、以下コマンドでVNCサーバをインストールします。。。
だけどこれ昨日やったんだよな。確か。
(図2)
capture_2016_12_29_17_47_35_747
やはり!OK!
インストールが完了したら以下コマンドでvncserverを起動します。
# vncserver :1
(図3)
capture_2016_12_29_17_49_34_404
4.VNC接続
今回はUbuntu(PC)からVNCでRaspberryPi3に接続するわけですが、UbuntuにはデフォルトでRemminaというVNCクライアントとしても使えるソフトウェアがインストールされていますので、それを使います。
(これがやりたかった!さあ!)
[アクティビティ]からアプリケーションの一覧を表示し、[Remmina]を選択して起動しましょう。
(あるかな???おお、あったよ!!)
(図4)
capture_2016_12_29_17_55_38_361
Remminaを起動したら、「新規」ボタンをクリックします。
接続設定ウィンドウが開いたら、プロトコルを「VNC – 仮想ネットワークコンピューティング」に変更し、「サーバー」には「ipアドレス:5901」を入力の後、Raspberry Pi3のログインユーザーとパスワードを入力して「Connect」ボタンをクリックします。
OK!!
(図5)
capture_2016_12_29_17_58_55_201
capture_2016_12_29_18_00_48_752
5.vncserverの自動起動
一通りリモート接続が可能になりましたが、VNCを使うことを考えるとこのままではRaspberry Pi3を起動するたびに毎回[vncserver :1]を実行する必要があります。
それはそれで面倒なので、cronで自動起動するようにしたいと思います。
(。。。確かに!)
Raspberryで以下コマンドを実行します
# sudo crontab -e
コマンドを実行するとエディタを選択するように促されるので、1-3から好きなエディタを選択してください
(今回は、3で)
エディタを選択したら末尾に以下1行を追加して上書き保存します
# @reboot su -c “vncserver :1” user
RaspberryPi3を再起動して、再度VNCで接続!!!!
(できました!)
(図6)
capture_2016_12_29_18_25_40_542
固定アドレスはやめておこう!っと。
以上!

147_RasPi_温度湿度測定の準備2_部品購入

秋月電子通商で電子部品を購入しました!

http://akizukidenshi.com/catalog/top.aspx

passは、「A*****6」で。

ーーーーーーーーーーーーーーーー

HDC1000使用 温湿度センサーモジュール

http://akizukidenshi.com/catalog/g/gM-08775/

ブレッドボード BB-801

http://akizukidenshi.com/catalog/g/gP-05294/

ブレッドボード・ジャンパーコード(オス-オス)(10cm)20本セット

http://akizukidenshi.com/catalog/g/gC-05371/

ブレッドボード・ジャンパーコード(オス-メス) 15cm(赤) (10本入)

http://akizukidenshi.com/catalog/g/gC-08933/

 

capture_2016_12_29_17_11_14_902

以上!

 

146_RasPi_温度湿度測定の準備

 セットアップは、下記を参考にした。。(まあ順調!)
http://azwoo.hatenablog.com/entry/2013/07/13/130953
1. Raspberry pi セットアップ
SDカード(16GB)はOSインストール済にしたので、Raspbianを選択だけすれば良いはず。。
画面がないので、
・ssh(ssh pi@ 初期パスワードはraspberry) などでログインして初期設定を行う。
・設定ユーティリティを起動し,時刻や言語等を設定。
は必要のはず。。
$ sudo raspi-config
2.2.wifiセットアップ
これも設定だけのはず。smileネットワークの設定を。。。
====さあ、ここから配線設計=====
3.ブレッドボードで配線
まず、素人なので、「温度湿度測定」をやってみよう!

を参考に。
部品は、「HDC1000」が良いらしい。。
(図4)
capture_2016_12_24_18_56_39_264
電子線には、”I2C”というのがあるけど、何々??
「I2Cは2本の信号線にプルアップ抵抗が必要ですが、Raspberry PIはプルアップ抵抗が内蔵されているため接続するだけで使用できます。」
と。よかった!
「+V,GNDは電源、SDA,SCLはI2Cです。RDYは今回は未接続でかまいません。」と。
ここから、

を参考に
接続は、下図で。
(図5)
capture_2016_12_24_19_08_31_344
秋月電子で買うべき「部品」で必要なものは。。。
①ブレッドボードBB-801(200円)
②HDC1000、AE-HDC1000(680円)
③ブレッドボード・ジャンパーコード(オス-オス)(10cm)20本セットBBJ-20(180円)
③ブレッドボード・ジャンパーコード(オス-メス) 15cm(赤) (10本入)C-08933(220円)
4.スクリプト作成
(★★ここからはラズパイ来てからやろう★★
(★ここから)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
「python版wiringpi2」というのをインストールすると便利らしい。。
$ sudo apt-get install python-dev python-pip
$ sudo pip install wiringpi2
温湿度取得用pythonスクリプト作成
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
(★ここまで)
<ここは参考いずれ、、ね。>
ここから未準備。手作業必要。。まず設計。
配線図を勉強させてもらおう。
■回路図AP
「Windows専用のBSch3V」が良いらしい。さすがネット。
http://www.suigyodo.com/online/schsoft.htm
■配線図AP
「Fritzing」が良いらしい。
http://fritzing.org/projects/
http://fritzing.org/download/
以上(まだ途中だけど。。。)

145_RasPi_配線図APと水分センサ設計

1.配線図AP
「Fritzing」が良いらしい。。。ので早速DL。
http://fritzing.org/download/
ほう!こうは便利だわ。かなり完成度が高いAP!
(図9)
capture_2016_12_25_16_55_27_827
(図10)
capture_2016_12_25_16_55_41_433
早速使おう!
さて、水分センサの設計は?と。
2.GROVEシステムの水分センサ
https://www.switch-science.com/catalog/814/
によると、GROVEシステムの水分センサは、
「水分量による土中の抵抗値変化に応じてアナログ電圧を出力します。 」
なので、やはりADCがいるようだ。
(図6)
capture_2016_12_25_16_42_30_964
(図7)
capture_2016_12_25_16_43_33_383
3.ブレッドボードで配線
ここの英語サイトを参考に勉強します。
https://cdn-learn.adafruit.com/downloads/pdf/reading-a-analog-in-and-controlling-audio-volume-with-the-raspberry-pi.pdf
ふむふむ。
RasberyPiにはアナログ読取装置が無いので、External装置(MCP3008とか)をつければ簡単、、と。
(Arduinoにはあるようだ。。別途ね!)
早速、MCP3008をwiringすると。
(図1、ものの写真)
ラズパイ君は、8ch入力のうち4chを活用するようだ。
capture_2016_12_24_17_58_51_666
(図2、ch構成図)
capture_2016_12_24_18_02_08_608
あれ、でも読むと、結局全部使うようだ。
MCP3008 VDD(analog ground) -> 3.3V (red)
MCP3008 VREF((analog voltage reference) -> 3.3V (red)
MCP3008 AGND(analog ground) -> GND (black)
MCP3008 CLK(Clock pin) -> #18 (orange)
MCP3008 DOUT((Data Out from MCP3008) -> #23 (yellow)
MCP3008 DIN((Data In from Raspberry Pi) -> #24 (blue)
MCP3008 CS(Chip Select) -> #25 (violet)
MCP3008 DGND(digital ground) -> GND (black)
あれ?、Next connect up the potentiometer. 、、って他にも必要なものいるのかあ。。
https://www.adafruit.com/products/356
(図8)
capture_2016_12_25_16_48_29_791
うーーん。ラズパイの本では、他のADCに、
ADS1015搭載 12BitADC 4CH 可変ゲインアンプ付き
もあるようだ。
ゲイン設定可能なアンプが付いた12ビットのADコンバータです。I2C接続。 と。
(図11)
capture_2016_12_25_17_15_24_727
ひとまず、MCP3008で設計してみるか。。。
ところで、このRaspberryと直結する40ピンのケーブル便利そうね!
Adafruit Raspberry Pi用ブレッドボード接続I型基板セット
https://www.switch-science.com/catalog/1258/
(図12)
capture_2016_12_25_17_27_18_385
いやRaspberry3の場合は、こっちね。
Raspberry Pi B+用T型I/O延長基板
https://www.switch-science.com/catalog/2074/
(図13)
capture_2016_12_25_17_31_58_153
つづく(水分センサ設計まだまだ解明できてない。。。)
以上

144_RasPi_MySQL_install、でもutf8設定不完全

データベースを使う(MySQL)

データベースを使う(MySQL)


を参考に。

1.MySQLのインストール
Raspberry Pi(Linux)にMySQLをインストールします。
以下のコマンドを実行するだけです。
インストール時に、MySQLのroot用パスワードの入力を求められます。
このパスワードは後で変更することが可能です。
$sudo apt-get install mysql-server
2.MySQLクライアントの実行
以下のコマンドで、rootとしてMySQLクライアントで制御できるようにします。コマンド実行後、上記で設定したroot用パスワードの入力を求められます。
# mysql -u root -p test
Enter password: ←パスワードを入力
mysql> ←ここからMySQLの操作開始
3.文字コードの確認
データベースを使う前に、文字コードの確認と設定を行います。日本語を扱った時の文字化けを防ぐためUTF8に統一します。
MySQLで以下のコマンドを実行します。
mysql> status
4.文字コードの設定
文字コードの設定を変えるには、my.cnfファイルを以下のように修正します。
★★★★でも、viで修正できなかったので、やってない!!!★★★★
$ vi /etc/mysql/my.cnf
[client]
default-character-set=utf8
  
[mysqld]
collation-server = utf8_unicode_ci
init-connect=’SET NAMES utf8′
character-set-server = utf8
  
[mysqldump]
default-character-set=utf8
以上!!

143_RasPi_SSH_remote接続(VNCソフト活用)

RasPiがやっときました。
(図1)
capture_2016_12_29_03_31_45_732
でもTV画面は面倒なので、
「ラズベリーパイにSSHでリモート接続」
をやってみようかと。
参考は、ここ。
http://usicolog.nomaki.jp/engineering/raspberryPi/raspberryPi_SSH.html
SSHの有効化
SSHによるリモート接続
tightVNCによるリモート接続
をやります。
■SSHの有効化
1.SSHの有効化
ラズパイの方の環境設定があるらしい。
デスクトップ画面から「LXTerminal」をクリックし、ターミナルを立ち上げ。
ターミナルに「sudo raspi-config」と打ち込んで、OSの設定を行う。と。
# sudo raspi-config
「5.Internationalisation Options」を選択、キーボードの設定
2.パスワードの変更
これ昨日やった。確かR****2**12*8に。ログイン名はpiのまま。
3.タイムゾーンの変更
これも昨日やった。
4.ラズパイのカメラモジュールの有効化
「6. EnableCamera」を選択。
5.SSHの有効化
「9. Advanced Options」を選択
「A4 SSH」を選択、 SSHを有効にするために「Enable」を選択。
6.OS設定画面の終了
以上で、OSの設定が終了したので再起動させます。設定画面で「Tabキー」を2回押して「Finish」を選択します。
■SSHによるリモート接続
1.ラズパイでSSHを使うには、ラズベリーパイに固定IPアドレスを割り当てる必要があります。ここではルータでラズパイに固定IPアドレスを割り当て、それからラズパイ側でネットワークの設定を行うという手順で、と。
ルータで固定IPを割り当て
まず、ラズベリーパイのMACアドレス(ハードウェアアドレス)と、サブネットマスクを調べます。 ラズパイの「LXTerminal」を開いて「ifconfig」と入力してください。ifconfigコマンドでは、ラズパイに割り当てられているIPアドレスや、MACアドレス、サブネットマスク等を確認できます。。。。か。
# ifconfig
表示されたMACアドレスとサブネットマスクを覚えておいてください。後ほど使います。か。
でも。うちのモデムにはルータ昨日ないので、固定IPアドレス設定は無理。。。。
そのままにしておこうか。とりあえず。。。
うまく動くか知らんが。。。。やってみる。
とりあえず、TeraTermは動いた。。。接続できたみたい。
(図2)
capture_2016_12_29_04_19_09_879
■tightVNCによるリモート接続
次は、ラズベリーパイをGUIで操作するためにtightVNCをインストールします。
ラズパイにはtightVNCServer(VNCサーバー)を、WindowsパソコンにはVNC-Viewer(VNCクライアント)をインストールする必要があります。まずはラズパイにtightVNC-Serverをインストールしていきます。
tightVNC-Serverのインストール
インストール前に、ラズパイを以下のコマンドよりアップデートしておきます。アップグレード時に”続行しますか”と出るので、「y」を入力して処理を続けてください。
# sudo apt-get update
# sudo apt-get upgrade
(これは時間かかる。。。ね)
ラズバイに、tightVNC-Serverをインストールします。
# sudo apt-get install tightvncserver
■VNC-Viewerのインストール
WindowsにはVNC-Viewerをインストールします、、と。
REAL VNC
https://www.realvnc.com/download/viewer/
から「VNC Viewer for Windows」のEXEファイルを選び、ダウンロードします。ソフトを起動するには、ダウンロードしたexeファイルを実行することで起動できます。
VNCのアカウントを作らされたけど。。まいいか。
 (図3)
capture_2016_12_29_04_43_37_733
 ■tightVNCを使ってみる
ラズベリーパイに電源を入れてOSを起動させます。
次に、WindowsパソコンからTeraTermを開いて、ラズパイにSSHでログインします。[1. tightVNC-Serverの起動]
コマンドとして「tightvncserver」を入力します。初回は通信のためのパスワードを決めます。# tightvncserver[2. VNCセッションの開始]
以下のコマンドよりVNCセッションを開始します。# vncserver :1 -geometry 800×600 -depth 24[3. VNC-Viewerの起動]
VNC-Viewerが起動します。VNC-ServerにはラズパイのIPアドレスと、先ほどの番号を指定してConnectを押します。[4. パスワード入力]
VNC-Serverで決めたパスワードを入力します.(A*******6)

うーーーん。やはり固定IPアドレス設定しないとrefuseされてしまったか。。。

(図4)

capture_2016_12_29_05_13_31_848

仕方なし。。。

いやいや、UbuntuのRemmnaを参考に、設定をしなおしたらOK!

connectionを

192.168.0.12:5901

としただけ!

(図x)

capture_2016_12_30_07_21_47_994

(図y)

capture_2016_12_30_07_21_10_299

以上(ふうう、、、良かった)!

 

142_MySQL_外部ホストからのMySQL接続

RasberryPiの準備のため
「外部ホストからのMySQL接続」
を試してみる。
参考下記。
http://linuxserver.jp/%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89/db/mysql/%E5%A4%96%E9%83%A8%E6%8E%A5%E7%B6%9A%E8%A8%B1%E5%8F%AF%E8%A8%AD%E5%AE%9A
外部ホストからのMySQL接続
MySQLはデフォルトでは外部ホストからの接続を許可しないようになっています。
外部ホストからの接続を許可するには下記の手順で設定を行います。。。と。
まずは、MySQLに接続。
# mysql -u root -p
> yos***********5
(図1)
 capture_2016_12_20_21_46_38_125
DBの表示
# show databases;
(図2)
capture_2016_12_20_21_47_35_925
ユーザの表示
mysql> select user,host from mysql.user;
(図3)
capture_2016_12_20_21_49_41_856
すべてのホストから接続できるようにするように、権限をつけます。
ワイルドカードを指定して設定します。
私の場合、、、
ユーザ名”raspai”、接続する外部ホストは”160.**.**.187″、利用するDBは”20161129_sensor”で設定。
なので、、、
mysql> grant all privileges on 20**1129_s**sor.* to raspai@”%” identified by ‘A******6′ with grant option;
一応OK表示。
(図4)
capture_2016_12_20_22_38_51_580
確認。raspaiが%になってます!!!
(図5)
capture_2016_12_20_22_39_31_167
さて、接続試験!
外部ホストからのログインしてみます。
外部ホストからの接続を許可するように設定したら、実際に外部ホストからログインができるか確認します。
外部ホストにもMySQLがインストールされていることが条件になるので、環境がない場合はインストールする必要があります
#  mysql -h 160.**.**.187 -u raspai -p
つながったかな?
(図6)
capture_2016_12_20_22_43_57_491
一応DB確認!
(図7)
capture_2016_12_20_22_45_03_175
20161129_sensor
が見えている!OKかな?
ついでなので、insertしてみるか!
> INSERT INTO `t_sensor`(`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (20161220,100,100,’test_from_win10′,’test_success_from_win10′);
(図8)
capture_2016_12_20_22_52_17_126
これを、win10のMySQLからinsertしてみる。日時を変えて
> use 20161129_sensor
してから、
> INSERT INTO `t_sensor`(`time_stamp`, `temp`, `humid`, `water_need`, `memo`) VALUES (20161221,100,100,’test_from_win10′,’test_success_from_win10′);
capture_2016_12_20_22_54_26_744
なんか、できたみたい。。。
(図9)
capture_2016_12_20_22_55_26_579
成功!!、入っている!!
WebmもOK!(100が2件入っている)
(図10)
capture_2016_12_20_23_04_43_458
これで、raspaiがいつ来ても、
raspaiのMySQLからデータを
sakuravpsのDB(20161129_sensor)へ
insertできるはず!
以上

141_MySQL_9_(グラフ表示_成功!)_on SAKURAVPS

なんとかGoogleChartsでグラフ表示成功!

記録とっておきます。苦労したので、その履歴を。。。。

まずは、

【1、Google Chartsに合うデータの形に整形】

http://160.16.50.187/ras_gra/20161216_gra_tmp5.php

ができた場所。

phpファイルは、

*****************
<?php
//MySQLに接続し、データベースを選択します。
$conn = mysql_connect(‘tk2-201-10183.vs.sakura.ne.jp’,’root’,’yoshihara20160805′) or die(mysql_error());
mysql_select_db(‘20161129_sensor’) or die(mysql_error());
//SQLクエリを実行します。
$res = mysql_query(‘SELECT * from t_sensor order by Num DESC LIMIT 10’) or die(mysql_error());
//結果を出力します。
//while ($row = mysql_fetch_array($res, MYSQL_NUM)){
//echo “[‘\n”;
//echo $row[1].”\t”;
//echo “‘,\n”;
//echo $row[2].”\n”;
//echo”,\n”;
//echo $row[3].”\n”;
//echo “],\n”;
//echo “<br />\n”;
//}
//$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 .= “[‘日時’, ‘温度°’, ‘湿度%’], [‘” . $row[1] . “‘,” . $row[2] . “,” . $row[3] . “]”;
// 一つ目の項目は 前に コンマ がいらないのと要素を入れる必要があるため
}
$i++;
}
print $drawScript;
//print $drawScript . ‘<br>後必要な記述<br>’;
//結果セットを開放し、接続を閉じます。
mysql_free_result($res);
mysql_close($conn);
?>

*****************

これで、下図に。

capture_2016_12_17_17_00_34_95

【2、これをhtml部分のScriptで挟んで、なんとか表示!】

でもまだチャート図(グラフ)が新しいものから古いになっているので、修正しなきゃ!(ひとまずここまでの記録を)

http://160.16.50.187/ras_gra/20161217_gra_tmp3.php

ができた場所。

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(‘20161129_sensor’) or die(mysql_error());
       //SQLクエリを実行します。
       $res = mysql_query(‘SELECT * from t_sensor 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 .= “[‘日時’, ‘温度°’, ‘湿度%’], [‘” . $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>
    <?php
    //MySQLに接続し、データベースを選択します。
    $conn = mysql_connect(‘tk2-201-10183.vs.sakura.ne.jp’,’root’,’yoshihara20160805′) or die(mysql_error());
    mysql_select_db(‘20161129_sensor’) or die(mysql_error());
    //SQLクエリを実行します。
    $res = mysql_query(‘SELECT * from t_sensor order by Num DESC LIMIT 10’) or die(mysql_error());
    //結果を出力します。
    while ($row = mysql_fetch_array($res, MYSQL_NUM)){
    echo “[‘\n”;
    echo $row[1].”\t”;
    echo “‘,\n”;
    echo $row[2].”\n”;
    echo”,\n”;
    echo $row[3].”\n”;
    echo “],\n”;
    echo “<br />\n”;
    }
    //結果セットを開放し、接続を閉じます。
    mysql_free_result($res);
    mysql_close($conn);
   ?>
    *****************************<br>
  </body>
</html>

*****************

で、下記のようになりました。。。。

capture_2016_12_17_17_05_08_671

 

でも、まだまだ修正しなきゃ!!!

とりあえず。

以上、、、、(いやー一週間くらい苦労したワ。。。)

おっと、でも上記の細字赤字

$res = mysql_query(‘select * from t_sensor where Num > ((select max(Num) from t_sensor)-10)’) or die(mysql_error());

で解決!

以上!!!