분류 전체보기(41)
-
Node-red 이용해서 센서 데이터 시각화하기
문제가 조금 있긴 했지만, EPS32 보드를 이용했으니 바로 wi-fi 연결 해서 데이터를 시각화해보는 작업을 하였다. DHT11 센서와 그 외 다른 센서가 있으면 좋았겠지만 가지고 있는 것이없어서 간단하게 가변저항을 이용해서 값이 변하는 것을 측정하기로 하였다. 여러 IoT 장비라는 상황을 가정하기 위해 ESP32 보드는 2개를 사용하였고, 데이터 전송 프로토콜로는 MQTT를, 브로커 서버로는 mosquitto를 이용하였다. 읽어오는 값은 온도, 습도, power 라고 가정한 가변저항 값이고 이에 맞는 topic을 지정해주었다. 그리고 읽기만 하면 재미없기 때문에 값을 보내주기 위하여 다른 topic 도 설정하였다. 이렇게 topic 을 세분화 한 이유는 어디서 값을 보내고 읽어오는지 구분하기 쉽게 하..
2022.05.21 -
ESP32 로 dht11 센서 값 읽어오기(및 오류 해결)
IoT를 공부하는데 값싸고 좋은 ESP32를 가지고 놀고(?) 있던 와중 노드레드와 연동해보기 위해 가장 만만해보이는 dht11값을 실시간으로 받아오자고 생각해서 바로 빵판에 장착을 하였다. 인터넷에 있는 핀맵을 참고로 그냥 적당한 GPIO핀에 dht11센서를 연결하였는데 결과는?... 센서 값이 읽히지 않았다.... 이게 안 읽힐리가 하면서 센서가 고장났나 싶어서 아두이노에도 장착하고 다시 센서값을 읽어봤는데 정상작동이 됬다. 그래서 뭐가 문제인가 알아보기 위해 ESP32의 스키마틱 맵을 보니 대충 짐작이 갔다. 핀이 단순히 GND, Vin, GPIO 핀 정도로 나뉘고 그외 TX,RX 등등의 핀맵은 그저 권장인 줄 알았더니, 저 핀들은 GPIO가 아닌 저 용도로만 사용이 가능한 핀이였나 보다... 하필..
2022.05.21 -
차량 사이버 보안에 관하여
최근 모빌리티 기술 하면 당연히 자율주행자동차를 빼놓을 수 없을 것이다. 자동차는 특히 사람의 목숨과 크게 연관되어 있기 때문에 더 신중하게 개발되어야 한다고 생각된다. 그렇다 보니 개발 과정에서 더욱 신경써야 할 것이 많다고 생각되어지만 그 중에서도 '보안' 관련은 정말 빼놓을 수 없다고 생각된다. 만약 누군가 내 차의 제어권을 뺏어버린다고 생각해보면 상상만 해도 정말 끔찍하다.... 그래서 오늘은 자율주행 차와 보안에 관련된 이야기를 해볼려고 한다. 보안이 왜 중요할까? 위에서 말한 것처럼 개인 사용자 측면에서도 매우 위험하겠지만, 기업 입장에서도 정말 큰일이다. 보안 이슈가 발생하면 피해보상으로 인한 금전적 손해는 둘째치고, 신용/신뢰 부분에서 정말 막대한 피해가 발생할 것이다. 그 누가 해킹당할 ..
2022.05.20 -
운영체제와 커널
최근에 리눅스 환경에서 장치 파일이나 장치 드라이버를 손대면서 자연스럽게 커널의 존재에 대해 알게 되었다. 그런데 커널을 통해 이런 장치나 프로세스들을 관리한다면 운영체제랑 무슨 차이가 있지 하는 의문이 들었다. 먼저 운영체제(OS)란 컴퓨터 시스템의 자원들을 효율적으로 관리하고, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공해주는 시스템이라고 할 수 있다. 혹은 H/W 와 S/W 를 연결해주는 중간다리라고도 생각할 수 있을 것 같다. 종류에 따라 win 처럼 Graphic 이 있는 OS도 있고 우분투처럼 cli 만 있는 OS도 존재한다. 이 외에도 cpu 스케쥴링, 주변 장치 관리, 메모리(자원 관리) 등 다양한 역할을 하고 있지만, 여기까지만 알아보도록 하고 그렇다면 대체 커널..
2022.05.18 -
좋은 코드란?
최근 블로그 글 쓰기에 소홀해서 '다시 열심히 써야지!'라고 생각을 하며 무엇에 대해서 쓸가 고민하다가 최근에 읽은 내용중에 아마 모든 개발자가 고민하는 "클린 코드" 란 무엇일까에 관해 작성해보려고 한다. 솔직히 나도 클린 코드 하면 뭐 중복이 없거나, 누가 봐도 코드를 이해할 수 있다거나, 신뢰성이 높은 코드 정도를 생각했다. 하지만 괜히 "클린 코드" 란 책이 있는 것이 아니라는 생각이 들 정도로 생각보다 더 고민할 것이 많았는데 글을 읽고 바뀐 내 생각을 정리해보려고 한다. 1. 읽기 쉬운 코드 = 클린 코드? 읽기 쉬운 코드는 누가 들어도 좋다고 생각이 될 것이다. 하지만 난 대상까지는 생각하지 못하였다. 이 읽기 쉽다는 대상은 어디까지 적용해야 될까. 지금은 코드 작성할 때 주석이나 내가 알아..
2022.05.17 -
프로세스와 스레드의 차이
저번 시간에 프로세스, 프로세서, 프로그램의 차이에 대해서 알아보았다. 그래서 저번에 알아본 김에 이번에도 들으면 살짝 헷갈리는 프로세스와 스레드의 차이에 대해서 알아보기로 하였다. 프로세스란 OS에게 자원을 할당받아 메모리에 적재되어 실행 중인 프로그램을 의미한다고 했다. 쓰레드란 프로세스 실행 단위이며 이러한 프로세스는 최소 한개 이상의 쓰레드로 구성될 수 있다. 조금 더 쉽게 설명하면 쓰레드란 프로세스 안에서 진행되는 하나의 흐름이며 멀티 쓰레드는 한 프로세스 안에서 여러 개의 흐름이 동시에 진행된다고 생각하면 된다. 주로 동시에 여러 개의 작업을 할 필요성이 있을 때, 멀티 프로세스보단 멀티 쓰레드로 구성하는 것이 구현이 더 쉬워서 이 방식을 채택한다고 한다. 멀티 쓰레드를 구현할 때는 임계 영역..
2022.04.18