1200円でカメラ、wi-fi、Bluetooth付きの激安マイコンで遊んでみた

じょるブログ

現役理系大学生による大学生に向けた情報サイト

インストール 電子工作

1200円でカメラ、wi-fi、Bluetooth付きの激安マイコンで遊んでみた

投稿日:

   

最近、研究室の3Dプリンターの稼働状況を監視するためにカメラを設置しようと思いたち、激安のカメラを探していました。

最初は以前こちらの記事で紹介したようにWebカメラとラズパイを用いてストリーミングサーバーを立ち上げるといったような方法で行おうと思いましたが、この方法だと約4000円ほどかかってしまうためなかなか手がでませんでした。

しかし、最近1200円のカメラ付きのマイコンがあることを知ったので、今回はこちらを使用してストリーミングサーバーを立ち上げたいと思います。

   

ESP32-CAMについて

ESP32-CAM は Arduino と同じように Arduino IDE で開発を行うことができます。さらに、カメラ、wi-fi、Bluetoothが搭載されているのに価格が約1200円と Arduino よりも圧倒的に高性能で安く手が出しやすい価格となっています。

また、 Arduino IDE だけでなく、Python(MicroPython)も使用できるため、ラズパイでPythonを使って開発している方は、簡単に開発に取りかかれます!

自分も今回esp32は初めて扱いましたが、特につまずくこともなく開発できました。今度、 Python で開発する方法についての記事も書こうと思います。

  

必要なもの・実行環境

  • ESP32-CAM
    (今回のメインである格安マイコン)
  • パソコン(Windows 10, 64bit)

 

行うこと

  1. ESP32-CAMのセットアップ
  2. コードの書き込みと動作確認
  3. ストリーミングサーバーの立ち上げ

   

1. ESP32-CAMのセットアップ

    

1.1 USBシリアルコンバータのドライバー( CP2102 )のインストール

   

※購入したシリアルコンバータによってはUSBをパソコンに挿入時に自動でドライバーのインストールが行われるものもあるため、必要な方のみ行ってください。
ちなみに今回自分が購入したものはドライバーインストールが必要でした。

   

まず、こちらのサイトからドライバーファイルをダウンロードします。

使用しているパソコンのOSがWindows 10の場合は↓の図の”Download”をクリックしてください。
(MACやLinuxの場合は下にスクロールしたところにダウンロードボタンがあります。)

  

ドライバーインストールツールのZipファイルがダウンロードされるので、展開してから実行ファイルを実行します。(注意:展開せずに行うとインストールの途中でエラーとなります。)

64bitパソコンの場合は”CP210xVCPInstaller_x64.exe”をクリックして実行してください。

   

実行すると↓のような画面が現れるので次へをクリックします。

    

すると、一瞬でインストールが完了し以下の画面が現れるので完了をクリックします。

     

以上でドライバーインストールは完了です。

   

1.2  Arduino IDE のインストール

次に、開発システムであるArduino IDEをインストールします。

Arduino IDEのダウンロードページにアクセスし、↓の画像のダウンロードリンクをクリックしてください。

    

クリックすると以下のようなページに飛ぶので、”JUST DOWNLOAD”をクリックしダウンロードしてください。

    

ダウンロードが完了したら実行ファイルをクリックするとインストーラーが起動するので、後は画面に従ってインストールを完了させてください。
(特に迷うところはないのでインストールについては省略します。)

  

1.3  Arduino IDE のセットアップ

続いて、Arduino IDE で ESP32 を扱えるようにするための設定をしていきます。

まず、ボードの追加を行います。
「ファイル」 > 「環境設定」 へと進み、 「追加のボードマネージャのURL」の欄に https://dl.espressif.com/dl/package_esp32_index.json と入力し、OKをクリックします。

    

次に、 「ツール」 >「ボード」 > 「ボードマネージャ」 へと進み、検索欄に”ESP32”と入力し、出てきた項目のインストールボタンをクリックします。

    

最後に↓の図のようにボードの設定を行ってください。

  

   

1.4 パソコンと ESP32-CAM の接続

ESP32-cam と USBシリアルコンバータ を下の表のようにつないでください。

ESP32-cam USBシリアルコンバータ
5V 5V
GND GND
UOR TXD
UOT RXD

    

自分が購入した USBシリアルコンバータ は この接続方法ではうまくいきませんでした。Amazonレビューを見てみたところ、どうやら USBシリアルコンバータのTXD と RXD の表記が逆になっているらしく、 TXD を UOT に、 RXD を UOR に接続したところ無事に書き込み出来ました。
正常に動作しない場合は、このように逆に接続するとうまくいくかもしれません。(間違って逆に接続しても壊れることはないようです。)

esp32の裏側
esp32 と USBシリアルコンバータ の接続図

  

