본문 바로가기

사물인터넷(Internet of things, IoT)15

728x90
반응형
5. 쿼드콥터를 조립하자 본 글은 2015년 12월 4일 8시 1분에 썼던 글이며 블로그 자료 이전으로 날짜만 갱신된 글입니다. 멀티위 컨트롤러에 멀티위를 업로드 하였다면 이제 쿼드콥터를 조립해야한다. 쿼드콥터를 조립할 때는 각 부품이 소비하는 전력과 발생하는 열을 고려해서 조립해야한다. 우리가 구매했던 부품들은 이런 것이 다 고려되어 있는 것들이다. 하지만 우리도 예상 못한 것이 있었는데 전원부 단자와 배터리의 단자가 완전히 다른 것 문제가 있었다. 분명히 주문은 제대로 했는데 말이다. 그래서 급한 나머지 우리는 구미의 전자상가와 공구상가를 들러서 단자들을 찾아보았으나 그 어느 곳에도 없었다. 가게 주인 말로는 이 단자는 수요가 거의 없기 때문에 사놓지를 않는다고 한다. RC샵에가서 찾으면 금방일텐데 하필 구미에 RC샵이 없을.. 2022. 9. 26.
이더넷(w5500)과 PoE가 내장되어 있는 아두이노 DFR0342 보안으로 인해 무선 통신을 사용할 수 없는 곳이 꽤 많다. 그래서 IoT(Interent of Thing) 장비가 유선 통신 기반으로 작동하는 것을 요구하는 기관과 업체가 상당히 많은데 그런 제품의 프로토타입을 빠르게 개발하는 방법 중 하나가 아두이노(Arduino)를 활용하는 것이다. 최근 추세는 모든 단말에 IP(Internet Protocol)를 올려서 통신하는 것이 유행이며 이를 통해 센서가 서버로 데이터를 송신하는 것이 대세이다. IP를 지원하는 가장 쉬운 방법은 이더넷(Ethernet) 모듈을 아두이노에 연결하여 사용하는 것이다. 또한 간편한 설치 및 배포를 하기 위해서는 최대한 설치를 위한 공사량을 줄이는 것인데 이더넷 선과 전력 선 두 가지를 사용하는 것 보다는 이더넷 선에 파워까지 연결하.. 2020. 12. 6.
4. 멀티위 컨트롤러에 멀티위를 업로드하자 본 글은 2015년 12월 3일 7시 26분에 썼던 글이며 블로그 자료 이전으로 날짜만 갱신된 글입니다. 멀티위 컨트롤러와 PC간에 시리얼통신이 잘 되는 지 확인을 했다면 이제 멀티위 컨트롤러에 멀티위를 업로드해야한다. 먼저 멀티위 프로젝트 사이트에 가서 멀티위를 다운 받는다. 멀티위 다운로드 : https://code.google.com/p/multiwii/ 구글 프로젝트에 있는 멀티위 사이트에 가서 2.4버전을 클릭해서 다운받는다. 다운 받은 압축파일을 압축해제하면 루트에 아래와 같이 있다. 멀티위 소스가 있는 Multiwii 폴더와 멀티위의 상태를 모니터링하고 각종 설정을 할 수 있는 프로그램이 있는 MultiwiiConf 폴더가 있다. 멀티위 소스를 아두이노 IDE에서 열어서 수정이 필요한 부분을.. 2020. 11. 22.
3. 멀티위 컨트롤러와 PC를 연결해서 통신이 가능한 지 확인하자 본 글은 2015년 12월 2일 17시 50분에 썼던 글이며 블로그 자료 이전으로 날짜만 갱신된 글입니다. 'CRIUS MWC MultiWii SE v2.5 멀티위 비행 제어보드 멀티콥터용 컨트롤러 ATMEGA 328P'에 멀티위 소스를 올리기 전에 멀티위 컨트롤러와 PC와 통신이 잘 되는지 확인해야한다. ※ 멀티위(www.multiwii.com)는 멀티로터 RC를 제어하기 위한 범용소프트웨어이다. 다시 말해 여러개의 날개가 달린 RC들을 제어할 수 있는 소프트웨어라는 말로 날개가 세 개인 트라이콥터부터 여덟개인 옥토콥터까지 다양하게 지원한다. 즉, 코딩하나 없이 쿼드콥터에 오픈소스 소트프웨어를 올리면 날릴 수 있다는 것이다. 멀티콥터에 대해 자세한 것은 펠콘샵을 참조(http://www.falconsh.. 2020. 11. 22.
CCS(Code Composer Studio)로 CC3200 개발환경 구성하기 본 글은 2016년 4월 14일 11시 46분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. CCS(Code Composer Studio) v6로 개발환경을 구성하는 과정이다. Windows7 64비트 환경에서 수행하였고 앞으로의 글에서도 Windows7 64비트 환경과 CCS v6를 가정하고 쓴다. 다른 OS에서는 이 글 처럼 안 될 수도 있다는 점을 밝힌다. 1. RedBearLab CC3200과 PC를 USB를 연결한다. 장치관리자에서 기타 장치로 드라이버가 안 잡혀있는 것을 확인할 수 있다. 2. mbedWinSerial_16466 드라이버를 설치한다. 다운로드 : https://developer.mbed.org/media/downloads/drivers/mbedWinSe.. 2020. 10. 28.
CC3200 와이파이 연결이 안 될때 본 글은 2016년 4월 18일 21시 51분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. RedBearLab의 CC3200이 와이파이 연결이 안 되는 이유는 코드 문제일 수도 있지만 코드 문제가 없다면 AP의 와이파이 채널을 바꿔보는 것도 한 방법이다. 나의 경우 정상적으로 와이파이에 잘 연결되다가 어느 날 부터 연결이 되지 않았는데 AP가 재시작하면서 채널을 변경해서 생긴 문제였다. 경험자에게는 너무나 당연한 이야기일 수도 있으나 이런 경우가 처음인 나에게는 굉장히 황당한 경우였다. 문제가 발생한 환경은 아래와 같다. AP : A5004NS v9.93.2 채널 12 1번~12번채널까지 수십개의 AP가 있는 매우 혼잡한 환경 CCS의 예제도 마찬가지이고 Energia에 있는 .. 2020. 10. 14.
RTSC(Real Time Software Components)란? 본 글은 2016년 4월 11일 0시 11분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. RTSC(Real Time Software Components)는 임베디드 시스템의 컴포넌트 기반 개발을 위해 기초 툴과 로우 레벨 런타임 콘텐츠를 제공하며 모든 임베디드 플랫폼에서 C언어로 사용하는 목표로 한다. 임베디드 시스템에는 기존의 다른 컴포넌트 기술이 있지만 RTSC는 DSP들과 16비트 마이크로컨트롤러 같은 리소스 제약이 심한 환경에서 사용이 가능하다는 것에서 차별점이 있다. 현재 RTSC 프로젝트는 TI(Texas Instruments)가 제공하는 XDCtools로 개발이 가능하다. XDCtools는 무료로 다운로드 받을 수 있다. RTSC는 이클립스의 인큐베이션 프로젝에 있.. 2020. 10. 14.
RedBearLab CC3200의 개발환경 소개 본 글은 2016년 4월 14일 11시 38분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. RedBearLab CC3200의 개발환경은 크게 두 가지 분류가 있다. 하나는 Energia이고 다른 하나는 CCS(Code Composer Studio)이다. 이 두 개의 환경은 관련 개발의 지식과 숙련도, 개발특징 및 기간에 따라서 선택하는 것이 좋다. Energia는 Arduino와 비슷한 형태의 IDE로써 Arduino를 접해본 적이 있다면 어렵지 않게 금방 CC3200 개발이 가능하다. Energia의 라이브러리와 예제는 CCS보다 풍부한 편이고 쉽고 빠른 개발에 초점이 맞춰져 있어서 프로토타입이나 데모버전 개발에 쓰면 꽤나 괜찮다. 아무래도 Energia로 개발하는 것이 속도.. 2020. 10. 14.
저장소 변경으로 라즈베리파이의 업데이트 속도를 빠르게 해보자 요약 라즈베리파이 저장소 미러 사이트에 가서 저장소 목록 확인 /etc/apt/sources.list 파일의 저장소 목록을 수정 저장소를 변경하는 이유 난 하드웨어와 소프트웨어는 순정 상태로 쓰는 것을 좋아한다. 그래서 어지간하면 기본 세팅되어 있는 저장소를 그대로 쓰고 싶은데 라즈베리파이의 경우 기본 저장소가 너무 느려서 개발 환경 세팅을 하는데 시간이 너무 오래 걸린다. 그래서 난 라즈베리파이를 세팅할 때 저장소를 한국에 있는 라즈베리파이 저장소 미러로 변경한다. 저장소 정보 확인 sudo vi /etc/apt/sources.list 먼저 /etc/apt/ 에 위치한 sources.list 파일을 열어본다. 파일을 보면 위와 같이 저장소 목록이 설정되어 있는 것을 확인할 수 있다. 빠를 것 같은 미러.. 2020. 10. 13.
라즈베리파이에서 BLE Advertising channel을 설정해보자 본 글은 2017년 6월 23일 22시 34분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. Bluetooth Low Energy의 Advertising Channel 위의 사진과 같이 BLE(Bluetooth Low Energy)는 37번, 38번, 39번 채널에다가 Advertising을 할 수 있다. 하지만 기본설정으로는 3개의 채널을 번갈아가면서 Advertising하는 동작을 수행하기에 실험때문에 라즈베리파이의 블루투스의 Advertising 채널(channel)을 고정해야할 필요가 있어서 조사해보았다. 애플(Apple)의 BLE Advertising Channel ※ 참고: 현재 구글의 안드로이드나 애플의 iOS는 3개의 채널을 번갈아가면서 Advertising하는 동.. 2020. 10. 11.
라즈베리파이로 블루투스 비컨을 Advertising 해보자 본 글은 2017년 6월 23일 23시 36분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. 라즈베리파이의 블루투스 라즈베리파이3에는 블루투스 모듈이 내장되어 있으며 Bluetooth 4.1 Classic과 BLE(Bluetooth Low Energy)를 지원한다. 이 중 BLE는 연결을 수립하지 않고 데이터를 넣어 패킷을 보내는 Advertising을 수행할 수 있으며 라즈베리파이3에서 쉽게 사용할 수 있다. 이 때 사용하는 패킷을 비컨(Beacon)이라 부른다. Advertising을 통해 iBeacon과 같은 기능을 라즈베리파이3가 수행할 수 있다. 본 글에서는 라즈베리파이3가 iBeacon을 수행하도록 설정하는 것을 다룬다. ※ iBeacon이란 애플이 등록한 상표로써 자.. 2020. 10. 11.
IoTivity에서 no oc_logger 에러가 발생할 때 해결법 본 글은 2017년 12월 13일 00시 48분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. 세미나 때문에 오랜 만에 IoTivity를 할 일이 생겼다. 그런데 라즈베리파이에서 IoTivity 예제를 실행하니 다음과 같은 오류가 떠서 서버 프로그램이 실행되지 않았다. 에러는 'no oc_logger in java.library.path' 이다. 말 그대로 라이브러리 경로에서 oc_logger가 없다는 건데 내가 예전에 환경 변수 설정을 잘 못 해둬서 나는 거였다. 환경 변수 설정을 다시 해주면 된다. 나의 경우 문제가 있던 환경 변수가 다음과 같았다. export JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt export LD_LIB.. 2020. 10. 4.
2. 멀티위 쿼드콥터 부품 주문 본 글은 2015년 4월 5일 13시 14분에 썼던 글이며 블로그 자료 이전으로 날짜만 갱신된 글입니다. 항상 소프트웨어 개발만 했었기에 그렇게 많은 부품이 필요없었다. 하지만 이번에는 하드웨어도 다루기 때문에 내가 역대 진행했던 프로젝트 중에서 주문하는 부품 갯수가 가장 많은 프로젝트가 될 것 같다. 지난 번에 언급한 주제 두 가지 중에 RF통신을 활용한 쿼드콥터 제어와 실시간 영상 송수신을 통한 FPV(First Person View) 레이싱을 개발할 수 있도록 재료를 주문하였다. 1. Argonaut AQ320 premiere FPV kit - 320 미니쿼드 (전원보드, BEC 내장형) 쿼드콥터의 몸체가 되는 재료이다. 전원보드가 있어서 별도의 BEC 구입이 필요없다. BEC(Battery Eli.. 2019. 7. 18.
1. 캡스톤디자인의 주제로 쿼드콥터를 제작하게 되었다. 본 글은 2015년 4월 4일 14시 33분에 썼던 글이며 블로그 자료 이전으로 날짜만 갱신된 글입니다. 이번 학기 캡스톤디자인 주제로 쿼드콥터를 제작하게 되었다. 캡스톤 멤버이신 분과 근처 회사원이신 형님, 다른 프로젝트 건으로 합류하신 형님으로 총 4명이서 개발한다. 기왕하는 김에 진행과정과 코드 전체를 문서로 작성하여 온라인에 공개하고 작성한 문서는 모아서 전자책까지 쓰는 것을 목표로한다. 저작권은 우리에게 있지만 모든 것은 무료로 배포된다. 쿼드콥터는 한 가지 또는 두 가지 방향으로 개발이 될 것 같다. 1. 블루투스와 좌표를 이용한 쿼드콥터 자동제어 사업단간의 이해관계 문제로 정해져 있는 주제다. 스마트폰에서 쿼드콥터를 블루투스 통신으로 제어한다는 것인데 실유효거리가 10m 밖에 안 되기 때문에.. 2019. 7. 13.
IoTivity의 예제를 라즈베리파이와 안드로이드에 실행시켜보았다. 본 글은 2017년 7월 27일 17시 18분에 썼던 글이며 블로그 자료 이전으로 날짜만 갱신된 글입니다. 운영체제와 네트워크 인터페이스와 무관하게 어플리케이션에게 장치간 연결성을 제공하는 솔루션 중 하나가 IoTivity이다. IoTivity는 어플리케이션을 개발하기 용이하도록 프레임워크를 제공한다. 최근에 내가 IoTivity를 활용한 개발이 어느 정도 가능한 지를 확인하는 일을 맡게 되어서 진행 중인데 버전별로 메뉴얼도 충분하지 않고 빌드 시간도 너무 길어서 아주 시간을 많이 허비했다. 하지만 그나마 IoTivity가 경쟁 솔루션 대비 잘 정리되어 있는 것이고 그나마 국제적으로 강력한 지원을 받고 있는 플랫폼이라는 것에 위안을 삼아 진행하고 있다. 꾸역꾸역 빌드를 하고 안드로이드에 예제 앱을 올려서.. 2019. 3. 25.