본문 바로가기

전체 글

(1955)
nRF52832 SSM - BLE UART 테스트 (Adafruit Bluefruit) Adafruit 예제를 참고로 BLE의 가장 기본이 되는 BLE UART 테스트를 해 보자. 필요 없는 기능은 다 제거 하고 가장 심플하게 코드를 수정 했다. BLE앱에서 nRF52832 보드의 LED를 On/Off 하는 기본 예제 #include #define LED_BUILTIN 22 // BLE Service BLEUart bleuart; // uart over ble void setup() { pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, LOW); Serial.begin(115200); Serial.println("nRF52832 SSM BLE-UAR Test"); // Setup the BLE LED to be enabled on CONNE..
실시간 AI 처리를 위한 W5300 네트워크 카메라 만들기 일반적인 네트워크 카메라는 네트워크 대역폭 때문에 압축된 영상을 전송한다. 압축된 영상은 품질이 저하되기 때문에 영상 처리에 문제가 될수 있다. W5300 을 이용하여 압축되지 않은 원본 영상을 네트워크로 전송하고 영상 처리를 할 수 있는 카메라를 제작 하였다. W5300은 80Mbps 이상의 고속 네트웍 전송이 가능하기 때문에 카메라의 실시간 원본 이미지를 전송하는데 가장 좋은 예가 될 수 있다. 전송된 영상은 일반적인 영상 처리 뿐 아니라 AI 를 적용하여 좀더 스마트한 어플리케이션에 적용 할 수 있도록 하였다. AI를 적용한 네트워크 카메라는 실시간 감지와 분석을 통해 환경을 모니터링하고, 범죄 예방, 사고 감지, 자원 최적화 등 다양한 분야에서 중요한 역할 한다. 이를 통해 더 스마트하고 안전한 ..
Raspberry Pi PicoW - TFT LCD 출력 테스트(그래프 출력) Raspberry Pi Pico 확장 테스트 보드를 이용하면 20핀 표준 핀맵에서 TFT LCD보드 제어를 할 수 있다. 확장보드의 표준 핀맵은 아래와 같이 구성 하였다. 소스코드는 https://github.com/adafruit/TFTLCD-Library 를 참고 수정해서 사용 했다. 초기화 부분과 데이터 출력 부분은 아래와 같이 수정 했다. #define PORTA(sio_hw->gpio_out) #define GPIO00 #define GPIO11 #define LCD_XLINE_SIZE240 #define LCD_YLINE_SIZE400 #define LCD_LAT_BIT26 #define LCD_LAT_PORT #define LCD_LAT_ON()sbi(LCD_LAT_PORT, LCD_LAT_..
STM32H7 - iperf를 이용한 내장 이더넷 전송률 테스트(iperf Throughput) STM32H7을 이용한 이더넷 테스트에서 고속전송에서의 에러가 많이 발생 했는데 최근 ST에서 제공하는 라이브러리는 업데이트가 많이 된것 같다. STM32H7-RP 보드는 STM32H7의 내장 이더넷 컨트롤러를 테스트 할수 있는 PHY커넥터가 있어 간단히 이더넷 테스트를 해 볼 수 있다. ST에서 제공하는 STM32H7 STM32CubeMX based Ethernet examples 를 참고로해서 새로운 프로젝트를 생성하고 iperf로 TCP전송률 테스트를 진행해 보았다. 우선 STM32CubeIDE를 최신으로 업데이트 하고 프로젝트를 생성한다. ETH를 RMII 모드로 설정하고 나머지 필요한 페리를 추가 해 준다. STM32F7 에서 LwIP 추가했던 방식과 달리 디폴트로 활성화 되어 있지 않다. 활성..
[STM32H7-RP] 네트웍 카메라 테스트 - W5300을 웹서버를 이용한 영상 전송 STM32F4-RP 보드에서 W5300을 웹서버를 이용한 영상 전송 테스트 코드로 테스트 하면 문제가 발생한다. STM32H7 에서는 기존 코드 구동시 계속 문제들이 발생하는것 같다. 우선 이미지 파일을 데이터를 보내 보자. HTML 요청이 있을때 데이터 전송은 하지만 한번 전송하고 끝나는것 같다. > HTTPSocket[2] : HTTP Method GET > HTTPSocket[2] : Request Type = 4 > HTTPSocket[2] : Request URI = cam_img.jpg image displey -> cam_img.jpg image send STM32F4 에서 정상적으로 전송될 경우 > HTTPSocket[3] : HTTP Method GET > HTTPSocket[3] : R..
[STM32H7-RP] DCMI 테스트 - OV2640 카메라 영상 전송 테스트 STM32H7-RP 보드에는 DCMI 인터페이스를 사용 할수 있어 카메라 모듈을 연결하여 테스트 할 수 있다. DCMI 핀맵은 아래와 같다. STM32CubeIDE 에서 DCMI 인터페이스를 설정하고 DMA를 추가 한다. DMCI 인터럽트도 사용할 수 있도록 설정해 준다. 카메라의 메인 클럭(MCLK)은 RCCMCO 핀(PA8)을 통해 가변 할 수 있도록 할당되어 있기 때문에 MCO를 사용할 수 있도록 설정한다. 카메라 모듈의 설정은 I2C1에 할당되어 있다. 기본적인 코드를 테스트 해보자. 카메라 라인 인터럽트 및 프레임 인터럽트루틴에서 플래그를 보내고 메인루프에서 처리 하도록 했다. void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi) { gCam..
[STM32H7-RP] W5300을 이용한 TCP 제어 서버 테스트 PC에서 전송되는 명령을 처리하는 부분은 ProcessCamTCPS() 함수에서 처리하고 있다. TCP 통신으로 영상 전송 시작 및 종료나 카메라 제어와 같은 명령을 전송할수 있다. int32_t ProcessCamTCPS(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size = 0, sentsize=0; unsigned int cmd; unsigned int para; switch(getSn_SR(sn)) { case SOCK_ESTABLISHED : if(getSn_IR(sn) & Sn_IR_CON) { setSn_IR(sn,Sn_IR_CON); } // Don't need to check SOCKERR_BUSY because i..
[STM32H7-RP] FMC 테스트 - TFT LCD 테스트 STM32H7-RP 보드에는 TFT-LCD 모듈을 연결 할 수 있다. LCD CS핀이 NE1에 할당 되어 있고 RS가 A1에 연결된다. 기존 테스트 코드를 이용하여 동작 시켰는데 LCD 화면에 아무것도 표시 되지 않는다. 일단 TFT LCD 관련 FMC 신호가 정상적으로 출력 되는지 확인 해 보자 FMC 출력 신호를 확인하기 위한 코드를 작성하자 #define TFTLCD_BASE ((unsigned long)(0x60000000 | 0x00000000)) #define TFTLCD ((TFTLCD_TypeDef *) TFTLCD_BASE) #define _LCD_DATA(p) (*(volatile uint16_t*) (TFTLCD_BASE + (p

반응형