embeded/raspberry pi2021. 6. 24. 19:38

usn storage는 bootloader나 펌웨어 올리는 용도라고

micropython 에서 파일 시스템 처럼 제공하는건 그럼 그렇게 보여질 뿐인건가?

 

[링크 : https://forum.micropython.org/viewtopic.php?t=9745]

'embeded > raspberry pi' 카테고리의 다른 글

rpi 3b+ with bt / uart  (0) 2021.06.28
rpi pico USB OTG를 이용한 오실로스코프  (0) 2021.06.27
rpi pico main.py 올리기 윈도우10, 우분투  (0) 2021.06.24
uf2 - USB Flash Format  (0) 2021.06.23
rpi pico micropython  (0) 2021.06.23
Posted by 구차니
embeded/esp322021. 6. 24. 16:17

환경설정에서 espressif의 패키지를 추가한다.

[링크 : https://dl.espressif.com/dl/package_esp32_index.json]

 

 

보드 매니저에서 esp32를 추가한다.

 

소스 예제에서 esp32 / cam / camerawebserver를 끌어와서

camera_model_ai_thinker로 변경하고 ssid와 password를 변경한다.

 

음.. 구으면서 CPU 모델이 나오네?

스케치는 프로그램 저장 공간 2594790 바이트(82%)를 사용. 최대 3145728 바이트.
전역 변수는 동적 메모리 56256바이트(17%)를 사용, 271424바이트의 지역변수가 남음.  최대는 327680 바이트. 
esptool.py v3.0-dev
Serial port /dev/ttyUSB0
Connecting.....
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 84:cc:a8:2f:0d:d0
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 12970.2 kbit/s)...
Hash of data verified.
Compressed 18656 bytes to 12053...
Writing at 0x00001000... (100 %)
Wrote 18656 bytes (12053 compressed) at 0x00001000 in 0.3 seconds (effective 532.1 kbit/s)...
Hash of data verified.
Compressed 2594912 bytes to 2073530...
Writing at 0x00010000... (0 %)
...
Writing at 0x00208000... (100 %)
Wrote 2594912 bytes (2073530 compressed) at 0x00010000 in 48.9 seconds (effective 424.9 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 119...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (119 compressed) at 0x00008000 in 0.0 seconds (effective 5636.1 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...




3.3V로 했더니 전력 부족으로 켜지지 못해서 brown out detector 가 트리거 되었다고 에러가 뜬다. -_ㅠ

Brownout detector was triggered

ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4

 

5V로 하니 정상적으로 켜지는 느낌? 일단 점만 찍어대고 먼가 진행을 못하네..

다시 코드를 보니 아무생각 없이 5G 공유기 SSID를 적어놨... 2.4GHz만 되는 WIFI에 무슨 학대를!!!

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371 
ets Jun  8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:10944                                                       
load:0x40080400,len:6388                                                        
entry 0x400806b4                                                                
                                                               

[링크 : https://dronebotworkshop.com/esp32-cam-intro/]

 

공유기에서 ip 찾아서 (시리얼 로그에서 아이피 출력되면 좋으련만) 접속하니 된다!

그런데 카메라 문제인가 -_ㅠ 한쪽에 노란줄이 생기네!! 불량아냐 불량?!!?

그리고 동시에 여러 곳에서 접속은 불가능하다(한곳에서 start stream 하면 다른 곳에서는 엑박으로 나온다)

 

그나저나 가동한지 얼마 안되었는데 5V 전압을 넣어서 그런건진 모르겠지만

손으로 잡고 있기 조금 부담스러울 정도로 열이 난다.

비접촉식으로 재보니 50도 넘게 올라가는 듯(5분 정도 켜놓으니)

 

+

AMS1117 라고 써있어서 보니 5V -> 3.3V LDO 인데

왜이렇게 열이 미친듯이 나지?

[링크 : https://www.devicemart.co.kr/goods/view?no=1321251]

 

아니면 PSRAM?

ipus ips6404lsq

[링크 : http://platform.digiic.com/Docs/Product/IPS6404L-SQ-SPN/IPUS%2064Mbit%20SQPI%20PSRAM%20.pdf]

'embeded > esp32' 카테고리의 다른 글

esp32cam webservercam rtsp?  (0) 2021.06.28
LDO 발열?  (0) 2021.06.25
esp32 cpu 사양 및 성능  (0) 2021.06.23
ov2640 on esp32-cam  (0) 2021.06.23
esp32 fw upload  (0) 2021.06.23
Posted by 구차니
embeded/raspberry pi2021. 6. 24. 12:35

우분투에서 rpi pico를 연결하면 아래와 같이 뜨고

[   44.398531] usb 2-1.2: new full-speed USB device number 4 using ehci-pci
[   44.508833] usb 2-1.2: New USB device found, idVendor=2e8a, idProduct=0005, bcdDevice= 1.00
[   44.508840] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   44.508845] usb 2-1.2: Product: Board in FS mode
[   44.508848] usb 2-1.2: Manufacturer: MicroPython
[   44.508852] usb 2-1.2: SerialNumber: e6609cb2d3440b2a
[   44.535497] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device
[   44.536117] usbcore: registered new interface driver cdc_acm
[   44.536119] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

 

동영상에서 본대로 해보니 되는데 일단은 ttyACM0을 sudo 없이 여는 법을 찾아봐야...(휠 설정을 찾아야 하나)

아무튼 rshell을 통해서 접속하면 /pyboard 라는 경로가 생기는데 이쪽으로 복사해야 된다.

USB 저장장소로 인식되는 건.. 펌웨어만 올리는 용도인가?

$ sudo pip3 install rshell
Collecting rshell
  Downloading rshell-0.0.30.tar.gz (51 kB)
     |████████████████████████████████| 51 kB 514 kB/s 
Collecting pyserial
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
     |████████████████████████████████| 90 kB 2.8 MB/s 
Collecting pyudev>=0.16
  Downloading pyudev-0.22.0.tar.gz (85 kB)
     |████████████████████████████████| 85 kB 2.3 MB/s 
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from pyudev>=0.16->rshell) (1.14.0)
Building wheels for collected packages: rshell, pyudev
  Building wheel for rshell (setup.py) ... done
  Created wheel for rshell: filename=rshell-0.0.30-py3-none-any.whl size=52770 sha256=69461b75172bb35e222ba9bfd46158ac9463367a21b39f76cc59b930ecf91e60
  Stored in directory: /root/.cache/pip/wheels/e4/ac/b5/2937f0e9ff638dc7ee71168edfa9245ca968438f4a3f7dff9d
  Building wheel for pyudev (setup.py) ... done
  Created wheel for pyudev: filename=pyudev-0.22.0-py3-none-any.whl size=63469 sha256=fad8e733a62171573d784a43062b27df75b2d4117cd364e446804b9210c93b2b
  Stored in directory: /root/.cache/pip/wheels/8b/d1/11/6a9855487e4bba54c63dfb07a09505787d50a5e27f90b0af33
Successfully built rshell pyudev
Installing collected packages: pyserial, pyudev, rshell
Successfully installed pyserial-3.5 pyudev-0.22.0 rshell-0.0.30

$ sudo rshell
Connecting to /dev/ttyACM0 (buffer-size 128)...
Trying to connect to REPL  connected
Retrieving sysname ... rp2
Testing if sys.stdin.buffer exists ... Y
Retrieving root directories ... 
Setting time ... Jun 24, 2021 12:31:53
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 1970
Welcome to rshell. Use Control-D (or the exit command) to exit rshell.
/home/minimonk> ls -al main.py
   166 Jun 24 12:31 main.py
/home/minimonk> ls -al /pyboard/
/home/minimonk> mount
Unrecognized command: mount
/home/minimonk> cp main.py /pyboard/main.py
Copying '/home/minimonk/main.py' to '/pyboard/main.py' ...
/home/minimonk> exit

$

 

+

thonny 를 윈도우에 깔고 시작!

음.. initial settings에 standard와 raspberry pi가 있는데 일단은.. pico가 라즈베리일려나?

 

Switch to regular mode 버튼을 눌러보면

 

tools - options - general 에 가서 바꿀수 있다는데 라즈베리 파이 모드에서는 안뜨는 메뉴인듯

재시작해보면 달라지긴 한데.. 

 

UI만 달라졌을뿐 큰 차이는 없는 듯?

 

암튼 우측 하단에 Python 이라고 된 걸 클릭해서

MicroPython (Raspberry Pi Pico) 로 바꾸면 설정 끝

 

빈걸 저장 눌러보니 어디다 저장할지 물어보는데 "Raspberry Pi Pico"를 누르면

 

라즈베리 내의 저장된 파일 목록이 뜬다. (오오 신기 -_-)

 

main.py로 하면 리부팅시 작동하는 걸 확인할 수 있다.

일단은 이런 프로그램을 거치지 않으면.. 올릴수도 없는건가?

[링크 : https://thonny.org/]

[링크 : https://www.digikey.be/en/maker/projects/raspberry-pi-pico-and-rp2040-micropython-part-1-blink/...]

[링크 : https://www.electronicshub.org/raspberry-pi-pico-micropython-tutorial/]

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico USB OTG를 이용한 오실로스코프  (0) 2021.06.27
rpi pico usb 저장소  (0) 2021.06.24
uf2 - USB Flash Format  (0) 2021.06.23
rpi pico micropython  (0) 2021.06.23
rpi pico - RP2040  (0) 2021.06.23
Posted by 구차니
embeded/raspberry pi2021. 6. 23. 16:29

라즈베리 파이 pico 에서 uf2라는 포맷을 쓰길래 먼가해서 보는데

ELF는 확실히 아닌듯

$ file rp2-pico-latest.uf2 
rp2-pico-latest.uf2: data

$ readelf -a rp2-pico-latest.uf2 
readelf: Error: Not an ELF file - it has the wrong magic bytes at the start

[링크 : https://learn.adafruit.com/...circuit-python-circuitpython/uf2-bootloader-details]

 

picotool 이라는걸 이용해서 해당 바이너리의 정보를 얻을 수 있는 듯

[링크 : https://github.com/raspberrypi5/picotool]

[링크 : https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-python-sdk.pdf]

 

The ELF file is converted to a UF2 with an internal SDK tool called elf2uf2, which is bootstrapped automatically as
part of the build process.

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico usb 저장소  (0) 2021.06.24
rpi pico main.py 올리기 윈도우10, 우분투  (0) 2021.06.24
rpi pico micropython  (0) 2021.06.23
rpi pico - RP2040  (0) 2021.06.23
지름 도착 - rpi pico / esp32-cam  (0) 2021.06.23
Posted by 구차니
embeded/esp322021. 6. 23. 15:55

M4랑 비근하지만 M7 보단 낮은 수준?

As I've understood, Extensa LX6 (esp32 CPU) is aprox. on par with Cortex M4, but below M7 

[링크 : https://www.esp32.com/viewtopic.php?t=5093]

 

아키텍쳐 종류는 파악 불가 ㅠㅠ

[링크 : https://en.wikipedia.org/wiki/Tensilica]

 

There are 2 CPU cores that can be individually controlled or powered, and the clock frequency is adjustable from 80 MHz to 240 MHz

ESP32 contains two low-power Xtensa® 32-bit LX6 microprocessors. The internal memory includes:

• 448 KBytes ROM for booting and core functions.
• 520 KBytes on-chip SRAM for data and instruction.
• 8 KBytes SRAM in RTC, which is called RTC SLOW Memory and can be accessed by the co-processor during the Deep-sleep mode.
• 8 KBytes SRAM in RTC, which is called RTC FAST Memory and can be used for data storage and accessed by the main CPU during RTC Boot from the Deep-sleep mode.
• 1 Kbit of EFUSE, of which 256 bits are used for the system (MAC address and chip configuration) and the remaining 768 bits are reserved for customer applications, including Flash-Encryption and Chip-ID.

[링크 : https://www.es.co.th/Schemetic/PDF/ESP32.PDF]

 

6*6 36핀 인가?

[링크 : https://www.reddit.com/r/esp32/comments/b6wyjt/aithinker_esp32cam_schematic/]

 

공식 홈페이지 링크

[링크 : https://docs.ai-thinker.com/en/esp32-cam]

[링크 : https://docs.ai-thinker.com/_media/esp32/docs/esp32-cam_product_specification_zh.pdf]

[링크 : https://docs.ai-thinker.com/_media/esp32/docs/esp32_cam_sch.pdf]

 

SPI 32Mbit (4MB)

RAM 520KB + 8MB PSRAM

FreeRTOS + LWIP

[링크 : https://docs.ai-thinker.com/_media/esp32/docs/esp32-cam_product_specification_zh.pdf]

[링크 : http://www.ai-thinker.com/pro_view-24.html]

 

정리하고 보니 얘는 ESP32S가 아닌 ESP32 인듯. 패키지가 QFN77 정도는 되어야 하는데 작음.

ESP32-D0WD-V3 / 240 MHz / 600 MIPS / Dual core

ESP32-D0WDQ6-V3 / 240 MHz / 600 MIPS / Dual core

ESP32-D0WD / 240 MHz / 600 MIPS / Dual core

ESP32-D0WDQ6 / 240 MHz / 600 MIPS / Dual core

ESP32-D2WD / 160 MHz / 400 MIPS / Dual core

ESP32-S0WD / 160 MHz / 200MIPS / Single core

ESP32-U4WDH / 160 MHz / 200MIPS / Single core

[링크 : https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf]

'embeded > esp32' 카테고리의 다른 글

LDO 발열?  (0) 2021.06.25
esp32-cam camerawebserver  (0) 2021.06.24
ov2640 on esp32-cam  (0) 2021.06.23
esp32 fw upload  (0) 2021.06.23
esp32-cam  (0) 2021.06.20
Posted by 구차니
embeded/raspberry pi2021. 6. 23. 15:16

소스에서 부터 빌드하긴 귀찮으니 빌드된 바이너리를 다운로드!

[링크 : https://micropython.org/download/rp2-pico/rp2-pico-latest.uf2]

 

파일을 넣자마다 스토리지가 사라지면서 자동으로 시리얼 포트가 생성된다.

VID 2E8A / PID 5 가 라즈베리 파이 시리얼 포트 장치 식별자인듯?

 

엔터치니 버전 정보없이 그냥 python 콘솔만 뜬다.

[링크 : https://www.raspberrypi.org/documentation/rp2040/getting-started/#getting-started-with-micropython]

 

USB 메모리로 인식시키려면 BOOTSEL 버튼을 누른채 USB를 연결하면 된다.

스토리지로 연결했는데 RP2 Boot 라는 장치가 뜨네?

 

main.py

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?t=301927]

 

데이터 시트 찾아보니 main.py를 쓰면 된다고 언급되어 있다. (최상위 디렉토리에 넣으면 안되는건가? 왜 안되지? ㅠㅠ)

If you "save a file to the device" and give it the special name main.py, then MicroPython starts running that script as
soon as power is supplied to Raspberry Pi Pico in the future.

 

+

boot.py와 main.py를 읽게 되어있다는데...

[링크 : https://www.mfitzp.com/tutorials/using-micropython-raspberry-pico/]

 

엥? 이 말도 안되는 용량 믿어도 되나!?

 

rshell 이라는 걸 통해서 복사를 해주어야 만 하는건가?

[링크 : https://youtu.be/IMZUZuytt7o?t=195]

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico main.py 올리기 윈도우10, 우분투  (0) 2021.06.24
uf2 - USB Flash Format  (0) 2021.06.23
rpi pico - RP2040  (0) 2021.06.23
지름 도착 - rpi pico / esp32-cam  (0) 2021.06.23
cvt 와 gtf 그리고 xrandr  (0) 2021.06.21
Posted by 구차니
embeded/esp322021. 6. 23. 14:22

1600x1200@15fps / SVGA 800x600@30fps / CIF 352x288@60fps

 

MIPI를 기대한건 너무 큰 욕심이었을까 -ㅁ-

SCCB Interface
The Serial Camera Control Bus (SCCB) interface controls the CAMERACHIP operation. Refer to OmniVision Technologies Serial Camera Control Bus (SCCB)

[링크 : https://datasheetspdf.com/datasheet/OV2640.html]

'embeded > esp32' 카테고리의 다른 글

LDO 발열?  (0) 2021.06.25
esp32-cam camerawebserver  (0) 2021.06.24
esp32 cpu 사양 및 성능  (0) 2021.06.23
esp32 fw upload  (0) 2021.06.23
esp32-cam  (0) 2021.06.20
Posted by 구차니
embeded/raspberry pi2021. 6. 23. 14:05

Cortex-M0 * 2 @ 133Mhz

264KB SRAM

2MB QSPI (onboard)

USB 1.1 with device and host (USB HID device 만들수 있는게 이거 때문인가?)

SPI * 2

I2C * 2

UART * 3

12bit ADC * 1

PWM 16ch

[링크 : https://www.raspberrypi.org/documentation/rp2040/getting-started/#board-specifications]

 

*.uf2 파일이 생성되고 그 파일을 USB에 넣으면 실행 되는 듯.

[링크 : https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf] C 버전

 

python 실행환경을 빌드해서 해당 실행 파일을 USB에 넣어 실행하면 시리얼 포트로 파이썬 콘솔이 뜨는 구조?

[링크 : https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-python-sdk.pdf] python 버전

 

+

cortex-m3 부터가 armv7-m 계열이고 cortex-m0/1 은 ARMv6-M 계열

CoreMark/MHz 에서 M0는 2.33 M3는 3.34 인걸 보면 동 클럭시 60% 정도 성능일 듯.

나쁘게 말하면 130MHz 가 cortex-m3 50Mhz 보다 약간 나은 수준으로 예상된다.

[링크 : http://wooguystudy.blogspot.com/2019/02/arm-cortex-m0m0m3m4m7.html]

 

+

W25Q16JVUXIQ winbond 3V Dual / Quad SPI 16Mbit

자료가 없어서 회로도 뒤져봄

 

RT6150B-33GQW richtek ic buck-boost 0.8A / 1.8~5.5V to 3.3V

[링크 : https://pdf1.alldatasheet.net/datasheet-pdf/view/1283912/WINBOND/W25Q16JVUXIQ.html]

 

RP2040 microcontrollers use 3.3V for GPIO.

https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-faq.pdf

 

'embeded > raspberry pi' 카테고리의 다른 글

uf2 - USB Flash Format  (0) 2021.06.23
rpi pico micropython  (0) 2021.06.23
지름 도착 - rpi pico / esp32-cam  (0) 2021.06.23
cvt 와 gtf 그리고 xrandr  (0) 2021.06.21
rpi wifi SDR (3B+ 이후 가능)  (0) 2021.06.21
Posted by 구차니
embeded/esp322021. 6. 23. 13:02

장치는 샀는데 어떻게 펌웨어를 올려야 하나..

아무튼 대충 보니 외부 시리얼 통신을 통해서 올려주는 형상이고

라즈베리 파이 pico 처럼 내부 펌웨어는 따로 있고, 사용자 펌웨어만 올리는 구조인 듯 하다.

 

[링크 : https://dronebotworkshop.com/esp32-intro/]

[링크 : https://dronebotworkshop.com/esp32-cam-intro/]

 

[링크 : https://randomnerdtutorials.com/program-upload-code-esp32-cam/]

[링크 : https://docs.espressif.com/.../development-environment/firmware-update.html]

'embeded > esp32' 카테고리의 다른 글

LDO 발열?  (0) 2021.06.25
esp32-cam camerawebserver  (0) 2021.06.24
esp32 cpu 사양 및 성능  (0) 2021.06.23
ov2640 on esp32-cam  (0) 2021.06.23
esp32-cam  (0) 2021.06.20
Posted by 구차니
embeded/raspberry pi2021. 6. 23. 12:38

esp32-cam이 1.2만 정도 하던게 할인해서 8천원이라 질렀고

라즈베리 파이 pico는 배송비 생각나서 싸니까 지르고 ㅋㅋ

아무튼 준비 2~3일 걸린다고 해서 금요일이나 받겠거니 했는데 수요일에 도착 똭!

 

rpi pico

micro USB 가 있어서 PC에 꽂으니 인식!

 

INDEX.HTM 은 열어보니 아래 링크로 이동하고

[링크 : https://www.raspberrypi.org/documentation/rp2040/getting-started/]

<html><head><meta http-equiv="refresh" content="0;URL='https://raspberrypi.com/device/RP2?version=E0C912952D54'"/></head><body>Redirecting to <a href='https://raspberrypi.com/device/RP2?version=E0C912952D54'>raspberrypi.com</a></body></html>

 

INFO_UF2.TXT 파일은 열어보니 아래와 같은 내용이 나오는데..

UF2 Bootloader v2.0
Model: Raspberry Pi RP2
Board-ID: RPI-RP2

 

아직 가지고 놀 방법을 몰라서 고심중..

 

ESP32

그냥 보기만 해도 흐믓한데. 도대체 어떻게 펌웨어를 올리지? 시리얼 포트가 있는 것도 아니고

SD 메모리에 바이너리 넣으면 알아서 되는건가? 이것저것 찾는중

 

동영상을 보니 CH340으로 시리얼 연결하고, 아두이노 IDE에서 업로드 하면 되는걸 봐서는 시리얼 포트가 필요하겠군...

[링크 : https://www.youtube.com/watch?v=XfnwhQnh9_4]

  [링크 : https://www.devicemart.co.kr/goods/view?no=12496229]

[링크 : https://github.com/bkeevil/esp32-cam]

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico micropython  (0) 2021.06.23
rpi pico - RP2040  (0) 2021.06.23
cvt 와 gtf 그리고 xrandr  (0) 2021.06.21
rpi wifi SDR (3B+ 이후 가능)  (0) 2021.06.21
rpi pico / usb hid?  (0) 2021.06.21
Posted by 구차니