본문 바로가기

[INTERFACE]

(233)
W5300 을 이용한 네트워크 카메라 구현 3/3 - 카메라 이미지 출력 및 영상처리 개요 [SRM32F4-RP] 보드에서 W5300을 제어 하고 고속 TCP전송 테스트 가 완료 되었으므로 네트워크를 통해 카메라 영상을 전송하는 테스트를 진행 해 보자. STM32의 카메라 인터페이스 DCMI를 이용하여 카메라 영상을 얻어 네트워크로 이미지 영상을 보내고 PC 호스트 프로그램에서 영상을 받아서 간단히 영상 처리 할수 있는 프로그램을 작성 할것이다. W5300을 이용하여 TCP 전송률 테스트 결과 60Mbps 이상 전송 가능하므로 640x480x2 Byte RAW(RGB565) 이미지 데이터를 초당 10장을 전송할 수 있다. RAW Data를 사용하는 이유는 영상 처리에 있어 최대한 손실을 없도록 하기 위해서 이다. 640x480 해상도의 RAW 이미지를 초당 10프레임 보내어 출력하고 간단..
W5300 을 이용한 UDP loopback 전송률 테스트 W5300을 이용한 Wiznet ioLibrary Driver 포팅 및 TCP Loopback 전송률 테스트 결과 코드를 활용하여 UDP통신에서 전송률 테스트를 해 보았다. Wiznet ioLibrary Driver 코드에서 제공하는 loopback_udps 함수를 이용하여 UDP 테스트 코드를 작성 했다. int32_t loopback_udps(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size, sentsize; uint8_t destip[4]; uint16_t destport; switch(getSn_SR(sn)) { case SOCK_UDP : if((size = getSn_RX_RSR(sn)) > 0) { if(size >..
W5300 을 이용한 네트워크 카메라 구현 2/3 - TCP 전송률 테스트 Wiznet ioLibrary Driver 포팅 및 TCP Loopback 전송률 테스트 Wiznet ioLibrary Driver 포팅 W5300을 제어 하기 위해 가장 기본적으로 해야 할 일이 W5300의 레지스터에 원하는 값을 쓰고 읽어 보는 것이다. 레지스터의 값을 쓰고 읽는 함수는 Wiznet ioLibrary Driver에 포함되어 있고 보드에 맞도록 포팅해 주어야 한다. W5300 loopback 테스트 소스코드는 https://github.com/elabsystem/STM32_RP/tree/master/ex10_w5300_loopback 에서 확인 가능하다. W5300 테스트를 위한 [STM32F4-RP] 보드의 기본 개발환경 설정이 완료 되었다면 다운로드 받은 ioLibrary의 Ethe..
W5300 을 이용한 네트워크 카메라 구현 1/3 - 기본 개발환경 구성하기 W5300 테스트를 위한 테스트 보드 제작 및 기본 개발환경 설정 개요 Hardwired TCP/IP가 내장된 이더넷 컨트롤러 칩 W5300(https://www.wiznet.io/ko/product-item/w5300/)은 최대 80Mbps의 네트워크 성능이 있다고 한다. 고속의 네트워크 통신을 적용할 수 있는 분야로 카메라를 제작 해 보면 좋을것 같다. W5300을 이용한 네트워크 카메라를 제작 해 보려고 한다. 첫번째 단계로 W5300을 제어하기 위해 Wiznet ioLibrary Driver (https://github.com/Wiznet/ioLibrary_Driver)를 STM32에 포팅하고 TCP Loopback 테스트로 네트워크 성능을 측정해 볼것이다. 그다음 단계로 STM32 카메라 인터페..
ESP32 Arduino 성능측정 ESP32를 이용하여 Arduino에서 CPU 성능을 테스트 해 보았다. 역시 많이 느리군... 우선 Arduino 에서 제공하는 GPIO 제어 함수를 이용해 보면 112ns(3.2Mhz) 로 출력 된다. #define PIN_OUT 5 void setup() { pinMode(PIN_OUT, OUTPUT); } // the loop function runs over and over again forever void loop() { //delay(1); digitalWrite(PIN_OUT, 1); digitalWrite(PIN_OUT, 0); } ESP32의 GPIO 제어 레지스터에 직접 출력하면 62ns 정도로 출력된다. ESP8266이용한 Arduino 성능 측정 실험의 75ns 와 비교 하면 조금..
ESP32 Xbee EVM - ESP32 Arduino 개발 환경 설정 환경설정에서 ESP32를 위한 JSON 파일을 등록 한다. 보드 매니저에서 ESP32 패키지를 설치 한다. ESP32 모듈을 설정하고 컴파일 해 보면 잘 동작 하는것을 확인 할 수 있다.
ESP32 Xbee EVM 보드 제작 ESP32 모듈을 무선 기능을 가진 XBee 형태의 핀맵으로 제작 했다. ESP8266 XBee 모듈보다 모든면에서 우수하기 때문에 다양한 응용분야게 적용할 수 있을것 같다. 표준화 핀맵을 사용하여 ESP2866에서 사용했던 ESP8266, ESP32용 다양한 확장 테스트 보드를 사용할 수 있다. ESP32 모듈 회로도
CP2105 2Channel USB2UART 모듈 보드 제작 2채널의 USB2UART 기능이 있는 CP2105를 이용하여 USBTypeC 커넥터의 USB2UART 모듈 보드를 제작 했다. SSM 표준 핀맵으로 제작해 기존의 다양한 테스트 보드에 확장 연결하여 테스트 가능하도록 했다. USB를 연결하면 장치 관리자에서 2개의 가상 COM포트가 할당되는것을 확인 할수 있다.