IoTで室温を時系列で記録して可視化
せっかくIoTサーバーを作ったのでとりあえず何か動かしておこうと思って作り出しました。
まず、秋月電子通商さんのESP8266を搭載したESP-WROOM-02開発ボードを使います。
まず、ESP8266のライブラリを一通りインストール。
その後、サンプルプログラムを探すと、BasicHttpClientというものがあります。
ESP8266でWifiに接続してWebにアクセスするのです。
32行目の WiFiMulti.addAP("SSID", "PASSWORD");
に接続するWifiのIISDとパスワードを入力、
47行目の if (http.begin(client, "http://jigsaw.w3.org/HTTP/connection.html")) {
でhttp....の部分にアクセスしたいURLを入力します。
公開したIoTサーバーでメールアドレスを登録してIDを作成したら、URLの所にIDとデータを含めて送ります。
IDとa0=まで書き込んだURLを文字列に入れ、その後に AnalogRead で読み取った数値をセンサに固有の加工して文字列に追記して送ればよいです。
以下の写真の例のように、39,40行で文字列を作って49行目で送ります。
ここでは見えてませんが、下の方でループの待ち時間をdelay(600000)、つまり10分にしています。
回路はこちら、LM61というアナログ温度センサの出力を読み取っているのですが、温度100度で1.6Vの出力となり、ESP8266のアナログ入力は約1Vで飽和してしまうのでそのままでは読み取れず、10kΩの抵抗2本で分圧して半分の電圧にしてESP-WROOM-02開発ボードの18番ピンに与えています。
10分間隔でログを残して、IDでアクセスして可視化した例はこちら。
例として簡単な回路とプログラムで作りましたが、改良すべき点があります。
回路の配線を少なくするためこじんまり配線してますが、マイコンボードは通電すると多少発熱するので、センサとマイコンはできるだけ離すべきです。
プログラムも1度だけセンサを読み取るのでは誤差の要因となります。
Wifiにアクセスするときは数100mAの電流を流すのでWiFiにアクセスするタイミングとセンサ読み取りのタイミングは離す方が良くて、センサの読み取りも1度でなくて数回読んで積算、平均化した方が良いです。
電源強化のためにキャパシタンスも追加した方がいいでしょう。
IoT公開サーバーはこちら
まず、秋月電子通商さんのESP8266を搭載したESP-WROOM-02開発ボードを使います。
まず、ESP8266のライブラリを一通りインストール。
その後、サンプルプログラムを探すと、BasicHttpClientというものがあります。
ESP8266でWifiに接続してWebにアクセスするのです。
32行目の WiFiMulti.addAP("SSID", "PASSWORD");
に接続するWifiのIISDとパスワードを入力、
47行目の if (http.begin(client, "http://jigsaw.w3.org/HTTP/connection.html")) {
でhttp....の部分にアクセスしたいURLを入力します。
公開したIoTサーバーでメールアドレスを登録してIDを作成したら、URLの所にIDとデータを含めて送ります。
IDとa0=まで書き込んだURLを文字列に入れ、その後に AnalogRead で読み取った数値をセンサに固有の加工して文字列に追記して送ればよいです。
以下の写真の例のように、39,40行で文字列を作って49行目で送ります。
ここでは見えてませんが、下の方でループの待ち時間をdelay(600000)、つまり10分にしています。
回路はこちら、LM61というアナログ温度センサの出力を読み取っているのですが、温度100度で1.6Vの出力となり、ESP8266のアナログ入力は約1Vで飽和してしまうのでそのままでは読み取れず、10kΩの抵抗2本で分圧して半分の電圧にしてESP-WROOM-02開発ボードの18番ピンに与えています。
10分間隔でログを残して、IDでアクセスして可視化した例はこちら。
例として簡単な回路とプログラムで作りましたが、改良すべき点があります。
回路の配線を少なくするためこじんまり配線してますが、マイコンボードは通電すると多少発熱するので、センサとマイコンはできるだけ離すべきです。
プログラムも1度だけセンサを読み取るのでは誤差の要因となります。
Wifiにアクセスするときは数100mAの電流を流すのでWiFiにアクセスするタイミングとセンサ読み取りのタイミングは離す方が良くて、センサの読み取りも1度でなくて数回読んで積算、平均化した方が良いです。
電源強化のためにキャパシタンスも追加した方がいいでしょう。
IoT公開サーバーはこちら
2024.03.01 21:37
| 固定リンク
| ソフト・HDL・Web
IoTのデータ可視化サーバーを暫定的に無料公開しました。
IoTのデータ可視化サーバーを自分用に作ったけど、IDを勝手に作ったりされないようにメールで登録・認証するようにして、外部からの利用も高負荷にならなければよいので暫定的に無料公開にしました。
暫定的というのは、後で有料にしようとか思ってるわけではなくて、セキュリティ的に緩いので荒らされたらやめるかも、ということです。
https://cpu4edu.net/iot/
暫定的というのは、後で有料にしようとか思ってるわけではなくて、セキュリティ的に緩いので荒らされたらやめるかも、ということです。
https://cpu4edu.net/iot/
先日のIoTサーバーの続き。
一回作っとくと後で便利なので、メールアドレスで認証して、IDを作成して使うシステムを
phpで書いてみた。
メールアドレス送ると、IDと認証番号がメールで送ってきて、サイトで両方入れて一致したらID作成完了。
そのIDを使ってデータをサーバーに送って、可視化できます。データのダウンロードも可。
もうちょっと作ったら公開するかも。
phpで書いてみた。
メールアドレス送ると、IDと認証番号がメールで送ってきて、サイトで両方入れて一致したらID作成完了。
そのIDを使ってデータをサーバーに送って、可視化できます。データのダウンロードも可。
もうちょっと作ったら公開するかも。
Javascriptのリファレンス
Javascriptのリファレンスはこちらを見てる。
古い人間なので本を買って勉強したいところだけど、
オンラインで凄いボリュームがあってありがたいです。
https://developer.mozilla.org/ja/docs/Web/JavaScript
古い人間なので本を買って勉強したいところだけど、
オンラインで凄いボリュームがあってありがたいです。
https://developer.mozilla.org/ja/docs/Web/JavaScript
2024.02.26 17:14
| 固定リンク
| ソフト・HDL・Web
p5.jsは便利
Javascriptはちょっとしか書いたことがないので、文法が良く分からない。
簡単なことを試すのは、
p5.js
が便利。ブラウザ上で、書いて動かして文法確認できる。
editorに行ってコード書いて動かすと、別に画面表示無くてもコンソールに出力ができるので、文法確認したり、オブジェクトや配列や、関数の動作を確認するのにいいです。
簡単なことを試すのは、
p5.js
が便利。ブラウザ上で、書いて動かして文法確認できる。
editorに行ってコード書いて動かすと、別に画面表示無くてもコンソールに出力ができるので、文法確認したり、オブジェクトや配列や、関数の動作を確認するのにいいです。
2024.02.26 17:07
| 固定リンク
| ソフト・HDL・Web