エントリー

タグ「スマートホーム」の検索結果は以下のとおりです。

【webカメラ】ESP32-CAMで撮影した写真をgoogleドライブに転送してみた。【前編】

自作ウェブカメラの作り方はこちら → 【IoT】ESP32-CAMを使ってWEBカメラを自作してみた。最終回

webカメラに問題発生

 以前、ESP32-CAMによるローカルエリア内のストリーミングに成功しましたが、問題点も出てきました。

ESP32-CAMとGoogle Driveの連携1 

  • 発熱量が多い
    これは意外と致命的です。動作が不安定になります。
  • 外部からアクセスできない
    もともと3Dプリンタの監視用で購入したものなので、出先で状況確認ができないと意味がない。ローカルエリアではだめ。
  • 映像物の記録量が膨大になる
    動画だとファイルサイズが大きくなるため、記録媒体が限られる。それにより、3Dプリンタでエラーが発生した場合に経過がわからない。
  • バッテリーの消費が激しい
    これ、絶対にダメ。かといってACアダプタは取り回しが煩わしい。

解決策を考えてみた

これらの問題点を解決していきます。
 基本的に、ストリーミングは私のやりたい監視には向きません。ってことで、画像をjpg化してネットワークドライブに保存することにします。

 解像度はVGA程度、撮影間隔は2分とします。これで、発熱量、バッテリーの消費を抑えることができると思います。画像もVGA程度ならサイズも小さくて済みます。

無料で使えるGoogleドライブ

ネットワークドライブは、すでに使用中のgooglドライブとします。15Gまで無料。
画質もVGA程度なのでファイルサイズはせいぜい50kbくらい。2分間隔で記録するとなると、時間で30枚。 24時間記録しても36MB程度になるので、15GBのストレージがあれば十分な計算になります。

がんばるぞー

自作webカメラを作るの後編はこちら

【IoT】ESP32で撮った写真をgoogleドライブに転送してみた。【後編】

【IoT】ESP32-CAMを使ってWEBカメラを自作してみた(Wifi接続編)

サンプルスケッチを書き込んでみる

接続ができたら、サンプルスケッチがあるので、書き込んでみましょう。

ESP32−camをWIFIに接続する

 以下の部分を変更します。
ESP32-CAMを接続したいルーターのssidとパスワードです。

#include "camera_pins.h"
const char* ssid = "******";
const char* password = "123456";

 修正が完了したら。書き込みます。

ESP32の書き込み時の画像

ショートさせていたIo0とGNDピンを解除して、リセットボタンを押します。

WiFi connected
Starting web server on port: '80'
Starting stream server on port: '81'
Camera Ready! Use 'http://192.168.0.196' to connect

スマホやタブレットで確認してみる

スマホやタブレット、PCでウェブブラウザーを開いて、アドレス欄に【http://192.168.0.196】と入力する。
ルーターとesp32が接続されていれば、次の画面になります。

ESP32camをルーターに接続した画像

完成。

たったこれだけ。ローカルエリア(LAN)でのストリーミングに成功です。
ドアホンやWIFIの範囲内であれば、さまざまな用途に使えると思います。

ローカルエリア外から接続したい

しかーし!

出先からも画像が見たい!

ですよね。

次回Googleドライブに画像を転送してみた

【IoT】ESP32-CAMを使ってWEBカメラを自作してみた(設定編)

前回はこちら→ESP32-CAMを使ってWEBカメラを自作してみた(使い方編)

シリアルコンバータを入手

5Vが使えるTTLシリアルコンバータを購入。
一つあると非常に便利です。なければ、ArduinoUNOを転送用に書き換えてあげてもOK。安価なので購入をおすすめします。

20200501191004.jpg

参考にどうぞ
arduino nano ブートローダー備忘録

シリアルコンバーターを接続する

コンバータ―側の5v、GNDをESP32-CAM側の5v、GNDにそれぞれ接続します。さらに、TXをUnR、TRをUoTに接続したら、USBを接続します。

20200501191006.jpg
書き込みするときは、Io0とGNDをコードで繋いでショートさせる必要があります。

 20200501191008.jpg20200501191007.jpg

PC側で認識されればOKです。接続が間違っていたら、この時点で認識しません。

接続できないときは

しかし、ここで落とし穴が・・・・

ESP32に書き込みできない。・・・

接続を見直して何度やってもダメ。

何かの拍子に破損したか・・・・

散々悩んだ末に、別のUSBケーブルを使うと・・・

あっさりいけた。接続できないトラブルの場合は要チェックですね。 

ESP32への書き込みを確認

あとは簡単、適当なファイルを転送して次のように表示されれば、書き込み成功です。

