Skip to main content

GR-LYCHEE Special Project: Let's Try Making a Web Camera!

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
usb-cablesd-card-2gb

Web Camera Sample

First, save the "index.htm" file for the browser display on the SD card.

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

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

Support

Support Communities

Support Communities

Get quick technical support online from Renesas Engineering Community technical staff.
Browse Articles

Knowledge Base

Browse our knowledge base for helpful articles, FAQs, and other useful resources.
Submit a Ticket

Submit a Ticket

Need to ask a technical question or share confidential information?