IoT가 부각되면서 mqtt를 이용하는 센서/어플리케이션이 늘어나고 있다. mqtt는 TCP/IP를 기반으로 하고 있는 프로토콜로 설정 및 사용이 정말 간단하다. TCP/IP 통신을 짤 때마다 프로토콜 설계가 꽤나 귀찮았는데 mqtt를 사용하면 굉장히 편해진다. 사실 1:1 통신이라면 프로토콜 설계 없이 그냥 TCP/IP를 써서 메세지를 주고 받아도 잘 될 것이다. mqtt는 기본적으로 N:N 통신을 할 때 유용한 프로토콜이다. (예를 들면 다양한 센서로부터 값을 수신하여 업로드해야 할때) 더불어 Topic이라는게 존재하여 내가 원하지 않는 데이터는 필터링 할 수 있다. 위 그림에서 알 수 있듯이 mqtt는 기본적으로 서버(브로커)와 publisher, subscriber가 필요하다. 서버는 내가 만들어..
GPS를 이용해본 사람이라면 다들 알고 있겠지만 대다수의 GPS가 UART를 이용하고 NMEA라는 통신 프로토콜을 사용한다. 대부분의 GPS 수신기가 같은 통신 프로토콜을 사용하기때문에 GPS 프로그램은 한번 짜두면 두고두고 쓸 수 있다. 사실 가장 쉬운 방법은 gpgga로 시작하는 문자열을 따서 ','를 기준자로 자른다음에 위도,경도, 고도를 뽑아내면 된다. GPGGA Global Positioning System Fix Data라고 한다. 여기에서 주로 알 수 있는 것은 시간, 위도, 경도, 고도 등이다. 다음은 위키에서 발췌한 내용인데 이를 참고해서 parsing 하면 쉽게 구할 수 있다. $GPGGA,114455.532,3735.0079,N,12701.6446,E,1,03,7.9,48.8,M,19..
로봇에 사용될 거리센서가 초음파 센서로 정해졌다. 초음파 센서는 적외선을 사용하는 타입에 비해 직진성은 떨어지지만 작동 범위가 넓고 실외에서도 잘 작동한다는 장점을 가진다. 1~2천원대의 초음파 센서도 있지만 다수의 센서를 사용할때 배선이 많아진다. 다수의 센서를 동시에 이용할때는 1:N 통신이 가능한 485나 i2c가 사용된다. 485나 232와같은 비동기 통신과 spi/i2c와 같은 동기 통신의 차이는 clock을 내보내는 선이 있느냐 없느냐이다. 비동기 통신의 경우 clk선이 없기때문에 배선은 하나 줄어들지만 통신속도(baud)를 변경할 때 master와 slave 둘다 설정을 변경해줘야한다. 반명 동기 통신의 경우 배선이 하나 늘어나지만 통신속도의 설정은 master쪽에서만 해주면된다. SRF-0..
당연한 이야기이지만 라즈베리에는 타이머 인터럽트가 존재하지 않는다. 물론 타이머 인터럽트를 복잡하게 짜는 건 여러가지 방법이 있으나 그 중 쉬운 예를 두가지 들어보겠다. 가장 쉬운건 다들 알겠지만 delay나 sleep함수를 쓰는것이다. while(1) { digitalWrite(LED1,1); digitalWrite(LED2,0); delay(1); digitalWrite(LED1,0); digitalWrite(LED2,1); delay(1); } 간단하게 1ms동안 led를 켰다가 1ms동안 led를 켜면서 500Hz로 동작하는 코드이다. 이런 코드는 구현하기는 정말 간단하지만 제어주기가 정확하지 않다는 단점이 있다. 실제로 위코드는 led 한개를 켜고 끄는 시간이 2ms에 더해지게 된다. 이를 방지..
최근에 의뢰가 들어와서 라즈베리파이 제로를 써서 작업중이다. 한국에는 의외로 제대로 된 소스가 없어서 혹시 도움이 될까 해서 몇가지 정리해서 올릴 예정이다. 우선 라즈베리파이 제로가 생소한 사람들을 위해 간단히 소개를 해보겠다. 라즈베리 파이 제로는 크기가 65mm x 30mm x 5mm로 라즈베리 시리즈 중 크기가 가장 작다. 물론 이를 위해 많은 것을 희생해야 했다. 1GHz, Single-core CPU512MB RAMMini-HDMI portMicro-USB OTG portMicro-USB powerHAT-compatible 40-pin headerComposite video and reset headersCSI camera connector (v1.3 only)제로는 2B보다 늦게 나왔음에도 싱..
- Total
- Today
- Yesterday
- WiFi
- RaspberryPi
- 라즈베리 파이
- 알레한드로
- 비전
- RTSP
- ti
- NMEA
- 영화
- 모듈
- 라즈베리파이
- 소나 센서
- 무선
- dsp
- Raspberry Pi
- 복구
- vectornav
- pi
- 개발
- opencv
- 벽돌복구
- 통신
- Raspberry
- 파이
- 카메라
- 라즈베리
- C++
- vn-200
- GPS
- G2
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |