#ESP32 board with an OLED display and optional stackable #Ethernet add-on board based on Wiznet W5500 SPI to Ethernet chip. #arduino #IoT #bluetooth #WIFI https://t.co/syXx0xHFii
— CNX Software (@cnxsoft) July 29, 2020
- GPIO 0 connected to GND » ESP32-CAM in flashing mode
- micropython-camera-driver (Работает но много ошибок – фото зеленое)
- https://randomnerdtutorials.com/esp32-cam-post-image-photo-server/ – Тут все четко.
- flashlight GPIO 4
- GPIO 33 – Built-in Red LED
- ESP32 & ESP32-CAM and Arduino install
- I2C SSD1306 OLED Display
- ESP32_CAM_V1.6 Схема
- ESP-IDF Programming Guide
- FRAMESIZE_QVGA for 320×240
- FRAMESIZE_CIF for 400c296
- FRAMESIZE_VGA for 640×480
- FRAMESIZE_SVGA for 800×600
- FRAMESIZE_XGA for 1024×768
- FRAMESIZE_SXGA for 1280×1024
- FRAMESIZE_UXGA for 1600×1200
Вспышка работает только до первого обращения к камере. После чего включить вспышку так и не получилось. pinMode(4, OUTPUT); digitalWrite(4, LOW); rtc_gpio_hold_en(GPIO_NUM_4);Удерживать кнопку возле перемычки для перехода в режим программирования, при включении питания.(5 секунд) Обеспечить хорошее питание !!! #esp32cam #ESP323CAM
Подключение W25Q32 по шине SPI
Из документации смотрим:
Конкретные имена портов интерфейса SPI могут различаться в зависимости от производителя аппаратных средств, при этом возможны следующие варианты:
- MOSI: SIMO, SDO (на устройстве), DO, DON, SO, MRSR;
- MISO: SOMI, SDI (на устройстве), DI, DIN, SI, MTST;
- SCLK: SCK, CLK, SPC (SPI serial port clock);
- SS: nCS, CS, CSB, CSN, nSS, STE, SYNC.
Но в итоге получается что нужно подключать вот так:
Вот собрал рабочую плату для изучения MicroPython-a на STM32F405
-
- STM32F405 with MicroPython PYB V1.1
- GPS SIm33ELA
- MAX30102
- BMP180
- W5500 Ethernet (Пока с этим модулем проблемы)
- Display TFT ILI9341
- Li-Ion Зарядка будем работать от аккумуляторы
- FLASH W25Q32
- 5 Users Button (74HC14 для избежания дребезга)
- RTC battery
- Accelerometer-MMA76603 (Встроенный)
- Распиновка подключения MicroPythonWeatherStation
- W25Q32 FLASH DI->MOSI DO-MISO
- X17 – BOOT1 – лучше не использовать
Использование OLED Дисплея.
https://github.com/elfnor/micropython-blog-examples/tree/master/oled
import ssd1306,machine
import lcd_gfx
i2c = machine.I2C(scl=machine.Pin(4), sda=machine.Pin(5))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
oled.text(‘MicroPython on’, 0, 0)
oled.show()
lcd_gfx.drawCircle(35, 50, 10, oled, 1)
lcd_gfx.drawFillCircle(91, 50, 10, oled, 1)
lcd_gfx.drawLine(40, 20, 63, 5, oled, 1)
lcd_gfx.drawLine(63, 5, 85, 5, oled, 1)
lcd_gfx.drawFillTrie(63, 50, 63, 20, 50, 20, oled, 1)
lcd_gfx.drawTrie(63, 50, 63, 20, 78, 20, oled, 1)
lcd_gfx.drawRect(0, 0, 5, 5, oled, 1)
lcd_gfx.drawFillRect(122, 58, 5, 5, oled, 1)
oled.show()
Погоду можно брать тут https://openweathermap.org