最大3145728バイトのフラッシュメモリのうち、スケッチが948290バイト(30%)を使っています。
最大327680バイトのRAMのうち、グローバル変数が41568バイト(12%)を使っていて、ローカル変数で286112バイト使うことができます。
esptool.py v2.6
Serial port COM8
Connecting.....
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: XX:YY:00:ZZ:bf:00
Uploading stub...
Running stub...

<省略>

Writing at 0x0008c000... (100 %)
Wrote 948400 bytes (519877 compressed) at 0x00010000 in 12.9 seconds (effective 588.6 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 119...
 
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (119 compressed) at 0x00008000 in 0.0 seconds (effective 1228.8 kbit/s)...
Hash of data verified.
 
Leaving...
Hard resetting via RTS pin...
MACアドレスは、IPアドレスを固定する場合に使うことがあるので、この際に記録しておいたほうが良いかも。
20200501203232.png
次回は、コードの転送です。

関連記事はこちら

【IoT】ESP32-CAMを使ってWEBカメラを自作してみた(使い方編)

最近購入した AI-thinker社製のesp32-camの使い方を記録しておきます。

コロナウイルスの影響で在宅ワークが増えましたね。 その影響からか、Webカメラの在庫が無くなってきたようです。

ウェブカメラを自作してみる

以前に3Dプリンタの監視を目的として、ESP32-CAMを購入していましたので、カメラ用Webサーバーを建てて映像をwifiで転送してみたいと思います。

市販品はかさばるのと電源が100vになってしまうため、使い方が限られてくるのがデメリット。
その点、esp32-cam は超小型で低電力、電源は電池でも稼働するという優れたモジュールです。そして超低価格。

ESP32-CAMのスペック

  • esp32-cam のスペック
    • デュアルコア Tensilica LX6 マイクロプロセッサ
    • 最大クロック 240MHz
    • 520KB RAM
    • 4MB Flash メモリ
    • 802.11 b/g/n Wi-Fi
    • デュアルモード Bluetooth (classic and BLE)
    • ハードウェアアクセラレーションによる暗号化 (AES, SHA2, ECC, RSA-4096)
  • CP2104 USB-UART変換ドライバ
  • OV2640 カメラセンサー
    • 出力フォーマット(8-bit):
      • YUV(422/420)/YCbCr422
      • RGB565/555
      • 8-bit 圧縮データ
      • 8/10-bit RAW RGB データ
    • 最大画像転送レート
      • UXGA/SXGA: 15fps
      • SVGA: 30fps
      • CIF: 60fps
    • スキャンモード: Progressive
  • カメラ スペック
    • 視野 : 65 度
  • 最大解像度: 200万画素(メモリの都合上、本ユニットは最大800 * 600 pixels JPEG)
  • サイズ: 20.5 × 46.5 × 11.5mm

esp32camの画像1

esp32-camの画像2

こんなものが1000円程度で買えるとはスゴイ。

ArduinoIDEのボードの設定

ファイル → 環境設定 → ボード追加マネージャ で以下を追加。

 https://dl.espressif.com/dl/package_esp32_index.json

これで esp32-cam が使えます。

ArduinoIDEの転送設定

次にarduinoIDEの最初に設定をしていきます。 転送設定などは次のとおり。

項目名 設定値
Board ESP32 Wrover Module
Partition Scheme Huge App(3MB No OTA)
Flash Mode QIO
Flash Frequency 80MHz
Upload Speed 921600

ボード名に AIthinker ESP32-CAM が直接ある場合は、そのまま選択。
2020/3 最新のボードだとAIthinker ESP32-CAMを直接選択できるようです。

参考サイト

https://qiita.com/Nabeshin/items/b195cad1afe99ce29f1e

次回は、転送に必要なUSBシリアルコンバータの設定を行います。

続きはこちらからどうぞ

【IoT】Wifiを使って自宅のファンヒーターをコントロールしてみた。その4

さらに、小型化してみた。使ったボードはMCULua。
arduinoにwifiチップが搭載され、さらにメモリが4MBと高性能。それにも関わらず、1つ450円程度と激安です。

ボードの追加はnodeMCU1.0を選択。転送設定はデフォルトでOK

これで、かなりの省スペース化を実現できました。あとはケースの作成か。

20200301111152.jpg

スマホ側のインターフェイスは、RemoteXYからBlynkに変更。
blymkの方が汎用性が高く、ガジェットも充実しています。スマホ側の設定は数分でできてしまうという優れもの。

20200301111153.jpg

HTML化してもよいのかもしれませんが、フリーソフトでここまでできれば十分です。

今回は、サーボモーターでコントロールしているため、ドアのロックやエアコンのリモコンスイッチ制御など、簡単かつ幅広く利用できる仕様になっています。

 

 

ページ移動

  • ページ
  • 1
  • 2
  • 3

ユーティリティ

サイト内検索

twitter

ありがとうございます

過去ログ