google-site-verification: google3bd66dd162ef54c7.html
FC2ブログ

日の出日の入り時刻で描く太陽のアナレンマ (RStudioでグラフ化)

久しぶりにアナレンマの話です。この観察を始めてからもうすぐ3年が経過するのですが、今でもしぶとく続けています。というか、何もしなくても勝手にデーターが ambient に蓄積されるので手間がかかるわけではありません。

なお、アナレンマの観測の話はアナレンマのカテゴリにまとめてあるので興味のある方はご覧ください。

▼アナレンマの観察ユニット
アナレンマ観察装置
太陽光発電パネルの電圧をこのユニットで測定し、日の出日の入り時刻を割り出しています。得られた情報はWiFi経由で ambient に送っているだけなので、とても簡単な仕掛けになっています。

さて、突然アナレンマの話が出てきた理由ですが、最後にグラフを公開してからかなり時間が経ったということが第一にあります。あと、最近パソコンの入れ替えをやったのでいろいろアプリを入れ直しているのですが、その中に RStudio があり、久しぶりにこれを使ってみたかった、というのがもう一つの動機です。

▼最後に作成したアナレンマのグラフ
以前のアナレンマプロット

この図を作ったのは2017年の12月
で、エクセルの散布図でプロットしています。このグラフでは月別にプロットの色を変えることで時間の経過を表現していますが、本当はもっと滑らかに色を変化させたかったです。しかし、エクセルではこれくらいの表現が限界だと思います。そういうことはVBAやPythonなどでプログラムを書けば確実に出来るはずですが、環境の立ち上げが面倒なのでそのままになっていました。

前述したように、今回新しいPCにもR (RStudio) をインストールしたので、これを使って最新の観察データーでアナレンマの作図を行ってみました。R のグラフの表現力は優れているので、欲しかったグラフが簡単に作れることを期待しました。

以下おさらいを兼ねて、データーのダウンロードから順に作業を振り返ります。

▼Ambient で公開中のグラフ
ambientのアナレンマのページ
開始からもうじき3年。天候の影響でノイズが載っていますが、太陽の南中時刻の変化がはっきりと捉えられています。

データーは ambient のサーバーに自動アップロードしているので、そこからダウンロードします。なお、このデーターは、ambient の中に私が作った公開チャンネル 日の出・日の入り時刻でアナレンマを描く (チャネルID: 200)に入っているので、グラフを見るだけならて誰でも閲覧出来ます。

昔は一括でデーターのダウンロードができたのですが、さすがにサーバーへの負荷が重過ぎるのでしょう。現在は一度にダウンロードできるのは最大35日に制限されています。ローカルに過去分のデーターを保存しておき、新しく追加された分だけダウンロードして全データーを準備します。

現時点で約1300点のデーターがありますが、これをエクセルで前加工してCSVのファイルに変換し RStudioに読み込みます。

▼RStudio
Rstudioでグラフ化

RStudioから散布図作成コマンドの plot で作図しました。そのコマンドはたったこれだけで済みました。(不等号>は全角に修正しています)

> data = read.csv("c:/Myfiles/Rdata/anaremaSorted.csv")
> par(bg=rgb(0.8, 0.8, 0.8))
> plot(data$MidTime, data$DayLength, col = hsv(data$dayN/365, 1, 1), pch=20, tck=1)

最初の行でデーターをファイルから読み取り、2行目でグラフの背景を灰色に指定、3行目で散布図を書いています。ここですばらしいのは、要素の塗分けを hsv( , , )パラメーターで色相を直接指定出来ることです。色相は0から1の範囲の値で指定するので、年間の日付連番を365で割るだけで、1年周期の色環でプロット点を塗り分けることが出来ました。

▼アナレンマ (2019年10月10日時点)
最新のアナレンマのプロット

以前作ったものに比べ、データー数が増えたと共に、色の変化が滑らかになって格好良くなりました。

◆まとめ
久しぶりにRでグラフを作ってみたのですが、思いのほかうまくいきました。世界中で多くの人が使っているので、コマンドのオプションが豊富で、欲しいと思った機能はほとんどそろっている感じです。VBAでやらなかったのは正解でした。

Ambientにアナレンマを描くプログラムを修正

 2017年12月から Ambient にデーターを送ってアナレンマのグラフを描く試みを行っています。仕組みとしては、太陽電池パネルの電圧変化から日の出と日の入り時刻を推定し、ESP8266を使ってAmbientnにデーターを送るようになっています。

▼Ambientにアナレンマを描く試みのページ
アンビエントのページ
  実際のページはこちら→日の出・日の入り時刻でアナレンマを描く (チャネルID: 200)のページ

 アナレンマのグラフを全部描くには1年かかるのですが、今年の1月に最初のサイクルを無事終えることが出来、何とかアナレンマの図形のプロットが完成しました。この時点でいったん終了にしても良かったのですが、特に手間がかかる訳では無いのでそのままにしています。(上のリンク先の下の方に最新のグラフがあります)

 アナレンマのグラフのプロットは天候の具合でばらつきが出るので、出来るだけ長期間のプロットを行った方がグラフの品質が上がるはずです。ということで、どこかが壊れて継続不能になるまで運転を継続することにしました。

 ただここで気になるのは、アナレンマのデーターと同時にアップロードしている太陽電池パネルの電圧データーです。このデーターは1分間隔でアップロードしているので、1ケ月分でデーターサイズは約1Mバイトになります。

▼パネル電圧のログのページ
パネル電圧のグラフ
 実際のページは、ソーラーパネル電圧 (チャネルID: 202) 

 これがあると、発電状況をネット経由で監視できるので便利なのですが、最近はほとんど使っていません。ただ、ここを見ればシステムが正常動作しているかが判るので、そういう点ではまだ利用価値はあります。ただ、そういう使い方ならデーターの更新頻度をもっとを間引いても問題ありません。

 ということで、データーの更新間隔を1分から30分間隔に延長することにしました。

