5db6db0128
This uses the esp32-camera code instead of our own homebrewed camera code. In theory it supports esp32, esp32-s2 and esp32-s3, as long as they have PSRAM. This is very basic and doesn't support changing any camera parameters, including switching resolution or pixelformat. This is tested on the Kaluga (ESP32-S2) and ESP32-S3-Eye boards. First, reserve some PSRAM by putting this line in `CIRCUITPY/_env`: ``` CIRCUITPY_RESERVED_PSRAM=524288 ``` and hard-reset the board for it to take effect. Now, the following script will take a very low-resolution jpeg file and print it in the REPL in escape coded form: ```python import board import esp32_camera c = esp32_camera.Camera( data_pins=board.CAMERA_DATA, external_clock_pin=board.CAMERA_XCLK, pixel_clock_pin=board.CAMERA_PCLK, vsync_pin=board.CAMERA_VSYNC, href_pin=board.CAMERA_HREF, pixel_format=esp32_camera.PixelFormat.JPEG, i2c=board.I2C(), external_clock_frequency=20_000_000) m = c.take() if m is not None: print(bytes(m)) ``` Then on desktop open a python repl and run something like ```python >>> with open("my.jpg", "wb") as f: f.write(<BIG PASTE FROM REPL>) ``` and open my.jpg in a viewer. |
||
---|---|---|
.github | ||
LICENSES | ||
data | ||
devices/ble_hci | ||
docs | ||
examples | ||
extmod | ||
frozen | ||
lib | ||
locale | ||
logo | ||
mpy-cross | ||
ports | ||
py | ||
shared | ||
shared-bindings | ||
shared-module | ||
supervisor | ||
tests | ||
tools | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.mailmap | ||
.pre-commit-config.yaml | ||
.readthedocs.yml | ||
.rosie.yml | ||
ACKNOWLEDGEMENTS | ||
ACKNOWLEDGEMENTS.license | ||
BUILDING.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
MANIFEST.in-stubs | ||
Makefile | ||
README.rst | ||
README.rst-stubs | ||
WEBUSB_README.md | ||
conf.py | ||
license.rst | ||
main.c | ||
requirements-ci.txt | ||
requirements-dev.txt | ||
requirements-doc.txt | ||
runtime.py | ||
setup.py-stubs |
README.rst-stubs
CircuitPython ============= .. image:: https://s3.amazonaws.com/adafruit-circuit-python/CircuitPython_Repo_header_logo.png |Build Status| |Doc Status| |License| |Discord| |Weblate| `circuitpython.org <https://circuitpython.org>`__ \| `Get CircuitPython <#get-circuitpython>`__ \| `Documentation <#documentation>`__ \| `Contributing <#contributing>`__ \| `Branding <#branding>`__ \| `Differences from Micropython <#differences-from-micropython>`__ \| `Project Structure <#project-structure>`__ **CircuitPython** is a *beginner friendly*, open source version of Python for tiny, inexpensive computers called microcontrollers. This package contains the "stubs", or type definitions for CircuitPython. With some advanced editors and other tools, this information can be identify TypeErrors, AttributeErrors, and other problems before you deploy your code to a device and can even help autocomplete your code. .. |Build Status| image:: https://github.com/adafruit/circuitpython/workflows/Build%20CI/badge.svg :target: https://github.com/adafruit/circuitpython/actions?query=branch%3Amain .. |Doc Status| image:: https://readthedocs.org/projects/circuitpython/badge/?version=latest :target: http://circuitpython.readthedocs.io/ .. |Discord| image:: https://img.shields.io/discord/327254708534116352.svg :target: https://adafru.it/discord .. |License| image:: https://img.shields.io/badge/License-MIT-brightgreen.svg :target: https://choosealicense.com/licenses/mit/ .. |Weblate| image:: https://hosted.weblate.org/widgets/circuitpython/-/svg-badge.svg :target: https://hosted.weblate.org/engage/circuitpython/?utm_source=widget