본문 바로가기

RaspberryPi/W55RP20

(13)
[W55RP20 SSM] UDP 제어 테스트 (파이썬으로 테스트) W55RP20 UDP 전송률 테스트 예제를 참고로 해서 UDP로  테스트를 해보자 W55RP20에서 UDP 처리는 메인함수에서 UDP 로 데이터가 전송되면 처리하는 함수 Process_udps()를 주기적으로 호출해서 처리하면 된다.int32_t Process_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 ..
W55RP20 - 네트웍 기반의 저렴한 HDMI 출력 모듈 보드 테스트 W55RP20은 저렴한 Ethernet 솔루션 칩인 W5500과 ARM 듀얼 코어 베이스의 저렴한  RP2040을 하나의 칩으로 제작한 SIP(System in Package) 이다.작고 저렴한 이더넷 솔루션에 사용하기 너무 좋은 칩 인것 같다.  작고 저렴한 네트워크 예제로 이더넷을 통해 전송받은 광고 이미지를 HDMI 모니터에 출력을 해 줄 수 있는 저렴한 모듈을 제작 해 보고자 한다. 프로젝트 소스코드https://github.com/elabsystem/W55RP20_NET_HDMI시스템 블록도PC에서 네트웍을 통해 이미지를 전송하면 W55RP20에서 받아서 HDMI 모니터로 출력 하는 시스템이다. 그리고 자동으로 화면 캡쳐후 전송하는 기능도 추가 하였다.하드웨어 제작W55RP20은 최대한 작게 제..
[W55RP20 SSM] - UDP 전송율 테스트 HDMI 출력 테스트 - 실시간 화면캡쳐 후 이미지 전송 테스트에서 이미지 전송 속도를 높이기 위해 UDP로 테스트 해 볼 필요가 있을것 같아 UDP 전송율 테스트를 해 보았다. UDP loopback 테스트 예제를 작성해서 W55RP20의 UDP 전송율을 확인해 보자#define LED1_PIN 9#define Led1Off() gpio_put(LED1_PIN, 1);#define Led1On() gpio_put(LED1_PIN, 0);#include "w5500_config_tcp.h"#define ETHERNET_BUF_MAX_SIZE (1460)#define DATA_BUF_SIZE ETHERNET_BUF_MAX_SIZE/* Socket ..
[W55RP20 SSM] HDMI 출력 테스트 - 실시간 화면캡쳐 후 이미지 전송 W55RP20 SSM HDMI 출력 예제를 이용하여 실시간으로 이미지를 전송 할 수 있도록 수정해 보았다. 320x240 BMP 이미지를 전송하기 때문에 320x240x16 = 153600 Byte가 전송되며 대략 1.2Mbit 정도 되는 데이터 이기 때문에 W55RP20의 최대 TCP전송 속도 테스트 결과에 따라 26Mbit/s 이므로 최대 8프레임 정도는 나올것 같다.  그래서 기존 코드를 수정해서 실시간 화면 캡쳐를 하고 TCP로 전송하도록 수정해 보았다.void CEthernetHostDlg::ScreenCapture() { CDC* dc; dc = m_ctlGraph.GetDC(); CRect rect; ::GetWindowRect(m_hWnd, &rect); int x, y; x = rect...
[W55RP20 SSM] HDMI 출력 테스트 RP2040에서 HDMI(DVI) 출력을 할수 있는 라이브러리 PicoDVI를 이용하여 W55RP20 SSM 보드에서 HDMI를 출력 하는 테스트를 진행 해 보았다.W55RP20은 이더넷을 기본 내장하고 있기 때문에 네트웍으로 전송받은 이미지나 데이터를 HDMI 모니터로 출력해서 저렴한 네트웍 광고판을 만들 수 있을것 같다.  HDMI 출력 회로   [RP2040_W5500] HDMI출력 확장 테스트 보드에서는 Arduino 개발 환경에서 테스트 했지만 이번에는 Pico SDK에서 코드를 작성해서 테스트 해보자 #include #include #include "pico/stdlib.h"#include "pico/multicore.h"#include "hardware/clocks.h"#include "ha..
[W55RP20 SSM] W5500 Ethernet - 웹서버 입력 테스트 지난번 포스트에서는 W55RP20에서 웹서버 출력 관련 테스트를 했는데 이번에는 서버에서 값을 입력 받는 테스트를 해 보자  먼저 Raspberry Pi PicoW - Ajax 를 이용한 실시간 웹 전압 디스플레이(https://nexp.tistory.com/3907 )  Raspberry Pi PicoW - Ajax 를 이용한 실시간 웹 전압 디스플레이ESP32-S2 웹서버 테스트 - Ajax 를 이용한 실시간 데이터 수신 테스트 코드를 이용하여 실시간 웹 디스플레이 테스트를 해보자. 코드는 거의 동일하게 구동된다. Pi Pico 확장 테스트 보드에는 ADC를 테nexp.tistory.com를 참고 해서 웹페이지를 작성 한다 이번에는 페이지를 쉽게 변경하기 위해 웹페이지를 바이너리로 변환해서 처리 하도..
[W55RP20 SSM] W5500 Ethernet - 웹서버 테스트(웹서버 라이브러리 함수 문제 발생 및 수정) 이더넷 기능을 사용하는 대부분의 예제에서 웹서버는 필수적으로 필요한 부분이라 테스트가 필요하다. 기존의 Aruino 환경에서 웹서버 예제는 많은 부분이 라이브러리로 구현되어 있어 간단하게 구현 하였는데 SDK를 이용한 웹서버는 여러가지 처리해 주어야 하는 것이 많다. 이전 포스트에서 DHCP 테스트 코드를 조금 수정해서 DHCP로 IP를 할당 받으면 웹서버를 수행하는 코드로 작셩했다.(참고 W55RP20 웹서버 예제 : https://github.com/WIZnet-ioNIC/WIZnet-PICO-C/tree/main/examples/http/server) #include "port_common.h"#include "wizchip_conf.h"#include "w5x00_spi.h"#include "so..
[W55RP20 SSM] W5500 Ethernet - DHCP 테스트 기존의 RP2040과 W5500을 테스트 했던 Arduino 개발환경 에서는 DCHP가 자동으로 설정되지만 SDK를 이용하면 직접 코드를 작성해야 한다. 아쉽다... 이걸 다시 작성해야 하다니..  아무튼 DHCP 예제를 참고로 해서 테스트 해보자. #include "port_common.h"#include "wizchip_conf.h"#include "w5x00_spi.h"#include "socket.h"#include "dhcp/dhcp.h"#include "timer/timer.h"/* Buffer */#define ETHERNET_BUF_MAX_SIZE (1024 * 4)#define DATA_BUF_SIZE ETHERNET_BUF_MAX_SIZE/* Socket */#define SOCKE..