▼ESP8266のデーターのプログラム書き換え
ESP8266のプログラム書き換え
 ESP8266のプログラムを書き換えるのは1年半ぶりなので、いろいろと忘れていることが多くて一苦労しました。覚え書きとしてtoolのメニューの内容を記録しておきます。

▼ArduinoIDEのtoolメニュー
20180607ArduinoIdeSetting

▼書き込みに使ったUSBシリアルアダプタに相性問題があった模様
ESP8266プログラム書き換えのUSBアダプタ
 下側のFT232RLではプログラムの書き込みがうまくいきませんでした。そこで、上のPL2303HXの入っているアダプタを使いました。なおこのアダプタはWindows10のアップデートがかかる度にドライバが無効にされてしまうという、厄介なやつで、USB Code 10Fixというプログラムを使って復活させて使いました。

 新しいプログラムはこちら。_20180607_AnaLtest-IP28_final2.ino なお、プライベートな情報は削除しています。また、ネットの環境によってはこのままではうまく動かない可能性があります。

 これでパネル電圧のログが30分間隔になったので、Ambient に余計な負荷を掛けないで済みそうです。

 せっかくの機会なのでグラフを少し見て行きます。

▼現在のアナレンマ
アナレンマ
 現在八の字の上部を右向きに進行中です。

▼日の出、日の入り時刻
日の出日の入り時刻
 左が日の出、右が日の入り時刻のグラフです。グラフをよく見ると上昇と下降の傾きが違っていて、どちらのグラフも下降の方の傾きが急になっています。(こうなる理由は自分で調べて下さい)

 もうじき夏至を迎えますが、日の出時刻は夏至の10日くらい前が一番早くなります。左のグラフを見ると日の出時刻が急角度で極小値に近づいていることが良く判ります。

 右の日の入り時刻のグラフで、右下がりの赤矢印は 「秋の日は釣瓶落とし」 と言われる、日暮れの時刻がどんどん早くなる様子を表しています。そう言うのだったら、左側の日の出のグラフの急傾斜の部分(赤矢印)にも何か言ってやってもいいような気がします。例えば、「春の日はうなぎ登り」とか、、w

◆まとめ
 これでアナレンマのグラフをメンテナンスフリーで作図できるようになりました。いつまで続けることが出来るか判りませんが、できるだけ続くように頑張ってみたいと思います。

 アナレンマの作図に関してはアナレンマのカテゴリに関連記事をまとめています。興味にある方はご覧ください。

アナレンマの作図状況 2017年冬至

 太陽電池パネルの電圧を監視することでアナレンマを描く試みの最終回です。開始から1年経ち、二回目の冬至を迎えましたが、これで作画完成です。

▼Ambientで公開中のアナレンマのグラフ元のデーター(2017/12/23現在)
Ambientのグラフ

 左上から順に、日の出時刻、日の入り時刻、昼の長さ、南中時刻で、左下がアナレンマのグラフです。日の出、日の入り時刻が変化していく様子がよく判ります。
 秋分の日の記事ではアナレンマのプロットの左下が開いていましたが、今回の図ではきっちりと閉じていて見事に (?) アナレンマの8の字が完成しています。

▼同じデーターをエクセルで作図
元データ

▼エクセルで描いたアナレンマ(vs理論値)
エクセルのグラフ(理論値との比較)
 赤いプロットが天文台が発表している日の出/日の入り時刻で描いたアナレンマ、つまり理論値です。

 1年分のデーターが揃ったので、プロットの色を月別に分けてみました。

▼アナレンマの月別カラープロット
アナレンマの月別カラープロット
 こうするとプロットが交差している部分の構造が判り易いです。このグラフは手っ取り早くエクセルで12色に分けて描いていますが、VBAなどのプログラムで色を滑らかに変化させればもっと判り易くなると思います。

◆まとめ
・どうなるか判らないのでとにかくやってみたのですが、何とかアナレンマ(らしきもの)の作図が出来ました。必要な物は、太陽電池パネルとIOT環境だけなので、チャレンジし易いと思います。

・私の環境はマンションなので、太陽電池パネルから全天の半分しか見通すことが出来ません。これがもし、全天を見渡せる屋根の上に設置された太陽電池パネルだったら、もっと綺麗なアナレンマの8の字が描けたのかも知れません。また経緯度が違えばアナレンマの形も微妙に変わってくるはずです。どなたかチャレンジしてみませんか。特に学校の地学部や科学部などでみんなで取り組むと良い経験が出来るはずです。これ、大げさに言うと天体観測なので、天文部の人にもお勧めしたいです。

・この仕掛けを今後どうするかですが、特に手を掛けないでもAmbient側にデーターが溜まっていくので、当面はこのまま動かし続けて2年目のプロットに入りたいと思います。
 但し、現在のプログラムは1分間隔でパネルの電圧を送信しているのですが、これではAmbientに負荷を掛けてしまって申し訳ないので大幅に間引く、もしくは電圧の送信は中止してしまおうかと思っています。
 なお、使わないデーターを保存していただくのでは心苦しいので、電圧測定家結果は逐次削除しています。(この記事を執筆時点のパネル電圧のグラフはこちら)

・最後になりましたが、Ambient様のサービス無しにこの試みは実施できませんでした。ありがとうございました、感謝いたします。

 この試みについては、「アナレンマを描く」というカテゴリーに関連記事をまとめています。興味のある方はご覧ください。
カレンダー
09 | 2019/10 | 11
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード