This commit is contained in:
Eeason Shen 2025-07-26 11:23:56 +08:00
parent 5895b1868a
commit d034806e42
71 changed files with 649 additions and 353 deletions

View File

@ -7,13 +7,27 @@
# add these directories to sys.path here.
from datetime import datetime
import os
import subprocess
import pathlib
import sys
sys.path.insert(0, pathlib.Path(__file__).parents[2].resolve().as_posix())
os.system("rm -r freenove_Kit")
os.system("git clone --depth 1 https://github.com/Freenove/Freenove_ESP32_WROVER_Board freenove_Kit")
repo_url = "https://github.com/Freenove/Freenove_ESP32_WROVER_Board"
repo_dir = "freenove_Kit"
if os.path.isdir(repo_dir):
print(f"Directory '{repo_dir}' found. Pulling latest changes...")
try:
subprocess.run(["git", "-C", repo_dir, "pull"], check=True)
except subprocess.CalledProcessError as e:
print(f"Error pulling repository: {e}")
else:
print(f"Directory '{repo_dir}' not found. Cloning repository...")
try:
subprocess.run(["git", "clone", "--depth", "1", repo_url, repo_dir], check=True)
except subprocess.CalledProcessError as e:
print(f"Error cloning repository: {e}")
project = "fnk0060-docs"
# <!!!BEGIN!!!>

View File

@ -12,19 +12,24 @@ In this project, we will use ESP32 to control blinking a common LED.
Component List
======================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1 |
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+-------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+-----------------+------------------+-------------------------+
| LED x1 | Resistor 220Ω x1 | Jumper M/M x2 |
| | | |
| |Chapter01_03| | |Chapter01_04| | |Chapter01_05| |
+-----------------+------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1 |
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+-------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+-----------------+------------------+-------------------------+
| LED x1 | Resistor 220Ω x1 | Jumper M/M x2 |
| | | |
| |Chapter01_03| | |Chapter01_04| | |Chapter01_05| |
+-----------------+------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter01_01| image:: ../_static/imgs/1_LED/Chapter01_01.png
@ -66,7 +71,11 @@ The bands of color on a resistor is a shorthand code used to identify its resist
With a fixed voltage, there will be less current output with greater resistance added to the circuit. The relationship between Current, Voltage and Resistance can be expressed by this formula: I=V/R known as Ohm's Law where I = Current, V = Voltage and R = Resistance. Knowing the values of any two of these allows you to solve the value of the third.
In the following diagram, the current through R1 is: I=U/R=5V/10kΩ=0.0005A=0.5mA.
In the following diagram, the current through R1 is:
.. math::
\boldsymbol{I = \frac{U}{R} = \frac{5\ \text{V}}{10\ \text{k}\Omega} = 0.0005\ \text{A} = 0.5\ \text{mA}}
.. image:: ../_static/imgs/1_LED/Chapter01_08.png
:align: center
@ -108,26 +117,32 @@ Circuit
First, disconnect all power from the ESP32-WROVER. Then build the circuit according to the circuit and hardware diagrams. After the circuit is built and verified correct, connect the PC to ESP32-WROVER.
CAUTION: Avoid any possible short circuits (especially connecting 5V or GND, 3.3V and GND)! WARNING: A short circuit can cause high current in your circuit, generate excessive component heat and cause permanent damage to your hardware!
.. caution::
Avoid any possible short circuits (especially connecting 5V or GND, 3.3V and GND)!
.. warning::
A short circuit can cause high current in your circuit, generate excessive component heat and cause permanent damage to your hardware!
.. list-table::
:width: 100%
:width: 80%
:header-rows: 1
:align: center
:class: table-line
* - Schematic diagram
* - **Schematic diagram**
* - |Chapter01_11|
* - Hardware connection.
* - **Hardware connection**
:red:`If you need any support, please contact us via:` support@freenove.com
:combo:`red font-bolder:If you need any support, please contact us via:` support@freenove.com
* - |Chapter01_12|
:red:`Don't rotate ESP32-WROVER 180° for connection.`
:combo:`red font-bolder:Don't rotate ESP32-WROVER 180° for connection.`
.. |Chapter01_11| image:: ../_static/imgs/1_LED/Chapter01_11.png
.. |Chapter01_12| image:: ../_static/imgs/1_LED/Chapter01_12.png
Sketch
=================================
@ -149,9 +164,7 @@ Select the serial port.
.. note::
For macOS users, if the uploading fails, please set the baud rate to 115200 before clicking
"Upload Speed".
**For macOS users, if the uploading fails, please set the baud rate to 115200 before clicking "Upload Speed".**
.. image:: ../_static/imgs/1_LED/Chapter01_15.png
:align: center
@ -167,4 +180,4 @@ Click "Upload", Download the code to ESP32-WROVER and your LED in the circuit st
.. image:: ../_static/imgs/1_LED/Chapter01_17.png
:align: center
:red:`If you have any concerns, please contact us via:` support@freenove.com
:combo:`red font-bolder:If you have any concerns, please contact us via:` support@freenove.com

View File

@ -12,11 +12,16 @@ Project 02.1 Bluetooth Passthrough
Component List
==================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -100,7 +105,7 @@ Reference
.. py:function:: Class BluetoothSerial
This is a class library used to operate BluetoothSerial, which can directly read and set BluetoothSerial. Here are some member functions:
This is a class library used to operate **BluetoothSerial**, which can directly read and set **BluetoothSerial**. Here are some member functions:
**begin(localName,isMaster):** Initialization function of the Bluetooth
@ -136,11 +141,16 @@ Project Bluetooth Low Energy Data Passthrough
Component List
==================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
Circuit
=========================

View File

@ -4,7 +4,7 @@ Chapter Read and Write the Sdcard
.. note::
The SD card chapter only applies to the ESP32 WROVER development board with an SD card slot on the back. If your ESP32 WROVER does not have an SD card slot on the back, please skip this chapter.
:combo:`red font-bolder:The SD card chapter only applies to the ESP32 WROVER development board with an SD card slot on the back. If your ESP32 WROVER does not have an SD card slot on the back, please skip this chapter.`
An SDcard slot is integrated on the back of the ESP32 WROVER. In this chapter we learn how to use ESP32 to read and write SDcard.
@ -12,9 +12,9 @@ Project SDMMC Test
****************************************
.. list-table::
:width: 100%
:header-rows: 1
:width: 80%
:align: center
:class: table-line
* - ESP32 WROVER x1
- USB cable x1
@ -25,7 +25,7 @@ Project SDMMC Test
- |Chapter30_00|
- |Chapter30_01|
:red:`(Not a USB flash drive.)`
:combo:`red font-bolder:(Not a USB flash drive.)`
- |Chapter30_02|
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png

View File

@ -12,11 +12,16 @@ Project Station mode
Component List
===========================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -126,11 +131,11 @@ Reference
**config(local_ip, gateway, subnet, dns1, dns2):** set static local IP address.
**local_ip:** station fixed IP address.
**local_ip:** station fixed IP address.
**subnet:** subnet mask
**subnet:** subnet mask
**dns1,dns2:** optional parameter. define IP address of domain name server
**dns1,dns2:** optional parameter. define IP address of domain name server
**status:** obtain the connection status of WiFI
@ -262,11 +267,11 @@ Reference
**softAPConfig(local_ip, gateway, subnet): ** set static local IP address.
**local_ip: ** station fixed IP address.
**Gateway: ** gateway IP address
**subnet: ** subnet mask
**local_ip: ** station fixed IP address.
**Gateway: ** gateway IP address
**subnet: ** subnet mask
**softAP(): ** obtian IP address in AP mode
@ -278,11 +283,16 @@ Project AP+Station mode
Component List
==========================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png

View File

@ -12,11 +12,16 @@ In this section, ESP32 is used as Client to connect Server on the same LAN and c
Component List
===========================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -68,7 +73,7 @@ Install ControlP5.
.. image:: ../_static/imgs/33_TCP_IP/Chapter33_04.png
:align: center
Open the "Freenove_ESP32_WROVER_Board\\Sketches\\Sketches\\Sketch_05.1_WiFiClient\\sketchWiFi\\sketchWiFi.pde", and click "Run".
Open the **"Freenove_ESP32_WROVER_Board\\Sketches\\Sketches\\Sketch_05.1_WiFiClient\\sketchWiFi\\sketchWiFi.pde"**, and click "Run".
.. image:: ../_static/imgs/33_TCP_IP/Chapter33_05.png
:align: center
@ -87,7 +92,7 @@ If ESP32 serves as server, select TCP CLIENT mode for sketchWiFi.
When sketchWiFi selects TCP CLIENT mode, the LOCAL IP and LOCAL PORT of sketchWiFi need to be changed according to the IP address and port number printed by the serial monitor.
**Mode selection:** select Server mode/Client mode.
**Mode selection:** select **Server mode/Client mode.**
**IP address:** In server mode, this option does not need to be filled in, and the computer will automatically obtain the IP address. In client mode, fill in the remote IP address to be connected.
@ -240,11 +245,16 @@ In this section, ESP32 is used as a server to wait for the connection and commun
Component List
===============================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -282,9 +292,7 @@ Serial Monitor
Processing:
Open the "Freenove_ESP32_WROVER_Board\\Sketches\\Sketches\\Sketch_05.2_WiFiServer\\
sketchWiFi\sketchWiFi.pde".
Open the **"Freenove_ESP32_WROVER_Board\\Sketches\\Sketches\\Sketch_05.2_WiFiServer\\sketchWiFi\sketchWiFi.pde"**.
Based on the messages printed by the serial monitor, enter correct IP address and serial port in Processing to establish connection and make communication.

View File

@ -12,11 +12,16 @@ Connect ESP32 using USB and check its IP address through serial monitor. Use web
Component List
===========================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -56,7 +61,7 @@ Open a web browser, enter the IP address printed by the serial monitor in the ad
Taking the Google browser as an example, here's what the browser prints out after successful access to ESP32's IP.
We recommend that the resolution not exceed VGA(640x480).
:combo:`red font-bolder:We recommend that the resolution not exceed VGA(640x480).`
.. image:: ../_static/imgs/34_Camera_Web_Server/Chapter34_03.png
:align: center
@ -68,7 +73,7 @@ Click on Start Stream. The effect is shown in the image below.
.. note::
If sketch compilation fails due to ESP32 support package, follow the steps of the image to open the CameraWebServer. This sketch is the same as described in the tutorial above.
**If sketch compilation fails due to ESP32 support package, follow the steps of the image to open the CameraWebServer. This sketch is the same as described in the tutorial above.**
.. image:: ../_static/imgs/34_Camera_Web_Server/Chapter34_05.png
:align: center
@ -152,25 +157,30 @@ Modify the resolution and sharpness of the images captured by the camera. The sh
Reference
--------------------------------
+-------------------+-----------+------------------+-----------+
| Image resolution | Sharpness | Image resolution | Sharpness |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_96x96 | 96x96 | FRAMESIZE_HVGA | 480x320 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QQVGA | 160x120 | FRAMESIZE_VGA | 640x480 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QCIF | 176x144 | FRAMESIZE_SVGA | 800x600 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_HQVGA | 240x176 | FRAMESIZE_XGA | 1024x768 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_240x240 | 240x240 | FRAMESIZE_HD | 1280x720 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QVGA | 320x240 | FRAMESIZE_SXGA | 1280x1024 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_CIF | 400x296 | FRAMESIZE_UXGA | 1600x1200 |
+-------------------+-----------+------------------+-----------+
.. table::
:width: 80%
:align: center
:class: zebra
+-------------------+-----------+------------------+-----------+
| Image resolution | Sharpness | Image resolution | Sharpness |
+===================+===========+==================+===========+
| FRAMESIZE_96x96 | 96x96 | FRAMESIZE_HVGA | 480x320 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QQVGA | 160x120 | FRAMESIZE_VGA | 640x480 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QCIF | 176x144 | FRAMESIZE_SVGA | 800x600 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_HQVGA | 240x176 | FRAMESIZE_XGA | 1024x768 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_240x240 | 240x240 | FRAMESIZE_HD | 1280x720 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QVGA | 320x240 | FRAMESIZE_SXGA | 1280x1024 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_CIF | 400x296 | FRAMESIZE_UXGA | 1600x1200 |
+-------------------+-----------+------------------+-----------+
:red:`We recommend that the resolution not exceed VGA(640x480).`
:combo:`red font-bolder:We recommend that the resolution not exceed VGA(640x480).`
Project Video Web Server
*******************************************
@ -180,11 +190,16 @@ Connect to ESP32 using USB and view its IP address through a serial monitor. Acc
Component List
============================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
Circuit
=================================

View File

@ -7,7 +7,7 @@ Thank you for choosing Freenove products!
Getting Started
*********************************************
First, please read the Start Here.pdf document in the unzipped folder you created.
First, please read the **Start Here.pdf** document in the unzipped folder you created.
If you have not yet downloaded the zip file, associated with this kit, please do so now and unzip it.
@ -37,13 +37,13 @@ Please follow the following safety precautions when using or storing this produc
- Keep this product out of the reach of children under 6 years old.
- This product should be used only when there is adult supervision present as young children lack necessary judgment regarding safety and the consequences of product misuse.
- This product should be **used only when there is adult supervision present** as young children lack necessary judgment regarding safety and the consequences of product misuse.
- This product contains small parts and parts, which are sharp. This product contains electrically conductive parts. Use caution with electrically conductive parts near or around power supplies, batteries and powered (live) circuits.
- This product contains small parts and parts, which are sharp. This product contains electrically conductive parts. **Use caution with electrically conductive parts near or around power supplies, batteries and powered (live) circuits.**
- When the product is turned ON, activated or tested, some parts will move or rotate. To avoid injuries to hands and fingers keep them away from any moving parts!
- When the product is turned ON, activated or tested, some parts will move or rotate. **To avoid injuries to hands and fingers keep them away from any moving parts!**
- It is possible that an improperly connected or shorted circuit may cause overheating. Should this happen, immediately disconnect the power supply or remove the batteries and do not touch anything until it cools down! When everything is safe and cool, review the product tutorial to identify the cause.
- It is possible that an improperly connected or shorted circuit may cause overheating. **Should this happen, immediately disconnect the power supply or remove the batteries and do not touch anything until it cools down!** When everything is safe and cool, review the product tutorial to identify the cause.
- Only operate the product in accordance with the instructions and guidelines of this tutorial, otherwise parts may be damaged or you could be injured.
@ -64,7 +64,7 @@ Freenove is committed to assist customers in their education of robotics, progra
- Electronic Component Assortments, Electronic Modules and Specialized Tools
- Product Development and Customization Services
- **Product Development and Customization Services**
You can find more about Freenove and get our latest news and updates through our website:

View File

@ -23,6 +23,7 @@ ESP32-WROVER has launched a total of two antenna packages, PCB on-board antenna
:width: 80%
:header-rows: 1
:align: center
:class: table-line
* - PCB on-board antenna
- IPEX antenna
@ -39,6 +40,13 @@ ESP32-WROVER
.. image:: ../_static/imgs/Preface/Preface02.png
:align: center
:width: 50%
**The version on the left is no longer mass-produced, and we mainly maintain the version on the right.**
Please note that there are many pirated versions of the ESP32 WROVER that look very similar to the version on the left. None of them will carry our logo and Freenove font.
We do not sell pirated ESP32 WROVER, nor do we provide after-sales service for pirated.
The hardware interfaces of ESP32-WROVER are distributed as follows:
@ -51,6 +59,7 @@ Compare the left and right images. We've boxed off the resources on the ESP32-WR
:width: 80%
:header-rows: 1
:align: center
:class: table-line
* - Box color
- Corresponding resources introduction
@ -83,6 +92,7 @@ For more information, please visit: https://www.espressif.com/sites/default/file
Extension board of the ESP32-WROVER
**********************************************
And we also design an extension board, so that you can use the ESP32 more easily in accordance with the circuit diagram provided. The followings are their photos.
The hardware interfaces of ESP32-WROVER are distributed as follows:
@ -96,6 +106,7 @@ We've boxed off the resources on the ESP32-WROVER in different colors to facilit
:width: 80%
:header-rows: 1
:align: center
:class: table-line
* - Box color
- Corresponding resources introduction
@ -162,17 +173,17 @@ Installing CH340
.. image:: ../_static/imgs/Preface/Preface19.png
:align: center
If you would not like to download the installation package, you can open "Freenove_ESP32_WROVER_Board/CH340", we have prepared the installation package.
If you would not like to download the installation package, you can open **"Freenove_ESP32_WROVER_Board/CH340"**, we have prepared the installation package.
.. image:: ../_static/imgs/Preface/Preface20.png
:align: center
2. Open the folder "Freenove_ESP32_WROVER_Board/CH340/Windows/"
2. Open the folder **"Freenove_ESP32_WROVER_Board/CH340/Windows/"**
.. image:: ../_static/imgs/Preface/Preface21.png
:align: center
3. Double click "CH341SER.EXE".
3. Double click **"CH341SER.EXE"**.
.. image:: ../_static/imgs/Preface/Preface22.png
:align: center
@ -202,9 +213,9 @@ First, download CH340 driver, click http://www.wch-ic.com/search?q=CH340&t=downl
.. image:: ../_static/imgs/Preface/Preface26.png
:align: center
If you would not like to download the installation package, you can open "Freenove_ESP32_WROVER_Board/CH340", we have prepared the installation package.
If you would not like to download the installation package, you can open **"Freenove_ESP32_WROVER_Board/CH340"**, we have prepared the installation package.
Second, open the folder "Freenove_ESP32_WROVER_Board/CH340/MAC/"
Second, open the folder **"Freenove_ESP32_WROVER_Board/CH340/MAC/"**
.. image:: ../_static/imgs/Preface/Preface27.png
:align: center
@ -302,7 +313,7 @@ Fifth, select Espressif Systems' ESP32 and select version 3.0.x. Click "INSTALL"
it takes a while to install the ESP32, make sure your network is stable.
When finishing installation, click Tools in the Menus again and select Board: "Arduino Uno", and then you can see information of ESP32 Wrover Module. Click " ESP32 Wrover Module" so that the ESP32 programming development environment is configured.
When finishing installation, click Tools in the Menus again and select Board: "Arduino Uno", and then you can see information of **ESP32 Wrover Module**. Click **"ESP32 Wrover Module"** so that the ESP32 programming development environment is configured.
.. image:: ../_static/imgs/Preface/Preface43.png
:align: center
@ -379,6 +390,7 @@ Pins with underlined numbers are used by the camera function, if you want to use
:width: 80%
:header-rows: 1
:align: center
:class: zebra
* - CAM_Pin
- GPIO_pin

View File

@ -12,25 +12,28 @@ Now, let's use Processing and ESP32 board to create an oscilloscope.
Component List
====================================
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Rotary potentiometer x1 | Jumper M/M x3 |
| | |
| |Chapter09_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Rotary potentiometer x1 | Jumper M/M x3 |
| | |
| |Chapter09_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter01_01| image:: ../_static/imgs/1_LED/Chapter01_01.png
.. |Chapter01_02| image:: ../_static/imgs/1_LED/Chapter01_02.png
.. |Chapter13_00| image:: ../_static/imgs/1_LED/Chapter13_00.png
.. |Chapter07_04| image:: ../_static/imgs/7_Buzzer/Chapter07_04.png
.. |Chapter01_05| image:: ../_static/imgs/1_LED/Chapter01_05.png
.. |Chapter09_00| image:: ../_static/imgs/9_AD_DA_Converter/Chapter09_00.png
@ -40,17 +43,19 @@ Circuit
Use Pin4 (A10) port to detect the voltage of rotary potentiometer.
.. list-table::
:width: 100%
:width: 80%
:align: center
:class: table-line
:header-rows: 1
* - Schematic diagram
- Hardware connection
* - |Chapter01_00|
- |Chapter01_01|
* - |Processing_Chapter01_00|
- |Processing_Chapter01_01|
.. |Chapter01_00| image:: ../_static/imgs/1_Oscilloscope/Chapter01_00.png
.. |Chapter01_01| image:: ../_static/imgs/1_Oscilloscope/Chapter01_01.png
.. |Processing_Chapter01_00| image:: ../_static/imgs/1_Oscilloscope/Chapter01_00.png
.. |Processing_Chapter01_01| image:: ../_static/imgs/1_Oscilloscope/Chapter01_01.png
Sketch
==============================

View File

@ -12,24 +12,28 @@ First, control a 2D figure.
Component List
====================================
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Joystick x1 | Jumper M/M x3 |
| | |
| |Chapter14_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Joystick x1 | Jumper M/M x3 |
| | |
| |Chapter14_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter01_01| image:: ../_static/imgs/1_LED/Chapter01_01.png
.. |Chapter01_02| image:: ../_static/imgs/1_LED/Chapter01_02.png
.. |Chapter13_00| image:: ../_static/imgs/1_LED/Chapter13_00.png
.. |Chapter07_04| image:: ../_static/imgs/7_Buzzer/Chapter07_04.png
.. |Chapter01_05| image:: ../_static/imgs/1_LED/Chapter01_05.png
.. |Chapter14_00| image:: ../_static/imgs/14_Joystick/Chapter14_00.png
@ -42,12 +46,13 @@ Circuit
Use Pin36 and Pin39 (A0 and A3) ports to detect the voltage value of two rotary potentiometers inside joystick.
.. list-table::
:width: 100%
:width: 80%
:align: center
:class: table-line
* - Schematic diagram
* - **Schematic diagram**
* - |Chapter02_00|
* - Hardware connection.
* - **Hardware connection**
* - |Chapter02_01|
.. |Chapter02_00| image:: ../_static/imgs/2_Control_2D_and_3D_Figures/Chapter02_00.png

View File

