반응형

임베디드 35

임베디드 IoT, MQTT

개요신뢰성 있는 데이터 전송 및 원격제어를 위해 만들어진 프로토콜 ( ISO 표준 )열악한 네트워크 환경에서 센서 하나 정도 달린 작은 기기들의 데이터 전송 및 원격제어를 위해 만들어짐→ 임베디드 장치에 알맞은 프로토콜이다 실시간, 최소 전력, 신뢰성 있는 비동기적 메시징 방식 ( TCP/IP 기반 )경량 프로토콜이벤트 방식의 N:N 통신 지원임베디드 IoT에 필수적인 기능만 모여 있다.  구성MQTT에는 3개의 구성원이 존재한다.Brokerpublishersubscriber  BrokerBroker는 메시지가 들어오는 통로이다.반드시 Broker를 통해서만 통신이 가능하다메시지의 전송 여부, 에러 여부를 확인할 수 있다. Publish / Subscribe누구나 발행/구독을 할 수 있으며, 구독과 발행..

임베디드/IoT 2024.11.11

임베디드 IoT, 아두이노 ESP32 보드

ESP32wifi + Bluetooth 가 내장된 MCU 보드이다.아두이노를 IDE로 사용가능한 보드로 IoT프로젝트에 매우 많이 사용되는 MCU 보드이다. 능력 대비 가격이 매우 저렴하다는 장점이 있다.  Arduino IDE 설치아두이노는 오픈소스이다.아두이노 공식 홈페이지에 접속해서 IDE를 설치한다https://www.arduino.cc/ Arduino - Home www.arduino.cc SOFTWARE 탭 클릭 후 IDE를 설치하면 된다.설치가 완료 되었다면 파일 -> 기본 설정을 클릭하여 언어를 한국어로 변경할 수 있다. 이후 ESP32 보드를 추가해야 사용할 수 있다.추가 보드 관리자에 URL을 추가해 준다. https://dl.espressif.com/dl/package_esp32_in..

임베디드/IoT 2024.11.07

임베디드 IoT

개요IoT(Internet of Things)는 사물 인터넷으로 사물들이 서로 연결 되어 있다는 것을 의미한다.각종 사물에 센서와 유/무선 통신 기능을 내장하여 인터넷에 연결하는 기술을 말한다.이름에서도 알 수 있듯 IoT는 유무선 상관없이 인터넷에 연결되어야 한다.  활용 사례IoT는 초기 대기업이나 전문 분야에 주로 사용되었다.요즘은 임베디드 시스템의 소형화, 고성능화로 인해 일반인도 손쉽게 구현이 가능해 졌다.스마트팜스마트 팩토리홈오토메이션헬스케어실버산업운송인공지능무인공장자율주행웨어러블위 분야 외에도 굉장히 많은 분야에 활용이 가능하다.홈 IoT를 통해 내가 원하는 기능을 커스텀하여 내 집에 적용할 수도 있다.실제로 삼성과 LG에선 관련 API를 제공하고 있다.https://developer.sma..

임베디드/IoT 2024.11.07

임베디드 센서, MEMS, Driver

센서정보를 수집하여 수치 값으로 만들어 내는 장치를 말한다.사람의 다섯가지 감각 뿐만 아니라, 초음파/압력/자기/온도/가스/가속도 등을 수치로 만들어 낼 수 있다.   센서의 활용출입문, 창문에 적외선을 설치하여 침입 탐지 시스템을 만들 수 있다.심장박동수, 체온 감지, 혈압 등을 센서로 측정하여 스마트 워치에 수치로 나타낼 수 있다.x, y, z 좌표를 자이로 센서로 수치화 하여 게임 등에 활용할 수 있다.  MEMS(Micro Electro Mechanical Systems)반도체 제조 공정으로 만드는 초소형 기계이다.톱니바퀴 등을 Nano공정으로 제작한다.초소형 센서를 제작할 때 이 기술을 사용한다.  MEMS - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 1986년 DARPA..

임베디드 2024.10.24

라즈베리파이 파이썬 제어문

조건문if ~ elif ~ else파이썬은 else if 대신 elif 를 사용한다. and / or 연산자 파이썬은 && , || 대신에 and, or 를 사용한다. 예시 코드if __name__ == "__main__": a = 10 b = 20 if a>b: if a10: print("A") elif a10: print("B") else: print("C") 출력B  for 반복문for 사용법이 C/C++ 과 조금 다르다.range(시작,끝, 증감) 예시 코드if __name__ == "__main__": a = [10,20,30] for i in range(3): print(a[i])..

