728x90
반응형

임베디드 28

[리눅스] virtual machine에 ubuntu깔고 원격접속터미널 연결하기

window 기반 컴퓨터에 virtual machine을 깔고 ubuntu를 설치해서 ssh로 연결하여 외부 터미널로 리눅스 제어를 해볼 것이다 virtual machine : VirtualBox ubuntu : Ubuntu 20.04.2 LTS (카카오미러) 원격접속터미널 : MobaXterm 우분투 리눅스 다운로드 https://mirror.kakao.com/ubuntu-releases/ Ubuntu Releases There are 2 types of Ubuntu releases: Interim and LTS. Each Ubuntu LTS is maintained for 10 years total: 5 years of standard support + 5 years of ESM. Interim re..

임베디드 2022.05.12

[GUI] Qt + SenseHat : 센스햇 조명등 GUI 어플리케이션 만들기

개발환경 - 하드웨어 : 라즈베리파이, 센스햇 - GUI 라이브러리 : PySide2 (라즈베리파이), PySide6 (윈도우) - IDE : Thony Python IDE (라즈베리파이), Pycharm + QtDesigner (윈도우) - VNC Viewer 요구사항 센스햇 각각의 LED를 제어하고, LED의 색깔을 R/G/B로 나누어 조절할 수 있도록 제작 개발과정 1. 윈도우 -> 라즈베리파이 윈도우에서 ui를 만들고 py 파일로 ui convert(uic)를 하고, 라즈베리파이에 전달해서 py파일을 수정 & 추가하여 개발하였다. 처음부터 라즈베리파이에서 진행하고자 했지만, 해당 라즈베리파이에 PySide2 까지만 릴리즈 되었고 uic 컴파일러가 다운되지 않았기 때문에 불가피하게 윈도우에서 GUI..

임베디드 2022.05.05

[GUI] Qt와 QtDesingner 소개

Qt - C++ 기반 GUI Application 개발시 가장 널리 쓰이는 프레임 워크 - 다른 플랫폼으로 포팅이 자유로움 (One framework. One codebase. Any platform. / Write once, compile anywhere) - 윈도우, 리눅스, 맥, 안드로이드, VxWorks, Tizen 지원 - 네트워크, 그래픽, DB, OpenGL 등 쉬운 API 지원 Qt 오픈소스 라이센스 - GPL : 모든 소스코드를 공개해야한다, 비상업용으로 사용함 - LGPL : GPL 에서 특정 모듈을 쓰지 않으면 LGPL로 가능하다. 상업용으로 사용 QtDesigner - 일반적인 UI Designer이고, LGPL이다. - Designer로 위젯을 꾸며 위젯파일이나 .ui 파일을 만든..

임베디드 2022.05.03

[펌웨어] CubeIDE로 내부/외부 LED 켜기

개발환경 보드 : Nucleo-F103RB CPU 칩셋 : STM32F103RB CPU 설계 : ARM Cortex-M3 IDE : STM32CubeIDE shematic 회로도 https://www.st.com/en/evaluation-tools/nucleo-f103rb.html#cad-resources NUCLEO-F103RB - STMicroelectronics NUCLEO-F103RB - STM32 Nucleo-64 development board with STM32F103RB MCU, supports Arduino and ST morpho connectivity, NUCLEO-F103RB, STMicroelectronics www.st.com 여기서 schematic을 다운받아보면 내장 장치가 ..

임베디드 2022.05.02

[리눅스] 랜덤함수 rand(), srand(), time()

rand 함수 rand(); // 정수형 랜던값이 리턴된다 rand() % 5; // 0~4 사이 랜덤값이 생성된다 rand() % 5 + 3; // 3~7 사이 랜덤값이 생성된다. 사실 이 랜덤함수도 사람이 만든 것이기 때문에 나오는 값이 항상 동일하다. 랜덤 순열의 순서가 고정되어있기 때문에, 모든 사람한테 동일한 결과값이 나온다. 하지만 우리는 이런 랜덤값을 원하는 것이 아니다. srand 함수 srand(랜덤순열ID); int 형 매개변수 번째 순열로 랜덤값이 만들어진다. srand 없이 rand 함수만 쓸 경우에 srand의 첫번째 순열로 적용된다. 이것을 이용해서 랜덤순열ID 값 안에 시간값을 넣으면 1초당 다른 랜덤값으로, 앱 실행시마다 다른 랜덤값이 출력될 수 있다. srand(time(N..

임베디드 2022.04.30

[리눅스] 시그널 신호 보내기, WDT(Watchdog Timer)

시그널 (Signal) 이란? 특정 이벤트가 발생했을때 신호를 보내서 알려준다. kill -l 명령어를 통해 시그널 종류를 파악할 수 있다. 인터럽트 (Interrupt) 란? CPU 동작중 하던일을 멈추고 처리하도록 하는 것이다. 즉, 인터럽트 발생시 예약된 함수가 동작한다. (콜백 함수랑 비슷) ISR (Interrupt Service Routine) 인터럽트 핸들러라고도 불리며, 인터럽트 발생시 호출되는 코드이다. Signal API 사용 사용자 정의 Signal 을 만들어서 다음 명령어를 실행시키면 해당 시그널이 동작한다. killall -사용자정의시그널 프로세스이름 코드 내에서도 다음 코드로 시그널을 실행 시킬 수 있다. kill(프로세스ID, 사용자정의시그널) 코드 작성 실행결과 WDT (Wa..

임베디드 2022.04.29

[라즈베리파이] 출입 인증 시스템 제작

개요 1. 초음파 센서로 접근을 확인하여 가까이 왔을 때 초록색 LED가 켜지고, RFID 를 사용할 수 있다. 2. 출입 인증 성공시, 서보모터로 문이 열리고 부저를 통해 출근 환영 음악이 나온다. 그후 문이 닫힌다. 3. 출입 실패시, 부저에서 간단한 경고음과 빨간색 LED가 켜지고, 3회 연속 실패시, 응급 경고음이 길게 울린다. 이때, 출입 성공을 한번 하면 실패 횟수가 초기화 된다. 4. FND로 출입한 사람 수를 출력해준다. 회로구성 준비물 : 라즈베리파이, 초음파센서, FND 7-Segment, RFID, 빨간색과 초록색 LED, Buzzer, 서보모터 코드 from gpiozero import DistanceSensor,LED,AngularServo,TonalBuzzer from mfrc5..

임베디드 2022.04.28

[라즈베리파이] 초음파 센서를 이용한 방문자수 구하기

개요 초음파 센서로 손님이 지나갔는지 감지하여 FND로 횟수를 표시해준다. 회로구성 준비물 : 초음파센서, FND, 라즈베리파이 코드 from gpiozero import DistanceSensor,LED from time import sleep trig = 20 echo =21 sensor = DistanceSensor(echo,trig) a=LED(5) b=LED(6) c=LED(13) d=LED(19) e=LED(26) f=LED(16) g=LED(8) dp=LED(7) num=[ [a,b,c,d,e,f], [b,c], [a,b,g,e,d], [a,b,g,c,d], [f,g,b,c], [a,f,g,c,d], [a,f,g,e,c,d], [f,a,b,c], [a,b,c,d,e,f,g], [a,b,c,d..

임베디드 2022.04.27

[라즈베리파이] OLED와 BMP280 을 이용한 온도계 제작

개요 BMP 280으로 현재 온도를 얻어오고, 현재시간을 포함하여 OLED에 실시간으로 출력한다. 회로구성 준비물 : 라즈베리파이, OLED, BMP280 API 설치 https://www.waveshare.com/wiki/0.96inch_OLED_(B) 0.96inch OLED (B) - Waveshare Wiki www.waveshare.com 공식 사이트 document의 demo code를 주소 복사해서 wget으로 다운로드 및 압축풀기로 API를 다운받는다. 코드 from bmp280 import BMP280 import time from smbus import SMBus import sys import os picdir = os.path.join(os.path.dirname(os.path.di..

임베디드 2022.04.26

[라즈베리파이] 센스햇 기초

센스햇 특징 센서란, 정보를 수집하여 수치값으로 만들어내는 장치이다. 사람의 오감 (시각 청각 후각 미각 촉각) 뿐아니라, 초음파 압력 자기 온도 가스 가속도 등을 수치로 만들어 낼 수 있다. 센스햇에는 자이로센서, 가속도센서, 기압센서, 지자기센서, 온습도센서가 있다. 센서 외 컨트롤러와 디스플레이는 8*8 LED와 5방향 조이스틱으로 활용된다. 기본 세팅 https://pythonhosted.org/sense-hat/ Home - Sense HAT Sense HAT Python module to control the Raspberry Pi Sense HAT Features The Sense HAT features an 8x8 RGB LED matrix, a mini joystick and the fo..

임베디드 2022.04.25
728x90
반응형