@ -12,24 +12,28 @@ First, let's play a 2D snake game.
Component List
====================================
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Joystick x1 | Jumper M/M x3 |
| | |
| |Chapter14_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Joystick x1 | Jumper M/M x3 |
| | |
| |Chapter14_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter01_01| image:: ../_static/imgs/1_LED/Chapter01_01.png
.. |Chapter01_02| image:: ../_static/imgs/1_LED/Chapter01_02.png
.. |Chapter13_00| image:: ../_static/imgs/1_LED/Chapter13_00.png
.. |Chapter07_04| image:: ../_static/imgs/7_Buzzer/Chapter07_04.png
.. |Chapter01_05| image:: ../_static/imgs/1_LED/Chapter01_05.png
.. |Chapter14_00| image:: ../_static/imgs/14_Joystick/Chapter14_00.png
@ -40,12 +44,13 @@ Circuit
Use Pin36 and Pin39 (A0 and A3) ports to detect the voltage value of two rotary potentiometers inside joystick.
.. list-table::
:width: 100%
:width: 80%
:align: center
:class: table-line
* - Schematic diagram
* - **Schematic diagram**
* - |Chapter03_00|
* - Hardware connection.
* - **Hardware connection**
* - |Chapter03_01|
.. |Chapter03_00| image:: ../_static/imgs/3_Snake_Game/Chapter03_00.png

View File

@ -12,24 +12,28 @@ Now, let's use Processing and ESP32 board to achieve the game.
Component List
====================================
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Joystick x1 | Jumper M/M x3 |
| | |
| |Chapter14_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Joystick x1 | Jumper M/M x3 |
| | |
| |Chapter14_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter01_01| image:: ../_static/imgs/1_LED/Chapter01_01.png
.. |Chapter01_02| image:: ../_static/imgs/1_LED/Chapter01_02.png
.. |Chapter13_00| image:: ../_static/imgs/1_LED/Chapter13_00.png
.. |Chapter07_04| image:: ../_static/imgs/7_Buzzer/Chapter07_04.png
.. |Chapter01_05| image:: ../_static/imgs/1_LED/Chapter01_05.png
.. |Chapter14_00| image:: ../_static/imgs/14_Joystick/Chapter14_00.png
@ -40,12 +44,13 @@ Circuit
Use Pin36 and Pin39 (A0 and A3) ports to detect the voltage value of two rotary potentiometers inside joystick.
.. list-table::
:width: 100%
:width: 80%
:align: center
:class: table-line
* - Schematic diagram
* - **Schematic diagram**
* - |Chapter04_00|
* - Hardware connection.
* - **Hardware connection**
* - |Chapter04_01|
.. |Chapter04_00| image:: ../_static/imgs/4_Pick_Apples/Chapter04_00.png

View File

@ -12,24 +12,28 @@ First, let's experience the 2D version game.
Component List
====================================
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Rotary potentiometer x2 | Jumper M/M x6 |
| | |
| |Chapter09_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1|
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+------------------------------------+------------------------+
| Rotary potentiometer x2 | Jumper M/M x6 |
| | |
| |Chapter09_00| | |Chapter01_05| |
+------------------------------------+------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter01_01| image:: ../_static/imgs/1_LED/Chapter01_01.png
.. |Chapter01_02| image:: ../_static/imgs/1_LED/Chapter01_02.png
.. |Chapter13_00| image:: ../_static/imgs/1_LED/Chapter13_00.png
.. |Chapter07_04| image:: ../_static/imgs/7_Buzzer/Chapter07_04.png
.. |Chapter01_05| image:: ../_static/imgs/1_LED/Chapter01_05.png
.. |Chapter09_00| image:: ../_static/imgs/9_AD_DA_Converter/Chapter09_00.png
@ -40,12 +44,13 @@ Circuit
Use A0, A3 ports on ESP32 board to detect the voltage of rotary potentiometers.
.. list-table::
:width: 100%
:width: 80%
:align: center
:class: table-line
* - Schematic diagram
* - **Schematic diagram**
* - |Chapter05_00|
* - Hardware connection.
* - **Hardware connection**
* - |Chapter05_01|
.. |Chapter05_00| image:: ../_static/imgs/5_Pong_Game/Chapter05_00.png

View File

@ -12,19 +12,24 @@ Now, let's use Processing and ESP32 board to achieve the tetris game.
Component list
===============================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1 |
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+-------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+-----------------+------------------+-------------------------+
| Jumper M/M x4 | Resistor 10kΩ x4 | Push button x4 |
| | | |
| |Chapter01_05| | |Chapter02_01| | |Chapter02_02| |
+-----------------+------------+-----+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1 |
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+-------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+-----------------+------------------+-------------------------+
| Jumper M/M x4 | Resistor 10kΩ x4 | Push button x4 |
| | | |
| |Chapter01_05| | |Chapter02_01| | |Chapter02_02| |
+-----------------+------------+-----+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter01_01| image:: ../_static/imgs/1_LED/Chapter01_01.png
@ -39,12 +44,13 @@ Circuit
Use Pin4, Pin5, Pin18, Pin19 port on ESP32 board to control the movement of the block.
.. list-table::
:width: 100%
:width: 80%
:align: center
:class: table-line
* - Schematic diagram
* - **Schematic diagram**
* - |Chapter06_00|
* - Hardware connection.
* - **Hardware connection**
* - |Chapter06_01|
.. |Chapter06_00| image:: ../_static/imgs/6_Tetris/Chapter06_00.png

View File

@ -77,6 +77,7 @@ First Use
In the editor, type the following:
.. code-block:: c
:linenos:
ellipse(50, 50, 80, 80);
@ -111,7 +112,7 @@ We need to write code for control board and Processing to complete the interacti
In order to simplify and facilitate the operation, we prepared a SerialDevice class for Processing to communicate with the control board. To use this class, we need to upload the following sketch to the control board:
:red:`Freenove Ultimate Starter Kit for ESP32\C\Processing\SerialDevice\SerialDevice.ino.`
:combo:`red font-bolder:Freenove Ultimate Starter Kit for ESP32\C\Processing\SerialDevice\SerialDevice.ino.`
This sketch only need to be uploaded once, so the latter projects of this tutorial does not need to upload again.

View File

@ -1,4 +1,92 @@
##############################################################################
Chapter
Welcome
##############################################################################
Thank you for choosing Freenove products!
Getting Started
*********************************************
First, please read the **Start Here.pdf** document in the unzipped folder you created.
If you have not yet downloaded the zip file, associated with this kit, please do so now and unzip it.
Get Support and Offer Input
*********************************************
Freenove provides free and responsive product and technical support, including but not limited to:
- Product quality issues
- Product use and build issues
- Questions regarding the technology employed in our products for learning and education
- Your input and opinions are always welcome
- We also encourage your ideas and suggestions for new products and product improvements
For any of the above, you may send us an email to:
support@freenove.com
Safety and Precautions
*******************************************
Please follow the following safety precautions when using or storing this product:
- Keep this product out of the reach of children under 6 years old.
- This product should be **used only when there is adult supervision present** as young children lack necessary judgment regarding safety and the consequences of product misuse.
- This product contains small parts and parts, which are sharp. This product contains electrically conductive parts. **Use caution with electrically conductive parts near or around power supplies, batteries and powered (live) circuits.**
- When the product is turned ON, activated or tested, some parts will move or rotate. **To avoid injuries to hands and fingers keep them away from any moving parts!**
- It is possible that an improperly connected or shorted circuit may cause overheating. **Should this happen, immediately disconnect the power supply or remove the batteries and do not touch anything until it cools down!** When everything is safe and cool, review the product tutorial to identify the cause.
- Only operate the product in accordance with the instructions and guidelines of this tutorial, otherwise parts may be damaged or you could be injured.
- Store the product in a cool dry place and avoid exposing the product to direct sunlight.
- After use, always turn the power OFF and remove or unplug the batteries before storing.
About Freenove
*******************************************
Freenove provides open source electronic products and services worldwide.
Freenove is committed to assist customers in their education of robotics, programming and electronic circuits so that they may transform their creative ideas into prototypes and new and innovative products. To this end, our services include but are not limited to:
- Educational and Entertaining Project Kits for Robots, Smart Cars and Drones
- Educational Kits to Learn Robotic Software Systems for Arduino, Raspberry Pi and micro: bit
- Electronic Component Assortments, Electronic Modules and Specialized Tools
- **Product Development and Customization Services**
You can find more about Freenove and get our latest news and updates through our website:
http://www.freenove.com
sale@freenove.com
Copyright
********************************************
All the files, materials and instructional guides provided are released under `Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License <https://creativecommons.org/licenses/by-nc-sa/3.0/>`_. A copy of this license can be found in the folder containing the Tutorial and software files associated with this product.
This means you can use these resource in your own derived works, in part or completely but NOT for the intent or purpose of commercial use.
Freenove brand and logo are copyright of Freenove Creative Technology Co., Ltd. and cannot be used without written permission.
.. image:: ../_static/imgs/Welcome/welcome00.png
:align: center
This means you can use these resource in your own derived works, in part or completely but NOT for the intent or purpose of commercial use.
Freenove brand and logo are copyright of Freenove Creative Technology Co., Ltd. and cannot be used without written permission.
.. image:: ../_static/imgs/Welcome/welcome01.png
:align: center