라즈베리파이 파이썬 함수

print()출력 함수로 ,(콤마) 를 이용해 여러 데이터를 출력할 수 있다python은 세 가지 방법으로 문자열 포매팅이 가능하다. 예시 코드if __name__ == "__main__": print(10) print(10, 20, 30) print(10, "hello", 20) n = 12 print("SSAFY {}th Fighting!".format(n)) print(f"SSAFY {n}th Fighting!") print("SSAFY %dth Fighting!" %n) 출력1010 20 3010 hello 20SSAFY 12th Fighting!SSAFY 12th Fighting!SSAFY 12th Fighting!  print는 기본적으로 줄바꿈을 지원한다..

라즈베리파이 파이썬 자료형

개요파이썬은 type 을 선언하지 않는다.string, char에 대한 구분이 없다.마찬가지로 리스트나 튜플같은 자료구조 또한 구체적으로 명시해 주지 않는다.예를 들어 C++에서 벡터를 사용하기 위해선vector lst; 라고 선언을 해줘야 한다.하지만 파이썬에서는 lst = [] 이 코드 하나로 lst라는 이름의 리스트를 생성하였다.  List파이썬 리스트C의 배열과 다르다.type을 가리지 않는다.동적 할당lst = ['Hello', 5, 4.12] 이런식으로 리스트 안에 문자열, 정수, 실수를 모두 넣을 수 있다. 관련 메서드len() : 길이 구하는 API.append(요소) : 요소를 리스트 가장 뒤에 붙이는 APIlst = []lst.append(1)lst.append(2)print(lst.l..

라즈베리파이 파이썬 기초

라즈베리파이Maker 교육용 보드SBC( Single Board Computer )로 많은 리눅스 개발자와 임베디드S/W 개발자를 꿈꾸는 학습자들이 교육용으로 다루는 매우 훌륭한 MPU이다. 실제 OS를 건드릴 수 있으므로 리눅스 커널 프로그래밍, IoT등의 실습에서 활용된다. 라즈베리파이는 Python을 기본 언어로 사용한다.Python을 이용한 라이브러리 중 gpiozero 라이브러리를 사용한다.  용어Reference : 도움이 되는 참고자료를 뜻한다.Library : 다른 사람이 만든 소스코드를 가져다 쓸 수 있도록, 함수 / 클래스들로 구현된 소스코드 모음모듈 : 일반적으로는 큰 System을 이해하기 쉽게 기능별로 나눈 작은 단위를 뜻함 (.py 파일 1개)Package : Python 에서는..

리눅스 소켓 프로그래밍 Linux socket programming

개요서버와 클라이언트는 동작이 다르다.서버 : 클라이언트가 접속할 수 있도록 준비(Port, IP), 그리고 클라이언트의 연결을 기다린다.클라이언트 : 서버의 IP와 Port를 이용해 접속하며, 연결이 되었을 경우 동작을 한다.  서버클라이언트IP서버 소켓이 동작하는 컴퓨터의 IP 주소통신을 원하는 원격지 PC의 IP 주소Port소켓이 “위치 할” 포트 번호소켓이 “위치한” 포트 번호  TCP 기반 서버 소켓 동작 순서는 다음과 같다.socket() 소켓 생성bind() 소켓에 주소 할당listen() 클라이언트 연결 요청 대기accept() 클라이언트 연결 승인read() / write() 통신close() 소켓 닫기 TCP 기반 클라이언트 소켓 동작 순서는 다음과 같다.socket() 소켓 생성con..

리눅스 소켓 통신 Linux socket

개요Socket을 이용해 서버-클라이언트 간 데이터를 주고 받는 양방향 연결 지향성 통신을 말한다. Socket을 이용해 PC 와 PC 끼리 데이터를 주고 받을때 TCP/IP프로토콜을 사용하여 통신한다.한쪽은 서버이고 나머지 한 쪽은 클라이언트가 되며 통신 방식은 Full-Duplex이다.두 PC는 네트워크로 연결 되어 있어야 한다.  SocketTCP/IP 기반 네트워크 통신에서 데이터 송수신의 마지막 접점이다.데이터가 통과하는 마지막 관문 전기 소켓을 예로 든다면 발전소에서 생성한 전기가 가정으로 도착한 마지막 접점으로 볼 수 있다.소켓의 내부구조는 어떻게 이루어져 있는지 자세히 모르지만, 콘센트를 꽂으면 전기를 쓸 수 있다. 소켓은 인터페이스이다, Socket이라는 소프트웨어 인터페이스가 존재하며,..

728x90
반응형