2019年8月23日金曜日

その後のIoT気象計

ここ数日、朝夕は少しだけ涼しくなりましたが、今日は雨が降ったりやんだりで湿度が高く鬱陶しいです。

電子工作はあまり遊べていません。IoT気象計を動かしっぱなしにしていますが、ハングアップがありました。下記は照度計のここ1週間のグラフですが、赤い矢印の期間に止まっていました。気づいてリセットボタンを押したら動き始めました。


原因はまだ調べていませんが、無線LANにうまく繋がらなかったのか、内部でのメモリ関係の問題かと思います。無線LANは繋がったことを確認するループがあるのですが、繋がらないとループから抜けなかったので、カウンタを入れて長時間繋がらなかったらループを抜けるように修正してありました。でもダメだったので他の場所か、他の原因だと思います。

また、消費電力が大きい問題をディープスリープでなんとかならないかと思い調べたら、ディープスリープは、ウェイクアップ時にプログラムが最初から実行されるようです。リセットのようなもの? 定期的に測定して、データを内部に溜めるような処理は、普通のスリープなのかな? まだ調べられていません。

ハングアップの問題があるから、毎回リセットの方が確実に動く? でも無線LANに繋がるときにハングしたらスリープにも入らないですね。ワッチドックタイマが必要そうですが、それも調べられていません。

高級なマイコンなので使いこなすには色々大変そうです。その点、PICは比較的単純(8ビットPIC)なので分かりやすいです。

2019年8月18日日曜日

ニキシー管

台風が通り過ぎてから猛烈な暑さが続いています。屋外には長居できません。エアコンの効いた部屋でまったりと仕事やら勉強をしています。

先日、ニキシー管が現役の自動販売機を訪ねてみました。昭和レトロで人気のスポットらしく、不便なところの割にお客さんが大勢いました。お盆だったから? よい天気だったので外の光が反射してうまく撮れてません。

全景はこんな感じです。チャーシュー、美味しかったです。

こちらは我が家にあるニキシー管のストックです。他にも以前、ニキシー管時計を作ったときのニキシー管も残っているはずです。最近見かけないですが何処かに仕舞い込んである、と思う。自信がない。


時計ばかり作っても面白くないので、何か他のものを作ろうと思いますが、ネタを思いつきません。上の自販機を模したキッチンタイマとか、最近色々やってる気象計位しか出てきません。涼しくなったら色々と出かけて、脳細胞を活性化させる刺激を受けようかと思う次第です。

2019年8月15日木曜日

IoT気象計、気温が高くでる原因

台風からはかなり離れていますが、晴れたり土砂降りだったりの激しい天候の一日でした。幸い通勤時は降られずにすみ、助かりました。

しつこいですが、IoT気象計についてです。気温が高くでていた原因がわかりました(他にもあるかも知れませんが)。写真は改善後です。気象計以外の温度計5個の平均が29.9℃で、気象計が30.1℃なのでまずまずかな。小数点以下が表示されないものもあるので、それぞれ0.5℃足してから平均すると30.1℃と同じになります。

対策ですが、写真のようにセンサ部を別のブレッドボードに載せました。改善前はESP32の発熱がブレッドボードを伝わりセンサに届いていたようです。ブレッドボードが気持ち暖かいかな?と思い、別にしたら改善されました。

グラフは緑ラインがSHT31で、青ラインがBME280です。これまでと逆転してSHT31の方が0.1℃程低くなりました。グラフがギザギザしているのは、0.1℃単位でアップしているため。

しかし、湿度は相変わらず10%位の大きな差があります。絶対値は差がありますが、相対的には2つのセンサがほぼ同じ動きを示しているのは、立派ですね。


BME280の湿度センサについてはもう少し調べてみます。使い方が悪いのかもしれない。

ESP32の発熱対策として無線LANはデータをアップするときだけ接続するようにしてますが、それでも消費電力が大きいようです。ケースに入れたら熱がこもって高い気温を示しそうです。センサに伝導熱や温められた空気、輻射熱が伝わらない対応が必要です。

