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

アナレンマを描く試みは、終了します(機器の不調のため)

太陽電池パネルの電圧をモニタすることで太陽のアナレンマを描く試みを続けてきたのですが、データーをサーバーに送る処理がうまくいかなくなってしまって簡単に直せそうにありません。そんなことで、2016年12月に開始して以来、3年2か月にわたり続けてきたこの試みは、終了することにしました。

▼最終状態
アナレンマのグラフ(最終)
最初はあまりはっきりしないグラフだったのですが、3年以上続けると流石にそれっぽくなってきました。なお、1月28日のデーターが最後で、以降のデーターの追加が出来なくなっています。

▼作画に使ったRStudioの画面
Rstudio

後で使えるように生データー (csv) を置いておきます。なお、このFC2のブログサーバーの制限で拡張子は .txt にしています。
 ・Rに読み込ませたデータ
 ・ambientの生データー

作画に使ったRのコマンド
> data = read.csv("c:/Myfiles/Rdata/ar20200227/ARdata20200227.csv")
> par(bg=rgb(0.8, 0.8, 0.8))
> plot(data$midTime, data$dayLength, col = hsv(data$dayN/366, 1, 1), pch=20, tck=1)

◆データー登録が出来なくなった原因
1月26日に自宅のルーターモデムを入れ替えたのですが、それに伴い IP アドレスの振り直しや、WiFi アクセスポイントの変更を行いました。そのあたりの変更が影響しているのは間違いないと思います。ただ ESP8266 のプログラムはネットの IP アドレスとWiFi AP を変えただけなので、これが原因になるとは考えにくいと思います。

アナレンマの作図には正確な時刻が必要なので、NTPサーバーから時刻情報を取得しているのですが、そのあたりの処理で正しい値が取得できていない感じです。ちなみに、変な値を ambient に送るとグラフが破綻してしまうので、異常値を検出した場合はデーターを送信しない仕組みにしています。これまでもたまにデーターの送信が止まっていることがあって、リセットすることで復旧していたので、今回の不具合もリセットすれば治ると思っていました。しかし、そんなに簡単に解決する問題では無かったようです。

たぶん、元々ぎりぎりで動いていたのが、ネットワーク環境の変化でとどめを刺された、ということではないかと思います。

◆終わりに
長年無償でデーターの蓄積とグラフ化を行ってくれた ambient に感謝します。

ambient の規約によると、データーの送信が止まったIDは365日後に 最終アクセスから365日以上経過しているアカウントは削除されるすることが出来るとなっています。そんなことで、たぶんしばらくはネット上(ambient上)でこの関係のデーターを見ることは出来ると思います。
日の出・日の入り時刻でアナレンマを描く (チャネルID: 200)

同じハードで太陽電池パネルの電圧を30分間隔で送信しているのですが、
ソーラーパネル電圧 (チャネルID: 202)
これはあまり意味があるデーターでは無いのでこちらも止める、つまり電源を切ってしまおうかと思います。WiFi 電波のスキャンを行うと、ESP8266の電波が常に出ていてセキュリティなどの点であまり気持ちの良い状態では無かったのですが、これですっきりします。

日の出日の入り時刻で描く太陽のアナレンマ (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

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

 アナレンマの作図に関してはアナレンマのカテゴリに関連記事をまとめています。興味にある方はご覧ください。
カレンダー
05 | 2023/06 | 07
- - - - 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 -
プロフィール

ラジオペンチ

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

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