Overview
This project provides details on how to use the Gadget Renesas GR-LYCHEE board as a web camera to display images on a web browser using Wi-Fi. GR-LYCHEE has an ESP32 module, which allows a connection between Wi-Fi and Bluetooth Low Energy (BLE).
Preparation
Hardware
Prepare the GR-LYCHEE board, a USB cable (Micro B type) and an SD card. For details on how to install the camera, refer to the How to Attach the Camera, Accessories, LCD project.
![gr-lychee-board](/sites/default/files/inline-images/gr-lychee-board_1.jpg)
![usb-cable](/sites/default/files/inline-images/usb-cable_23.jpg)
![sd-card-2gb](/sites/default/files/inline-images/sd-card-2gb.jpg)
Web Camera Sample
First, save the "index.htm" file for the browser display on the SD card.
-
Right click on the following link and save "Save target to file" to download.
After saving, insert the SD card into the GR-LYCHEE board and execute the following sketch.
#include <Arduino.h>
#include <Camera.h>
#include <SD.h>
#include <HTTPServer.h>
#include <mbed_rpc.h>
#include <SdUsbConnect.h>
#include <ESP32Interface.h>
ESP32Interface network;
#define WIFI_SSID "elecom2g01-45ea1e"
#define WIFI_PW "renerene"
Camera camera(320, 240);
SdUsbConnect storage("storage");
static int snapshot_req(const char ** pp_data) {
size_t size = camera.createJpeg();
*pp_data = (const char*)camera.getJpegAdr();
return size;
}
void setup(void) {
Serial.begin(9600);
Serial.println("Starts.");
// SD & USB
Serial.print("Finding strage..");
storage.wait_connect();
Serial.println("done");
camera.begin();
Serial.print("Connecting Wi-Fi..");
network.connect(WIFI_SSID, WIFI_PW, NSAPI_SECURITY_WPA_WPA2);
Serial.println("done");
Serial.print("MAC Address is ");
Serial.println(network.get_mac_address());
Serial.print("IP Address is ");
Serial.println(network.get_ip_address());
Serial.print("NetMask is ");
Serial.println(network.get_netmask());
Serial.print("Gateway Address is ");
Serial.println(network.get_gateway());
Serial.println("Network Setup OK\r\n");
SnapshotHandler::attach_req(&snapshot_req);
HTTPServerAddHandler<SnapshotHandler>("/camera"); //Camera
FSHandler::mount("/storage", "/");
HTTPServerAddHandler<FSHandler>("/");
HTTPServerAddHandler<RPCHandler>("/rpc");
HTTPServerStart(&network, 80);
}
void loop() {
}
Confirm Web Camera Operation
Activate the serial monitor and press the GR-LYCHEE board's reset button. The IP address obtained by DHCP is displayed as shown in the image to the right.
![sp-webcamera-serial](/sites/default/files/inline-images/sp-webcamera-serial.jpg)
Type in the displayed IP address in the web browser's URL. The screen shown to the right is displayed.
The camera image is displayed.
![sp-webcamera-iphone](/sites/default/files/inline-images/sp-webcamera-iphone.jpg)