ESP32ではなく、低消費電力のESP8266を使うべきなのかもしれない。

2019年8月14日水曜日

IoT気象計に照度センサも繋いでみた

台風から千切れてきた雨雲の影響か、晴れ、曇り、雨を繰り返しています。先ほどは土砂降りでしたが、今は陽射しがあります。

昨日の記事に追記しましたが、温湿度センサのSHT31にはヒーターが入っていてオンになっていたようです。オフにしたらBME280と近い温度を示しています。あと、リファレンスにしていた温度計が低めにでていた様子で、BME280とSHT31は妥当な値なのかもしれません。

緑のラインがSHT31、青のラインがBME280です。

繋いだ照度センサはBH1750FVI (GY-30)です。
先日書いたように2個で$1.8でした。

写真のブレッドボード左端に載っている縦長の青い基板がそれです。3つのセンサと1つのLCDの計4つをI2Cで繋いでますが、アドレスの重複もなく無事に繋がりました。それぞれにバスのプルアップ抵抗が入っている気がしますが動いてます。


LCD画面の右上に表示されている236lxが照度です。窓際のレースカーテン越しの明るさですが晴れたり曇ったり、雨だったりしているので結構変化します。変化が激しいので、1秒毎に測定するように変更しました。IoTプラットフォームにアップするのは、5分毎のままです。5分間測定した300回の平均をアップします。

気温はSHT31のデータですが、秋月で買った温度計と近い値を示しています。何が正しいのかわからない(^_^) 

Machinistにアップした照度データの変化です。


台風の雲の動きで明るさが変化しています。

--2019.8.14追記
家にある温度計を集めてみました。かなりバラついていますが、SHT31が一番高い値を出してます。





2019年8月13日火曜日

温湿度センサSHT31

温湿度センサのSHT31が台湾から届きました。早速、IoT気象計に繋いでみましたがどうも気温が高く出ます。仕様では0.3℃以内の精度のはずですが、高く出ると評判のBME280よりさらに高い気温になります。湿度は妥当な値です。


左上はBME280、その右下がSHT31です。

Machinistのログです。緑のラインがSHT31、青がBME280です。湿度は市販の温湿度計と比べてみて、緑のラインSHT31が妥当な値です。
しかし、気温は2〜3℃以上高い値です。BME280が1℃程度高くでて、それよりさらに1〜2℃高い。

せっかく高精度なセンサを買ったのに残念な結果です。使っているライブラリが悪いのかな? 使い方かも? それとも安かったので偽物だったのか? もう少し調べてみます。

--2019.8.14追記
昨夜、SHT31のライブラリソースを見てみたら、heaterDisableというメソッドがあることに気付きました。データシートを確認したら確かにヒータが付いていてオンオフできます。でもデフォルトではオフのようです。ヒーターの使い方がわからないですが。
試しに初期化直後にこのメソッドをcallしたところ、測定温度が下がりました。それでもBME280より0.3℃程高いです。これが精確な値で、自宅にあった温度計が低くでていたのか?!


朝、7:00頃に急に気温が上がっているのは、エアコンの効いた寝室から暑いリビングに移動させたため。寝室のエアコン設定温度は29℃なので、BME280がいい値を出している?
湿度は、SHT31が妥当な値だと思います。


クラウドファンディング終了