View File

@ -9,20 +9,25 @@ Project Blink
In this project, we will use ESP32 to control blinking a common LED.
If you have not yet installed Thonny, click :ref:`here`.
If you have not yet installed Thonny, click :ref:`here <Thonny>`.
If you have not yet downloaded Micropython Firmware, click :ref:`here`.
If you have not yet downloaded Micropython Firmware, click :ref:`here <Downloading>`.
If you have not yet loaded Micropython Firmware, click :ref:`here`.
If you have not yet loaded Micropython Firmware, click :ref:`here <Burning>`.
Component List
===============================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | USB cable |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | USB cable |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -44,14 +49,12 @@ We can also use DC jack of extension board to power ESP32-WROVER.In this way, 5v
Code
===========================
Codes used in this tutorial are saved in "Freenove_ESP32_WROVER_Board/Python/
Python_Codes". You can move the codes to any location. For example, we save the codes in Disk(D) with the path of "D:/Micropython_Codes".
Codes used in this tutorial are saved in **"Freenove_ESP32_WROVER_Board/Python/Python_Codes"**. You can move the codes to any location. For example, we save the codes in Disk(D) with the path of **"D:/Micropython_Codes"**.
Blink
---------------------------
Open "Thonny", click "This computer" -> "D:" -> "Micropython_Codes".
Open "Thonny", click "This computer" **->** "D:" **->** "Micropython_Codes".
.. image:: ../_static/imgs/1_LED/Chapter01_19.png
:align: center
@ -71,7 +74,7 @@ Click "Run current script" shown in the box above, the code starts to be execute
.. image:: ../_static/imgs/1_LED/Chapter01_22.png
:align: center
Due to different versions, some board leds will show the opposite effect.
:combo:`red font-bolder:Due to different versions, some board leds will show the opposite effect.`
.. note::
@ -98,7 +101,7 @@ Press the reset key of ESP32 and you can see LED is ON for one second and then O
.. image:: ../_static/imgs/1_LED/Chapter01_26.png
:align: center
:red:`Due to different versions, some board leds will show the opposite effect.`
:combo:`red font-bolder:Due to different versions, some board leds will show the opposite effect.`
.. note::
@ -107,11 +110,12 @@ Press the reset key of ESP32 and you can see LED is ON for one second and then O
.. image:: ../_static/imgs/1_LED/Chapter01_27.png
:align: center
:red:`If you have any concerns, please contact us via:` support@freenove.com
:combo:`red font-bolder:If you have any concerns, please contact us via:` support@freenove.com
The following is the program code:
.. code-block:: python
:linenos:
from time import sleep_ms
from machine import Pin
@ -134,12 +138,14 @@ Each time a new file is opened, the program will be executed from top to bottom.
Print() function is used to print data to Terminal. It can be executed in Terminal directly or be written in a Python file and executed by running the file.
.. code-block:: python
:linenos:
print("Hello world!")
Each time when using the functions of ESP32, you need to import modules corresponding to those functions: Import sleep_ms module of time module and Pin module of machine module.
.. code-block:: python
:linenos:
from time import sleep_ms
from machine import Pin
@ -147,6 +153,7 @@ Each time when using the functions of ESP32, you need to import modules correspo
Configure GPIO2 of ESP32-WROVER to output mode and assign it to an object named "led".
.. code-block:: python
:linenos:
led=Pin(2,Pin.OUT) #create LED object from pin2,Set Pin2 to output
@ -155,18 +162,21 @@ It means that from now on, LED represents GPIO2 that is in output mode.
Set the value of LED to 1 and GPIO2 will output high level.
.. code-block:: python
:linenos:
led.value(1) #Set led turn on
Set the value of LED to 0 and GPIO2 will output low level.
.. code-block:: python
:linenos:
led.value(0) #Set led turn on
Execute codes in a while loop.
.. code-block:: python
:linenos:
while True:
......
@ -176,6 +186,7 @@ Put statements that may cause an error in "try" block and the executing statemen
"Pass" is an empty statement. When it is executed, nothing happens. It is useful as a placeholder to make the structure of a program look better.
.. code-block:: python
:linenos:
try:
...
@ -185,12 +196,14 @@ Put statements that may cause an error in "try" block and the executing statemen
The single-line comment of Micropython starts with a "#" and continues to the end of the line. Comments help us to understand code. When programs are running, Thonny will ignore comments.
.. code-block:: python
:linenos:
#Set led turn on
MicroPython uses indentations to distinguish different blocks of code instead of braces. The number of indentations is changeable, but it must be consistent throughout one block. If the indentation of the same code block is inconsistent, it will cause errors when the program runs.
.. code-block:: python
:linenos:
while True:
led.value(1) #Set led turn on
@ -249,7 +262,7 @@ Reference
.. py:function:: Class Pin(id[, mode, pull, value])
Before each use of the Pin module, please add the statement "from machine import Pin" to the top of python file.
Before each use of the **Pin** module, please add the statement "**from machine import Pin**" to the top of python file.
**id:** Arbitrary pin number
@ -329,19 +342,24 @@ In this project, we will use ESP32 to control blinking a common LED.
Component List
======================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1 |
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+-------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+-----------------+------------------+-------------------------+
| LED x1 | Resistor 220Ω x1 | Jumper M/M x2 |
| | | |
| |Chapter01_03| | |Chapter01_04| | |Chapter01_05| |
+-----------------+------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | GPIO Extension Board x1 |
| | |
| |Chapter01_00| | |Chapter01_01| |
+------------------------------------+-------------------------+
| Breadboard x1 |
| |
| |Chapter01_02| |
+-----------------+------------------+-------------------------+
| LED x1 | Resistor 220Ω x1 | Jumper M/M x2 |
| | | |
| |Chapter01_03| | |Chapter01_04| | |Chapter01_05| |
+-----------------+------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter01_01| image:: ../_static/imgs/1_LED/Chapter01_01.png
@ -425,21 +443,21 @@ Circuit
First, disconnect all power from the ESP32-WROVER. Then build the circuit according to the circuit and hardware diagrams. After the circuit is built and verified correct, connect the PC to ESP32-WROVER.
CAUTION: Avoid any possible short circuits (especially connecting 5V or GND, 3.3V and GND)! WARNING: A short circuit can cause high current in your circuit, create excessive component heat and cause permanent damage to your hardware!
.. caution::
Avoid any possible short circuits (especially connecting 5V or GND, 3.3V and GND)! WARNING: A short circuit can cause high current in your circuit, create excessive component heat and cause permanent damage to your hardware!
.. list-table::
:width: 100%
:header-rows: 1
:align: center
:class: table-line
* - Schematic diagram
* - **Schematic diagram**
* - |Chapter01_37|
* - Hardware connection.
* - **Hardware connection**
* - :combo:`red font-bolder:If you need any support, please contact us via:` support@freenove.com
:red:`If you need any support, please contact us via:` support@freenove.com
* - |Chapter01_38|
|Chapter01_38|
:red:`Don't rotate ESP32-WROVER 180° for connection.`
@ -449,14 +467,12 @@ CAUTION: Avoid any possible short circuits (especially connecting 5V or GND, 3.3
Code
=====================================
Codes used in this tutorial are saved in "Freenove_ESP32_WROVER_Board/Python/
Python_Codes". You can move the codes to any location. For example, we save the codes in Disk(D) with the path of "D:/Micropython_Codes".
Codes used in this tutorial are saved in "**Freenove_ESP32_WROVER_Board/Python/Python_Codes**". You can move the codes to any location. For example, we save the codes in Disk(D) with the path of "**D:/Micropython_Codes**".
Blink
-------------------------------------
Open "Thonny"'click "This computer" -> "D:" -> "Micropython_Codes".
Open "Thonny"'click "This computer" **->** "D:" **->** "Micropython_Codes".
.. image:: ../_static/imgs/1_LED/Chapter01_39.png
:align: center
@ -508,4 +524,4 @@ Press the reset key of ESP32 and you can see LED is ON for one second and then O
.. image:: ../_static/imgs/1_LED/Chapter01_47.png
:align: center
:red:`If you have any concerns, please contact us via:` support@freenove.com
:combo:`red font-bolder:If you have any concerns, please contact us via:` support@freenove.com

View File

@ -12,11 +12,16 @@ Project Bluetooth Low Energy Data Passthrough
Component List
==================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -37,9 +42,9 @@ If you can't install Serial Bluetooth on your phone, try LightBlue.If you do not
Code
======================================
Move the program folder "Freenove_ESP32_WROVER_Board/Python/Python_Codes" to disk(D) in advance with the path of "D:/Micropython_Codes".
Move the program folder **"Freenove_ESP32_WROVER_Board/Python/Python_Codes"** to disk(D) in advance with the path of **"D:/Micropython_Codes"**.
Open "Thonny", click "This computer" -> "D:" -> "Micropython_Codes" -> "02.1_BLE". Select "ble_advertising.py", right click your mouse to select "Upload to /", wait for "ble_advertising.py" to be uploaded to ESP32-WROVER and then double click "BLE.py".
Open "Thonny", click "This computer" **->** "D:" **->** "Micropython_Codes" **->** "02.1_BLE". Select "ble_advertising.py", right click your mouse to select "Upload to /", wait for "ble_advertising.py" to be uploaded to ESP32-WROVER and then double click "BLE.py".
BLE
--------------------------------------
@ -97,12 +102,14 @@ And now data can be transferred between your mobile phone and computer via ESP32
The following is the program code:
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/02.1_BLE/BLE.py
:linenos:
:language: python
:dedent:
Define the specified UUID number for BLE vendor.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/02.1_BLE/BLE.py
:linenos:
:language: python
:lines: 20-28
:dedent:
@ -110,6 +117,7 @@ Define the specified UUID number for BLE vendor.
Write an _irq function to manage BLE interrupt events.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/02.1_BLE/BLE.py
:linenos:
:language: python
:lines: 46-63
:dedent:
@ -117,6 +125,7 @@ Write an _irq function to manage BLE interrupt events.
Initialize the BLE function and name it.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/02.1_BLE/BLE.py
:linenos:
:language: python
:lines: 36-36
:dedent:
@ -124,6 +133,7 @@ Initialize the BLE function and name it.
When the mobile phone send data to ESP32 via BLE Bluetooth, it will print them out with serial port; When the serial port of ESP32 receive data, it will send them to mobile via BLE Bluetooth.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/02.1_BLE/BLE.py
:linenos:
:language: python
:lines: 80-96
:dedent:

View File

@ -12,11 +12,16 @@ Project Station mode
Component List
===========================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -43,9 +48,9 @@ Connect Freenove ESP32 to the computer using the USB cable.
Code
================================
Move the program folder "Freenove_ESP32_WROVER_Board/Python/Python_Codes" to disk(D) in advance with the path of "D:/Micropython_Codes".
Move the program folder **"Freenove_ESP32_WROVER_Board/Python/Python_Codes"** to disk(D) in advance with the path of **"D:/Micropython_Codes"**.
Open "Thonny", click "This computer" -> "D:" -> "Micropython_Codes" -> "03.1_Station_mode" and double click "Station_mode.py".
Open "Thonny", click "This computer" **->** "D:" **->** "Micropython_Codes" **->** "03.1_Station_mode" and double click "Station_mode.py".
03.1_Station_mode
-----------------------------------
@ -63,12 +68,15 @@ After making sure the router name and password are entered correctly, compile an
The following is the program code:
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.1_Station_mode/Station_mode.py
:linenos:
:language: python
:lines: 1-25
:dedent:
Import network module.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.1_Station_mode/Station_mode.py
:linenos:
:language: python
:lines: 2-2
:dedent:
@ -76,6 +84,7 @@ Import network module.
Enter correct router name and password.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.1_Station_mode/Station_mode.py
:linenos:
:language: python
:lines: 4-5
:dedent:
@ -83,6 +92,7 @@ Enter correct router name and password.
Set ESP32 in Station mode.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.1_Station_mode/Station_mode.py
:linenos:
:language: python
:lines: 9-9
:dedent:
@ -90,6 +100,7 @@ Set ESP32 in Station mode.
Activate ESP32's Station mode, initiate a connection request to the router and enter the password to connect.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.1_Station_mode/Station_mode.py
:linenos:
:language: python
:lines: 14-15
:dedent:
@ -97,6 +108,7 @@ Activate ESP32's Station mode, initiate a connection request to the router and e
Print the IP address assigned to ESP32-WROVER in "Shell".
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.1_Station_mode/Station_mode.py
:linenos:
:language: python
:lines: 16-16
:dedent:
@ -205,12 +217,14 @@ Turn on the WiFi scanning function of your phone, and you can see the ssid_AP on
The following is the program code:
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.2_AP_mode/AP_mode.py
:linenos:
:language: python
:dedent:
Import network module.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.2_AP_mode/AP_mode.py
:linenos:
:language: python
:lines: 1-1
:dedent:
@ -218,6 +232,7 @@ Import network module.
Enter correct AP name and password.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.2_AP_mode/AP_mode.py
:linenos:
:language: python
:lines: 3-4
:dedent:
@ -225,6 +240,7 @@ Enter correct AP name and password.
Set ESP32 in AP mode.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.2_AP_mode/AP_mode.py
:linenos:
:language: python
:lines: 11-11
:dedent:
@ -232,6 +248,7 @@ Set ESP32 in AP mode.
Configure IP address, gateway and subnet mask for ESP32.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.2_AP_mode/AP_mode.py
:linenos:
:language: python
:lines: 14-14
:dedent:
@ -239,6 +256,7 @@ Configure IP address, gateway and subnet mask for ESP32.
Turn on an AP in ESP32, whose name is set by ssid_AP and password is set by password_AP.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.2_AP_mode/AP_mode.py
:linenos:
:language: python
:lines: 16-17
:dedent:
@ -246,6 +264,7 @@ Turn on an AP in ESP32, whose name is set by ssid_AP and password is set by pass
If the program is running abnormally, the AP disconnection function will be called.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.2_AP_mode/AP_mode.py
:linenos:
:language: python
:lines: 25-25
:dedent:
@ -299,11 +318,16 @@ Project AP+Station mode
Component List
==========================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -327,9 +351,9 @@ Connect Freenove ESP32 to the computer using the USB cable.
Code
============================
Move the program folder "Freenove_ESP32_WROVER_Board/Python/Python_Codes" to disk(D) in advance with the path of "D:/Micropython_Codes".
Move the program folder **"Freenove_ESP32_WROVER_Board/Python/Python_Codes"** to disk(D) in advance with the path of **"D:/Micropython_Codes"**.
Open "Thonny", click "This computer" -> "D:" -> "Micropython_Codes" -> "03.3_AP+STA_mode"and double click "AP+STA_mode.py".
Open "Thonny", click "This computer" **->** "D:" **->** "Micropython_Codes" **->** "03.3_AP+STA_mode"and double click "AP+STA_mode.py".
AP+STA_mode
--------------------------
@ -352,5 +376,6 @@ Turn on the WiFi scanning function of your phone, and you can see the ssidAP on
The following is the program code:
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.3_AP+STA_mode/AP+STA_mode.py
:linenos:
:language: python
:dedent:

View File

@ -12,11 +12,16 @@ In this section, ESP32 is used as Client to connect Server on the same LAN and c
Component List
===========================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -122,9 +127,9 @@ The newly pop up window will use the computer's IP address by default and open a
.. image:: ../_static/imgs/33_TCP_IP/Chapter33_20.png
:align: center
Move the program folder "Freenove_ESP32_WROVER_Board/Python/Python_Codes" to disk(D) in advance with the path of "D:/Micropython_Codes".
Move the program folder **"Freenove_ESP32_WROVER_Board/Python/Python_Codes"** to disk(D) in advance with the path of **"D:/Micropython_Codes"**.
Open "Thonny", click "This computer" -> "D:" -> "Micropython_Codes" -> "04.1_TCP_as_Client" and double click "TCP_as_Client.py".
Open "Thonny", click "This computer" **->** "D:" **->** "Micropython_Codes" **->** "04.1_TCP_as_Client" and double click "TCP_as_Client.py".
Before clicking "Run current script", please modify the name and password of your router and fill in the "host" and "port" according to the IP information shown in the box below:
@ -152,12 +157,14 @@ ESP32 connects with TCP SERVER, and TCP SERVER receives messages from ESP32, as
The following is the program code:
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/04.1_TCP_as_Client/TCP_as_Client.py
:linenos:
:language: python
:dedent:
Import network、socket、time modules.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.3_AP+STA_mode/AP+STA_mode.py
:linenos:
:language: python
:lines: 1-3
:dedent:
@ -165,6 +172,7 @@ Import network、socket、time modules.
Enter the actual router name, password, remote server IP address, and port number.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.3_AP+STA_mode/AP+STA_mode.py
:linenos:
:language: python
:lines: 5-8
:dedent:
@ -172,6 +180,7 @@ Enter the actual router name, password, remote server IP address, and port numbe
Connect specified Router until it is successful.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.3_AP+STA_mode/AP+STA_mode.py
:linenos:
:language: python
:lines: 13-21
:dedent:
@ -179,6 +188,7 @@ Connect specified Router until it is successful.
Connect router and then connect it to remote server.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.3_AP+STA_mode/AP+STA_mode.py
:linenos:
:language: python
:lines: 23-27
:dedent:
@ -186,6 +196,7 @@ Connect router and then connect it to remote server.
Send messages to the remote server, receive the messages from it and print them out, and then send the messages back to the server.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.3_AP+STA_mode/AP+STA_mode.py
:linenos:
:language: python
:lines: 28-37
:dedent:
@ -193,6 +204,7 @@ Send messages to the remote server, receive the messages from it and print them
If an exception occurs in the program, for example, the remote server is shut down, execute the following program, turn off the socket function, and disconnect the WiFi.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/03.3_AP+STA_mode/AP+STA_mode.py
:linenos:
:language: python
:lines: 39-43
:dedent:
@ -260,11 +272,16 @@ In this section, ESP32 is used as a server to wait for the connection and commun
Component List
===============================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -314,12 +331,14 @@ You can enter any information in the "Send Box" of sketchWiFi. Click "Send" and
The following is the program code:
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/04.2_TCP_as_Server/TCP_as_Server.py
:linenos:
:language: python
:dedent:
Call function connectWifi() to connect to router and obtain the dynamic IP that it assigns to ESP32.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/04.2_TCP_as_Server/TCP_as_Server.py
:linenos:
:language: python
:lines: 22-23
:dedent:
@ -327,6 +346,7 @@ Call function connectWifi() to connect to router and obtain the dynamic IP that
Open the socket server, bind the server to the dynamic IP, and open a data monitoring port.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/04.2_TCP_as_Server/TCP_as_Server.py
:linenos:
:language: python
:lines: 24-27
:dedent:
@ -334,6 +354,7 @@ Open the socket server, bind the server to the dynamic IP, and open a data monit
Print the server's IP address and port, monitor the port and wait for the connection of other network devices.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/04.2_TCP_as_Server/TCP_as_Server.py
:linenos:
:language: python
:lines: 29-34
:dedent:
@ -341,6 +362,7 @@ Print the server's IP address and port, monitor the port and wait for the connec
Each time receiving data, print them in "Shell" and send them back to the client.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/04.2_TCP_as_Server/TCP_as_Server.py
:linenos:
:language: python
:lines: 36-46
:dedent:
@ -348,6 +370,7 @@ Each time receiving data, print them in "Shell" and send them back to the client
If the client is disconnected, close the server and disconnect WiFi.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/04.2_TCP_as_Server/TCP_as_Server.py
:linenos:
:language: python
:lines: 47-52
:dedent:

View File

@ -12,12 +12,17 @@ Connect ESP32 using USB and check its IP address through serial monitor. Use web
Component List
===========================================
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. table::
:width: 80%
:align: center
:class: table-line
+------------------------------------+-------------------------+
| ESP32-WROVER x1 | Micro USB Wire x1 |
| | |
| |Chapter01_00| | |Chapter08_00| |
+------------------------------------+-------------------------+
.. |Chapter01_00| image:: ../_static/imgs/1_LED/Chapter01_00.png
.. |Chapter08_00| image:: ../_static/imgs/8_Serial_Communication/Chapter08_00.png
@ -59,7 +64,7 @@ Select "Erase…" and click "Install"。
Wait for completion.
Open "Thonny", click "This computer" -> "D:" -> "Micropython_Codes" -> "05.1_Camera_WebServer". Select folder "lib", right click your mouse to select "Upload to /", wait for "lib" to be uploaded to ESP32-WROVER and then double click "picoweb_video.py".
Open "Thonny", click "This computer" **->** "D:" **->** "Micropython_Codes" **->** "05.1_Camera_WebServer". Select folder **"lib"**, right click your mouse to select "Upload to /", wait for **"lib"** to be uploaded to ESP32-WROVER and then double click **"picoweb_video.py"**.
Camera_WebServer
---------------------------------
@ -95,12 +100,14 @@ The effect is shown in the image below.
The following is the program code.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:dedent:
Import picoweb、utime、camera、gc modules.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 3-6
:dedent:
@ -108,6 +115,7 @@ Import picoweb、utime、camera、gc modules.
Before running the code, please modify the WiFi name and password in the code to ensure that the ESP32 can connect to the network.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 8-9
:dedent:
@ -115,6 +123,7 @@ Before running the code, please modify the WiFi name and password in the code to
Define the WiFi connection function, set the ESP32 to STA mode, and let the ESP32 connect to the nearby WiFi. If the connection is successful, the WiFi configuration information of the ESP32 will be printed; if the connection fails, the connection timeout will be printed.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 12-26
:dedent:
@ -124,6 +133,7 @@ The deinit() is used to disable the configuration of the camera to prevent the p
The init() is used to configure the camera's pin driver, image data format, resolution and other information. By default, please do not modify this function, otherwise the camera initialization fails and the image cannot be obtained.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 31-37
:dedent:
@ -131,6 +141,7 @@ The init() is used to configure the camera's pin driver, image data format, reso
This function can set the resolution of the camera individually, you can refer to the notes below to select the appropriate resolution size.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 39-45
:dedent:
@ -138,6 +149,7 @@ This function can set the resolution of the camera individually, you can refer t
The following functions can modify the image information obtained by the camera.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 47-58
:dedent:
@ -145,6 +157,7 @@ The following functions can modify the image information obtained by the camera.
This is the code for a simple web interface, used here as an example.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 61-72
:dedent:
@ -152,6 +165,7 @@ This is the code for a simple web interface, used here as an example.
Web page response function. When a user visits the webpage "/" built by ESP32, ESP32 calls this function, allowing the user to observe a display interface in the browser.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 75-77
:dedent:
@ -159,6 +173,7 @@ Web page response function. When a user visits the webpage "/" built by ESP32, E
send_frame() can send the image obtained by ESP32 in web page format. When someone visits the webpage "/video" built by the ESP32, the video(req, resp) function is used to continuously fetch images and send them to the browser.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 79-93
:dedent:
@ -166,13 +181,15 @@ send_frame() can send the image obtained by ESP32 in web page format. When someo
Create two route decorators and declare their listening strings and corresponding response handlers respectively.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 96-100
:dedent:
This is the main part of the program. First initialize the ESP32 camera, and then configure WiFi to connect the ESP32 to the network. Call the picoweb library, build a webserver, and run it.
.. literalinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
.. :linenos:iteralinclude:: ../../../freenove_Kit/Python/Python_Codes/05.1_Camera_WebServer/picoweb_video.py
:linenos:
:language: python
:lines: 105-113
:dedent:
@ -180,22 +197,27 @@ This is the main part of the program. First initialize the ESP32 camera, and the
Reference
----------------------------------------
+-------------------+-----------+------------------+-----------+
| Image resolution | Sharpness | Image resolution | Sharpness |
+===================+===========+==================+===========+
| FRAMESIZE_96x96 | 96x96 | FRAMESIZE_HVGA | 480x320 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QQVGA | 160x120 | FRAMESIZE_VGA | 640x480 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QCIF | 176x144 | FRAMESIZE_SVGA | 800x600 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_HQVGA | 240x176 | FRAMESIZE_XGA | 1024x768 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_240x240 | 240x240 | FRAMESIZE_HD | 1280x720 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QVGA | 320x240 | FRAMESIZE_SXGA | 1280x1024 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_CIF | 400x296 | FRAMESIZE_UXGA | 1600x1200 |
+-------------------+-----------+------------------+-----------+
.. table::
:width: 80%
:align: center
:class: zebra
+-------------------+-----------+------------------+-----------+
| Image resolution | Sharpness | Image resolution | Sharpness |
+===================+===========+==================+===========+
| FRAMESIZE_96x96 | 96x96 | FRAMESIZE_HVGA | 480x320 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QQVGA | 160x120 | FRAMESIZE_VGA | 640x480 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QCIF | 176x144 | FRAMESIZE_SVGA | 800x600 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_HQVGA | 240x176 | FRAMESIZE_XGA | 1024x768 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_240x240 | 240x240 | FRAMESIZE_HD | 1280x720 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_QVGA | 320x240 | FRAMESIZE_SXGA | 1280x1024 |
+-------------------+-----------+------------------+-----------+
| FRAMESIZE_CIF | 400x296 | FRAMESIZE_UXGA | 1600x1200 |
+-------------------+-----------+------------------+-----------+
:red:`We recommend that the resolution not exceed VGA(640x480).`
:combo:`red font-bolder:We recommend that the resolution not exceed VGA(640x480).`

View File

@ -21,6 +21,7 @@ ESP32-WROVER has launched a total of two antenna packages, PCB on-board antenna
:width: 80%
:header-rows: 1
:align: center
:class: table-line
* - PCB on-board antenna
- IPEX antenna
@ -37,6 +38,13 @@ ESP32-WROVER
.. image:: ../_static/imgs/Preface/Preface02.png
:align: center
:width: 60%
**The version on the left is no longer mass-produced, and we mainly maintain the version on the right.**
Please note that there are many pirated versions of the ESP32 WROVER that look very similar to the version on the left. None of them will carry our logo and Freenove font.
We do not sell pirated ESP32 WROVER, nor do we provide after-sales service for pirated.
The hardware interfaces of ESP32-WROVER are distributed as follows:
@ -46,9 +54,10 @@ The hardware interfaces of ESP32-WROVER are distributed as follows:
Compare the left and right images. We've boxed off the resources on the ESP32-WROVER in different colors to facilitate your understanding of the ESP32-WROVER.
.. list-table::
:width: 80%
:widths: 10 10
:header-rows: 1
:align: center
:class: table-line
* - Box color
- Corresponding resources introduction
@ -91,9 +100,10 @@ The hardware interfaces of ESP32-WROVER are distributed as follows:
We've boxed off the resources on the ESP32-WROVER in different colors to facilitate your understanding of the ESP32-WROVER.
.. list-table::
:width: 80%
:widths: 10 10
:header-rows: 1
:align: center
:class: table-line
* - Box color
- Corresponding resources introduction

View File

@ -98,3 +98,15 @@ micro:bit® is a trademark of Micro:bit Educational Foundation (https://www.micr
ESPRESSIF® and ESP32® are trademarks of ESPRESSIF Systems (Shanghai) Co. Ltd
(https://www.espressif.com/).
Remove the Chips
*********************************
Some chips and modules are inserted into the breadboard to protect their pins.
You need to remove them from breadboard before use. (There is no need to remove GPIO Extension Board.)
Please find a tool (like a little screw driver) to handle them like below:
.. image:: ../_static/imgs/Welcome/welcome02.png
:align: center

View File

@ -8,7 +8,9 @@ support@freenove.com
We will check and correct it as soon as possible.
If you are interesting in processing, you can learn the Processing.pdf in: Freenove_Ultimate_Starter_Kit_for_ESP32\\C\\Processing.pdf
If you are interesting in processing, you can learn the Processing.pdf in:
**Freenove_Ultimate_Starter_Kit_for_ESP32\\C\\Processing.pdf**
If you want to learn more about Arduino, Raspberry Pi, smart cars, robots and other interesting products in science and technology, please continue to focus on our website. We will continue to launch cost-effective, innovative and exciting products.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 918 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 KiB

After

Width:  |  Height:  |  Size: 605 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 408 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 KiB

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 KiB

View File

@ -1,26 +0,0 @@
##############################################################################
Freenove
##############################################################################
.. toctree::
:titlesonly:
:caption: Welcome
codes/tutorial/Welcome.rst
.. toctree::
:titlesonly:
:caption: Preparation
.. toctree::
:numbered:
:titlesonly:
:caption: Projects
.. toctree::
:titlesonly:
:caption: what_s_next
codes/tutorial/WhatsNext.rst