東港研究所給湯室-海のルアーフィッシング休憩室-

エントリー

カテゴリー「IoT」の検索結果は以下のとおりです。

【Arduino】ESP32 Devkitc v4 をリナックス(ubuntu)で書き込んでみた【技術メモ】

  1. はじめに

linux(ubuntu)でArduinoUNOやArduinoNanoなどの書き込みは成功していたが、ESP32だと書き込めなかったので、設定してみた。
ここでは、Lubuntuをにインストールしてみます。

20210121143719.png

ボードのインストール

ArduinoIDEを開いてCtrl+、を押すと設定画面が展開します。
そこのボードに「https://dl.espressif.com/dl/package_esp32_index.json」を追加します。

20210216124612.png
ツール>ボード>ボードマネージャ 検索で「ESP32」と入力
ボードが表示されたらインストール。

コンパイル開始

サンプルを適当にesp32に書き込むと次のエラーが表示された。

exec: "python": executable file not found in $PATH
ボードESP32 Dev Moduleに対するコンパイル時にエラーが発生しました

どうやら、Pysonモジュールが入っていないようです。

http://arduino-er.blogspot.com/2020/06/install-esp32esp8266-to-arduino-ide-on.html

LXTerminalを起動し、コマンドを順番に入力。

$ sudo apt install python-is-python3
$ sudo apt-mark hold python2 python2-minimal python2.7 python2.7-minimal libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib

2番めは、古いpysonがインストールされないようにするためらしいのですが不要かと思われ混る。 

再度コンパイル

ImportError: No module named serial
exit status 1
ボードESP32 Dev Moduleに対するコンパイル時にエラーが発生しました。

またエラー

pipモジュールが入っていないからでるらしい。
んで、pipとpyserialを追加。

$ sudo apt install python3-pip
$ pip3 install pyserial

ESP32の書き込みテスト

ESP32DevKITCの場合は、ボードの「ESP32 dev modul」を選択。

20210121143718.png


ボードの選択で
ファイル>スケッチ例>ESP32 から適当なスケッチ例を開いて書き込んでみる。

heard resetting via RST pin ..... 

と表示されれば成功です。

だめなときは

ダメなときは次のコマンドを実行してみる。

  • $ sudo apt install python-pip
  • $ sudo pip install pyserial

【ESP01S】ESP01で室温、湿度をリアルタイムで測定してみる【ESP8266】

遠隔で温度測定

道具箱からこんな物が発掘されたので、遊んでみた。20200517133259.jpg

DH11というモジュールで、温度センサー、湿度センサーを備えてます。
ESP8266にそのまま接続できるため、非常にコンパクトなwifi仕様のセンサーになります。
軽量かつ消費電力もわずかのため、電池で長時間にわたって稼働できます。

書き込みの準備をする

書き込み用に、シリアルコンバータを改造してみた。コンパクトで使い勝手が良くなった。GPIO0、ResetをそれぞれGNDに接続し、スイッチを付けただけ。20200517133257.jpg

コードを書き込んでみる

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
 
char auth[] = "2456789911111111";
char ssid[] = "987654321";
char pass[] = "123456789";
 
#define DHTTYPE DHT11     // DHT 11
 
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
 
void sendSensor()
{
  float h = dht.readHumidity();
  float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
 
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  Blynk.virtualWrite(V5, h);
  Blynk.virtualWrite(V6, t);
}
 
void setup()
{
  Serial.begin(9600);
 
  Blynk.begin(auth, ssid, pass);
 
  dht.begin();
 
  timer.setInterval(1000L, sendSensor);
}
 
void loop()
{
  Blynk.run();
  timer.run();
}

書き込みが終了したら、シリアルモニターで確認してみるといいです。

20200517133258.jpg

いつものBlynkに接続。

20200517133300.png

DH11モジュールと合体

センサーの上にESP01が重なると、ESPモジュールの熱を拾ってしまうので、足を曲げて使用しています。非常にコンパクト。

20200517134020.jpg

農業分野などの温度管理に活用できそうですね。

【IOT】家のエアコンをwifiで制御してみた。その2

Wifi経由の赤外線照射を考察する

【IOT】エアコンをインターネット経由で制御してみた。その1

サーバーで受信した信号によって赤外線を照射する。
手持ちの赤外線モジュールでは指向性が鋭いため、少し外れると照射強度が一気に落ちてしまうようです。1個2円なので文句は言えない。
照射角度が20度程度で照射強度が半分になるようです。
よって、送信機が多少ずれても照射できるように、複数を角度を変えて設置することとする。

指向性についてはマルマツさんを参考にしてください。

赤外線の回路を考える

とりあえず、赤外線モジュールが1個の回路図はこんな感じです。
赤外LEDは1.35V で100mAなので

R3≒(3.2v-1.35v)/100mA

17Ωになるので、10Ωで代用。対して変わらんだろ!?

トランジスタはS8050を使ったので、稼働電圧が0.6v、hFEがコレクタ100mAで85~400.

R4=(3.2v-0.6v)/0.1mA

2.6kΩになるので、2kが欲しかったのだが、手持ちがなかったので1Kで代用。
ほとんど電流が流れていないので、熱もなく動くみたい。
実際にテレビで試してみたが、テレビの赤外線受信部に確実に当たらないと反応しなかった。

20200529211544.jpg

赤外線LEDモジュールを3個角度を変えて設置する。電圧が足りないので、5Vに接続することとします。

20200529212528.jpg

wifiエアコンをモニタリングする

こんな感じで行けるかと。試作品が完成。

モニタリングは、以前に制作したWIFI温度モジュールまたは、Webカメラを使用する。

参考【IoT】ESP32で撮った写真をgoogleドライブに転送してみた。最終回

20200530003311.jpg

送信成功。

20200530003310.jpg

巨大だったエアコン信号

エアコンのリモコン信号を解析してみたところ、ONとOFFで信号の違いがあった。しかも容量がかなり大きいので、旧タイプのarduinoでは、制御できないと思われる。
ON、OFFはリモコン側で制御されてたんだね~。そんで、信号の中身はというと、電源だけでなく、運転種別、設定温度、風量、風向きなどの情報が運転開始時に一斉に送信される仕組みでした。
データ量が大きくなる訳です。

スマホでエアコンを制御してみる

とりあえず、室内温度26℃、風量弱で問題なく運用しています。室温を計測してオン、オフ制御だけで十分でした。
モニタリングはDH11と自作webカメラを運用していますが、まったく問題なく稼働しているので不要かと思います。
ただし、電源のON,OFFを確実に知りたい場合は、あってもいいかもね。
帰宅前にONできるので、部屋はヒエヒエ~。wifiでできることがまた一つ増えました。

ページ移動

  • ページ
  • 1
  • 2
  • 3
  • 4
  • 5

ユーティリティ

サイト内検索

ありがとうございます

新着画像

過去ログ

Feed