昨夜、初めて挑戦したクラウドファンディングの募集(https://readyfor.jp/projects/WordClock)が終了しました。残念ながら不成立です。ご支援頂いた皆様、見て頂いた皆様ありがとうございました。もっと魅力的なアイデアで再挑戦したく考えています。


昨夜雨が降ったようで今朝は少し涼しいです。まだ雲っています。台風の接近も気になりますが、明日までの夏休みを楽しみます。

2019年8月6日火曜日

夏休みの工作に向けて

ESP32で遊ぶ部品が中国から到着しています。今回はアマゾンではなくAliexpressで買ってみました。到着まで2〜3週間と時間はかかりますが安いのが嬉しいです。

ESP32モジュールと基板です。モジュールは$2.6、基板は2枚で$0.9でした(どちらも送料入れて)。基板1枚は$0.25です。ピンヘッダとタクトスイッチも付いてます。
プログラムを書き込むためのUSBシリアル変換は以前Atmegaに書き込むために買ったものが使えるかと思っていますが、どうでしょうか。

小さな0.66インチOLEDディスプレイは$2.24(送料入れて)でした。I2C接続のはずですがピンは沢山で、I2Cのピン刻印がありません。調べないと。入っていたケースがハードケースだったのが好印象です。

IoT気象計に繋ごうと思っている照度センサは2個で$1.8(送料入れて)でした。1個でも買えましたが、送料分を薄めるために2個。こちらもI2C接続です。

カメラ付きESP32のESP32-CAMです。ちょっと高くて$7です。こいつをwebサーバにして画像を見るサンプルプログラムがあるようですが、画像をどこかのサーバにアップするようなものを作りたいと思ってます。


あと、温湿度センサが届く予定です。

こんなに色々あって全部夏休み中に試せるでしょうか?!


2019年8月4日日曜日

この夏、Pythonにチャレンジ

猛烈な暑さが続いていますね。昨日は車検の予約点検にクルマを持って行ったら、深刻なトラブルが発覚して、クルマを置いてくるハメになりました。この暑さの中、20分歩いて帰宅したら暑さと修理費のことで倒れそうです。今日は終日エアコンの効いた部屋で休んでいます。

そうそう、昨日今日はMaker Faire Tokyo 2019が開催されていますね。暑くてビッグサイトまで出かける気力がありませんでした。ネットに上がる情報をチェックします。

最近使っているESP32はMicroPythonが動くことを知って、遊んでみようかと思っています。ArduinoIDEも簡単なのですが、インタプリタならもっと気軽かと。また、仕事でPythonを使いそうな雰囲気があるので、本格的にしっかり勉強しようかと思っています。機械学習もやりそうなので。機械学習は先日セミナを受けてきました。セミナのチュートリアルは簡単でしたが、自分のデータでやろうとすると難しそう。

これまでテキスト処理には慣れたPerlを使っていました(ます)が、段々とPerl人口が減りつつあるようだし、Pythonのライブラリが充実しているようなので乗り換えてみようかと。Pythonは今までネット情報を参考に見よう見まねで書いてましたが、きちんと体系的に勉強してみます。

ということで書籍を買ってみました。どれがよいか分からなかったので、とりあえず3冊です。昨日アマゾンでポチッて、今日届きました。暑い中配達してくれたヤマトのお姉さん、ご苦労様でした。


どれも結構分厚くて読み応えがありそうです。こんなに厚いと思わなかった。まだ、ほとんど読んでないので使えるか分かりませんが、3冊あればどれか役立つでしょう。3冊で1万円を超えていますが、知らずにいて1日無駄にすることを思うと、少しでも役立てば十分元は取れます。

とりあえず仕事では、パーサーもどきを作る必要があって、パーサー専用ライブラリを使うか手組みするか迷っていて、何か便利なライブラリやテクニックがあるのか調べ、検討してみます。

ESP32も平行して試してみます。中国から色々と部品も到着しているので、夏休みの工作を楽しみます。

2019年8月1日木曜日

IoT気象計の動画

IoT気象計の動画をアップしてみました。Windows10になってムービーメーカが使えなくなったのですが、まだ動画編集ソフトを購入していません。Windows10に付いてきたビデオエディターなるソフトを使いましたが単純なことしかできません(元々単純な編集しかしていませんが、それでもちょっと不足)。


ThingSpeakにデータがアップできていなかった期間があった件ですが、その後は安定した(湿度は若干不安定?)模様です。