ここで一つ注意点ですが、esp32に書き込みを行う際は上の図のように、
IO0 を GND に落とし( IO0 と GND を接続)、書き込みモードにしてから行う必要があります。
逆に、書き込みモードの状態では起動させることができないため、コードを書き込んだ後は、 IO0 と GND との接続を解除してあげる必要があります。

今回はコードの書き込みを行うので、 IO0 を GND に落とした状態で、USBをパソコンにつなぎます。

まず、接続する前に Arduino IDE を開き 「ツール」>「シリアルポート」を確認し、何も選択されていないことを確認します。

    

次に、 esp32結線したUSBシリアルコンバータをパソコンに差し込み、もう一度 「ツール」>「シリアルポート」 を開きます。

すると今度は↓の画像のように何かしらのポートが選択されているはずです。

   

※この時に何も選択されていない場合は、1.1のUSBシリアルコンバータのドライバー( CP2102 )のインストールができていないか、 ESP32-cam と USBシリアルコンバータ の接続が間違っている可能性が高いのでそちらを確認してみてください。

  

   

2.コードの書き込みと動作確認

2.1 コードの書き込み

まずは、動作確認のために “Hello World” を出力するプログラムを書き込み、正常に動作するか確認します。

Arduino IDE のスケッチに以下のコードを書き込み、「➡」ボタンを押してください。

void setup()
{
  Serial.begin(9600); // 通信速度
}


void loop()
{
  Serial.println("Hello, World"); // Hello, Worldを出力
  delay(1000); // 1秒待つ
}

   

書き込みが終了すると、「画面下にボードへの書き込みが完了しました。」と表示されます

もし、

Arduino:1.8.9 (Windows Store 1.8.21.0) (Windows 10), ボード:"ESP32 Wrover Module, Huge APP (3MB No OTA/1MB SPIFFS), QIO, 80MHz, 921600, None"

最大3145728バイトのフラッシュメモリのうち、スケッチが259153バイト(8%)を使っています。
最大327680バイトのRAMのうち、グローバル変数が15428バイト(4%)を使っていて、ローカル変数で312252バイト使うことができます。
esptool.py v2.6
Serial port COM3
Connecting........_____....._____....._____....._____....._____....._____....._____

A fatal error occurred: Failed to connect to ESP32: Invalid head of packet (0x00)
A fatal error occurred: Failed to connect to ESP32: Invalid head of packet (0x00)

というようなエラーが出る場合は、esp32が書き込みモードになっているか ( IO0 と GND が接続されているか) 確認してみてください。

それでもダメな場合は、esp32のリセットボタン(小さい黒い丸いボタン)を押してみてください。

   

2.2 プログラム実行

書き込みが終わったら、IO0 と GND との接続を解除し、 USBをパソコンに接続したまま、esp32のリセットボタン(小さい黒い丸いボタン)を押してください。

続いて、出力内容を見るためにシリアルモニタを開きます。

下図のように 「ツール」>「シリアルモニタ」 をクリックし、シリアルモニタを表示させたら、シリアルモニタの画面右下の”******bps”と書かれているところをクリックし“9600”を選択します。

    

すると、シリアルモニタに1秒おきに、”Hello, World”と表示されます。

   

   

以上が、esp32-camのセットアップからプログラム実行までの流れです。
つまずいたとこもあまりなく、すんなりと出来ました!
もし、わからないところなどございましたら気軽に連絡ください!

次の記事では、この esp32-cam を使用してストリーミングサーバを立てる方法を紹介します。

google ads




google ads




-インストール, 電子工作

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

大学生の電子工作 スマートリモコン(プログラム)

この記事ではスマートリモコンを作ってみたで紹介したスマートリモコンのプログラムを記載していきます。回路はスマートリモコン(回路)に記載してあります。今回作成するプログラムは以下の4つです。 (LED点 …

ラズパイでスマートロック作ってみた② - 扉の開閉状況をGoogleスプレッドシートに記録

以前作成したスマートロックに、扉の開閉状況をGoogleスプレッドシートに記録する、という機能をつけたので、そのやり方について紹介します。   搭載した機能 スイッチで鍵の開閉外部サービス(Googl …

AmazonDushボタンを改造してできること- ラズパイやIoT製品との連携方法

AmazonDushボタンはひと手間加えるだけで、IoT製品等の遠隔ボタンとして使用することができます。これにより、スマートロックと連携させダッシュボタンで鍵を開閉したり、スマートリモコンのボタンとし …

RaspberryPiのセットアップ ② – SSH,VNC(遠隔操作)の設定とファイルサーバーの設定

 この記事では、前回の記事(RaspberryPiのセットアップ ① – 2種類のOSインストール方法と基本設定)に引き続き、ラズパイを遠隔操作するためのSSH・VNCの設定方法と、パソコ …

簡単にRasberryPi Zero WH へ node.js, npmを入れる方法

  はじめに  スマートリモコンでPS4を操作するためにはps4-wakerというパッケージが必要であり、これをインストールするにはnode.jsのパッケージ管理ツールであるnpmをインストールする必 …