본문 바로가기

[INTERFACE]

(223)
실시간 AI 처리를 위한 W5300 네트워크 카메라 만들기 일반적인 네트워크 카메라는 네트워크 대역폭 때문에 압축된 영상을 전송한다. 압축된 영상은 품질이 저하되기 때문에 영상 처리에 문제가 될수 있다. W5300 을 이용하여 압축되지 않은 원본 영상을 네트워크로 전송하고 영상 처리를 할 수 있는 카메라를 제작 하였다. W5300은 80Mbps 이상의 고속 네트웍 전송이 가능하기 때문에 카메라의 실시간 원본 이미지를 전송하는데 가장 좋은 예가 될 수 있다. 전송된 영상은 일반적인 영상 처리 뿐 아니라 AI 를 적용하여 좀더 스마트한 어플리케이션에 적용 할 수 있도록 하였다. AI를 적용한 네트워크 카메라는 실시간 감지와 분석을 통해 환경을 모니터링하고, 범죄 예방, 사고 감지, 자원 최적화 등 다양한 분야에서 중요한 역할 한다. 이를 통해 더 스마트하고 안전한 ..
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 카메라 인터페..
PCF8574 8BIT I/O Expander SSM Module 보드 제작 I2C 테스트 용도 및 IO확장을 위해 PCF8574 I/O Expander를 SSM Module 형태로 제작 했다. 각 포트에 LED를 연결해서 출력되는 값을 확인 할 수 있으며 2.54피치 핀헤더로 연결해서 확장 할 수도 있도록 제작 했다. PCF8574는 I2C 인터페이스로 8비트 입 출력 포트를 확장할 수 있다. PCF8574 I2C Address는 0x40~0x47 까지 하드웨어 적으로 설정 할 수 있다. 제어는 아주 단순한데 I2C Address를 쓰고 I/O Data를 써주면 출력이된다. 핀정보를 읽을 때는 I2C Address 쓰고 한바이트 읽으면 된다. Arduino코드로 예를 들어 보면 아래와 같이 사용 할수 있다. #define PCF_8574_ADDR 0x20 void write8(..
CP2105 2Channel USB2UART 모듈 보드 제작 2채널의 USB2UART 기능이 있는 CP2105를 이용하여 USBTypeC 커넥터의 USB2UART 모듈 보드를 제작 했다. SSM 표준 핀맵으로 제작해 기존의 다양한 테스트 보드에 확장 연결하여 테스트 가능하도록 했다. USB를 연결하면 장치 관리자에서 2개의 가상 COM포트가 할당되는것을 확인 할수 있다.
DP83848K Ethernet PHY 모듈 보드 제작 작고 저렴한 Ethernet PYH 중 DP83848K를 이용하여 Ethernet Phy 모듈 보드로 제작 했다. DP83848 • Low-power 3.3-V, 0.18-µm CMOS technology • Low-power consumption < 270-mW typical • 3.3-V MAC interface • Auto-MDIX for 10/100 Mbps • Energy detection mode • 25-MHz clock out

반응형