본문 바로가기

728x90
반응형

전자공학을 즐겁게/누구나 취미전자공학

원격으로 라즈베리 파이 코드 편집하기 - Visual Studio Code 활용 2024. 6. 2. Visual Studio의 "Remote-SSH" ExtensionVNC 접속을 통하여 라즈베리 파이(Raspberry Pi)에 원격 접속해서 데스크탑 환경을 사용하면 데스크탑 환경을 그대로 사용하기 때문에 편리하기는 합니다. 굳이 bash의 명령을 하나하나 타이프하는 경우가 줄어드니까요. 그렇지만, 데스크탑 환경의 GUI를 필요로 하지 않는 코딩의 경우에는 굳이 데스크탑 환경까지 실행하는 것이 불필요하게 느껴집니다. 그렇다고, 데스크탑 환경 없이 코딩을 하려니 텍스트 콘솔 기반의 편집기를 사용하는 것이 여간 불편하지 않습니다. 내 PC에 있는 에디터로 라즈베리 파이의 프로그램을 직접 편집할 수 있으면 좋을 텐데 하고 생각하던 중에 "Remote-SSH"라는 이름의 Extension을 찾게 되었습니다. .. 더보기
Python을 이용한 UART 활용 - pyserial과 xmodem 2024. 5. 9. 임베디드 컴퓨팅에서 UART는 두 컴퓨터의 통신에 사용이 됩니다. 특히 한 컴퓨터의 출력 장치로서 현재의 동작 상태를 출력하고, 다른 컴퓨터는 그 출력을 받아 상태를 확인하는 용도로 많이 사용을 합니다. 컴퓨터의 출력을 해석하기 위하여, 다른 한쪽 컴퓨터는 UART의 입력을 받아 그 내용을 해석하는 프로그램을 수행하기도 합니다. 또한, 한 컴퓨터에서 다른 한 컴퓨터로 파일을 전송하기도 하지요. 여기에서 컴퓨터는 넓은 의미로, 작은 MCU에서부터 가정용이나 업무용으로 사용이 되는 고성능 컴퓨터까지 아우릅니다.  용도가 무엇이든 UART로 정보를 보내고 받는 작업을 할 필요가 있습니다.Python을 사용해서 UART를 통하여 데이터를 주고받고, 파일을 전송하는 것에 대하여 이야기해 볼까 합니다.Python이.. 더보기
라즈베리 파이의 Device Tree Overlay와 UART 하드웨어 흐름제어 사용하기 2024. 4. 21. 라즈베리 파이에 대하여 조금이라도 공부한 사람들은 40핀 헤더가 GPIO를 모아 놓은 것이라는 것을 모르는 사람은 없습니다. GPIO는 앞선 포스트에서 다룬 것과 같이 HIGH나 LOW의 디지털 논리 신호를 입출력하는 임베디드 프로세서의 단자입니다. 이들 GPIO 단자를 단순한 디지털 논리 신호의 입출력 이외의 기능으로 사용하기도 하는데, 원래 가지고 있던 입출력 신호 대신 다른 기능들로 사용할 수 있도록 하는 것을 GPIO의 Alternate Function이라고 합니다. GPIO Alternate Function임베디드 프로세서의 데이터 시트나 사용자 매뉴얼을 보면 보통 GPIO에 대하여 하나의 장에 걸쳐 설명하면서 Alternate Function에 대하여 설명하는 표 또는 섹션이 있습니다. 라즈베.. 더보기
라즈베리 파이에서 UART 사용하기 2024. 4. 5. UART는 Universal Asynchronous Receiver Transmitter의 약자입니다. 기기 간 통신에 많이 사용되는 하드웨어입니다. 라즈베리 파이를 단순히 개인용 컴퓨터 용도처럼 사용하는 경우보다는 여러 가지 장치 구현이 많이 사용을 하게 되는데, 이때에도 UART는 가장 인기 있는 선택 중의 하나입니다. 이번 포스트에는 라즈베리 파이에서 UART를 사용하는 몇 가지 방법에 대하여 알아보겠습니다. USB-UART 브릿지 사용하기 USB-UART 브릿지는 USB 디바이스입니다. USB 포트에 연결을 하면, 직렬 포트를 하나 사용할 수 있게 해 주는 디바이스입니다. 아주 오래전엔 직렬 포트가 개인용 컴퓨터에 기본적으로 설치가 되어 있었지만, 요즘 개인용 컴퓨터에서는 사라졌죠. 이 직렬 포트.. 더보기
파이썬으로 라즈베리 파이 GPIO 제어하기 - RPi.GPIO vs gpiozero 2024. 1. 26. RPi.GPIO 모듈로 라즈베리 파이의 GPIO를 제어하는 방법에 대해서는 포스팅을 한 적이 있습니다. 파이썬으로 GPIO를 제어할 때, RPi.GPIO를 사용할 수도 있지만, gpiozero라는 모듈을 사용할 수 있습니다. 다시 한 번 GPIO 제어에 대한 내용을 상기하면서 RPi.GPIO와 gpiozero가 어떻게 차이가 있는지 함께 살짝 들여다보겠습니다. 라즈베리 파이의 GPIO 라즈베리 파이에는 40핀의 헤더가 있습니다. 쉽게 눈에 보입니다. raspberrypi.com에 가면 Raspberry Pi OS 문서에 이 40핀 헤더의 핀 배치가 나와 있습니다. 라즈베리 파이의 터미널에서 'pinout' 커맨드를 사용해도 역시 핀 배치를 볼 수 있습니다. 이 중에 'GPIOx'라고 이름이 붙어 있는 핀.. 더보기
Outgoing SMTP 서버 만들기 - 라즈베리 파이에서 postfix 2023. 10. 10. 사무실에 새로운 사무용 복합기를 들였습니다. 요즘 복합기는 이더넷(Ethernet)으로 연결되니까 사무실 네트워크에만 연결되어 있으면, 인쇄를 하든 팩스를 보내든 많이 자유로워졌죠. 그런데, 문제는 문서 스캔입니다. 이게 제조사마다 방식이 다 다르네요. 이번엔 여러 방법 중에 이메일로 보내 주는 방식이 있는데, 문제는 이것이 메일을 보낼 수 있는 Outgoing SMTP를 설정해 주어야 합니다. 그런데, 복합기에 설정할 Outgoing SMTP가 없네요. 정확하게 말하자면 Outgoing SMTP를 설정하자니 메일 계정 하나가 필요해지는데, 복합기에 주자고 메일 계정을 하나 만들 수가 없는 노릇입니다. 그래서, 적당하게 단순한 Outgoing SMTP를 하나 만들면 어떨까 생각이 들었습니다. 필요한 것은.. 더보기
CircuitPython 시작하기 (feat. xG24 Explorer Kit) 2023. 7. 2. Silicon Labs xG24 Explorer Kit과 CircuitPython 작은 MCU(Microcontroller Unit)의 어플리케이션을 위해서는 C 언어로 프로그램하는 것이 대세입니다. 대부분의 MCU 제조사들이 C 언어로 되어 있는 SDK(Software Development Kit)를 제공합니다. 간혹 C++가 사용되기도 하지요. 우리가 흔히 사용하는 개인용 컴퓨터와는 다르게 MCU라고 불리는 이러한 소형 컴퓨터는 주로 하드웨어의 제어에 사용됩니다. 그런데, 파이썬(Python)을 MCU 어플리케이션에서 빠르게 프로토타이핑(Prototyping) 하는 데에 사용할 수 없을까 생각하게 됩니다. 물론 라즈베리파이(Raspberry Pi)에서 파이썬을 사용하여 하드웨어 제어를 하고 동작시키는.. 더보기
버저(Buzzer)로 음악 연주하기 2023. 6. 6. 음악을 연주한다는 것은 어떤 높이의 소리를 어떤 길이로 내는 것을 연달아 이어 놓은 것입니다. 소리의 높이라는 것은 주파수를 달리함으로써 만들어 내게 됩니다. 소리라는 것은 공기의 떨림인데, 정해진 시간 동안 공기가 더 많이 떨리게 하면 높은 소리가 나는 것입니다. 버저에 다른 주파수의 신호를 인가하면 다른 소리가 나는 이유입니다. 이런 서로 다른 높이의 소리를 얼마나 길게 내느냐에 따라 음악은 또 달라지게 됩니다. 내친김에 버저로 간단하게 음악을 연주하게 만들어 봅시다. 예, 한 20년 전에는 버저로 벨소리를 만들었으니까요. 물론 버저의 특성이 모든 가청 주파수(audible frequency)에 일정한 것이 아니라서 깨끗하고 맑은 음악은 아니겠지만, 가락을 만들어 낼 수는 있을 것입니다. 소리의 높이.. 더보기

728x90
반응형