$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

다수의 아두이노를 파이썬과 I2C로 제어하기 위한 무오류 통신 프로토콜 구현
Implementation of errorless protocol for controlling multiple Arduinos using python via I2C communication 원문보기

전기전자학회논문지 = Journal of IKEEE, v.21 no.3, 2017년, pp.227 - 233  

박장현 (Dept. of Electrical and Control Engineering, Mokpo National University) ,  김성환 (Dept. of Electrical and Control Engineering, Mokpo National University) ,  박태식 (Dept. of Electrical and Control Engineering, Mokpo National University)

초록
AI-Helper 아이콘AI-Helper

근래에 전 세계적으로 비전공자나 중등학생들에게도 코딩 교육이 폭넓게 이루어지고 있으며 파이썬(python)은 비전문가의 교육용으로도 널리 채택되고 있다. 그리고 아두이노(arduino)피지컬 컴퓨팅(physical computing)사물인터넷 용도로 사용되는 대중적인 하드웨어이지만 $C{^+^+}$ 언어로 제어되므로 비전문가가 초기에 진입하기에 어려움이 있다. 본 논문은 파이썬 언어와 I2C 통신으로 마스터(master) 기기에서 다수의 아두이노 기기들을 동시에 제어할 수 있는 무오류 프로토콜을 제안한다. 본 논문에서 구현된 프로토콜을 이용하면 다수의 아두이노를 파이썬으로 오류없이 제어할 수 있으므로 아두이노를 제어하는데 파이썬 프로그램의 장점을 활용할 수 있다.

Abstract AI-Helper 아이콘AI-Helper

Python language is widely used because of its ease of learning and its wide application range. Arduino, on the other hand, is also widely utilized hardware for physical computing and internet of things(IoT). However, Arduino is controlled by $C{^+^+}$ language, which makes it difficult fo...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 본 논문은 파이썬 명령어로 I2C 통신을 이용하여 마스터 기기에서 다수의 슬레이브 아두이노 기기들을 동시에 제어할 수 있는 무오류 프로토콜을 제안했다. 본 논문에서 제안하는 프로토콜을 이용하면 다수의 아두이노를 파이썬으로 통신 오류 없이 제어할 수 있으므로 아두이노와 파이썬 프로그램의 장점을 동시에 가질 수 있다.
  • 본 논문은 파이썬 명령어로 I2C 통신을 이용하여 마스터(master) 기기에서 슬레이브(slave) 아두이노 기기를 제어할 수 있는 무오류 통신 프로토콜을 제안한다. 시리얼 통신이나 SPI통신과 달리 I2C 통신은 그 특성상 다수의 슬레이브를 동시에 연결하여 제어할 수 있다.
  • 본 장에서는 파이썬으로 아두이노의 C++ 함수를 호출하기 위해서 무오류 통신 프로토콜 알고리듬을 제안한다. 마스터는 아두이노를 파이썬으로 제어하는 기기를 의미하며 본 논문에서는 라즈베리파이3를 사용하였으나 I2C 통신을 지원하는 리눅스 임베디드 보드라면 어느 것이나 사용할 수 있다.
  • h 라이브러리를 활용하여 프로그램이 제작되었다. 프로토콜을 설계하는 목적은 아두이노 내부에서 C++ 로 작성된 함수(function)를 마스터 기기에서 파이썬으로 호출하고 그 결과 값을 오류 없이 읽어오는 기능을 구현하는데 사용되는 통신 알고리즘에 적용하기 위함이다. 마스터가 요구하는 작업들은 표 1에 기술된 바와 같이 분류된다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
사물인터넷을 사용할 수 있는 하드웨어 플랫폼에는 무엇이 있는가? [1]-[3] 사물인터넷 기술이 주목받으면서 글로벌 기업들과 표준을 제정하는 국제기구 등에서 표준화와 관련 기술 개발이 활발히 이루어지고 있으며, 이러한 경향과 별개로 비전문가들을 포함한 개인들도 저가로 손쉽게 구현할 수 있는 다양한 하드웨어가 출시되었다. 그 중에서 가장 널리 사용되는 플랫폼으로 아두이노 (arduino)와 라즈베리 파이(raspberry pi)가 있다. 아두이노는 AVR 8비트 마이크로컨트롤러 기반의 제어 보드이고 그림 1에 예를 든 것과 같이 다양한 종류가 있다.
사물인터넷이란? 사물인터넷(Internet of Things, IoT)은 다수의 센서와 물리적 객체를 인터넷에 연결하는 중재자로 구성된 포괄적인 환경을 말한다.[1]-[3] 사물인터넷 기술이 주목받으면서 글로벌 기업들과 표준을 제정하는 국제기구 등에서 표준화와 관련 기술 개발이 활발히 이루어지고 있으며, 이러한 경향과 별개로 비전문가들을 포함한 개인들도 저가로 손쉽게 구현할 수 있는 다양한 하드웨어가 출시되었다.
아두이노의 단점은? 아두이노의 펌웨어는 C++ 언어를 이용하여 개발하는데 관련 라이브러리가 사용하기 용이하게 제작되어 무료로 배포되고 있어서 예술가 등 비전문가들도 널리 사용하고 있다. 단, C++언어의 특성상 초기의 학습 난이도가 높은 편이며 특히 아두이노를 이용하여 IoT 제품을 구현하기 위해서는 상대적으로 값비싼 하드웨어와 다소 복잡한 개발 과정을 거쳐야 한다. 이러한 단점에도 불구하고 다양한 아두이노 제어 프로그램이 오픈소스(open source)로 공개되어 있으며 이러한 인프라를 적절히 이용하는 것은 아두이노를 활용한 제품 개발에 있어서 무척 중요하다.
질의응답 정보가 도움이 되었나요?

참고문헌 (10)

  1. G. Gardasevic et. al., "The IoT Architectural Framework, Design Issues and Application Domains," Wireless Personal Communications, vol.92, no. 1, pp. 127-148, Jan. 2017. DOI : https://doi.org/10.1007/s11277-016-3842-3 

  2. C. G. Garcia, et. al., "A review about Smart Objects, Sensors, and Actuators," International Journal of Interactive Multimedia and Artificial Intelligence, vol. 4, no. 3, pp. 7-10, 2017. DOI : 10.9781/ijimai.2017.431 

  3. S. N. Srirama, "Mobile Web and cloud services enabling Internet of Things," CSI trans. on ICT, vol. 5, no. 1, pp. 109-117, 2016. DOI : https://doi.org/10.1007/s40012-016-0139-3 

  4. S. Papavlasopoulou, M.N. Giannakos, L. Jaccheri, "Empirical Studies on the Maker Movement, a Promising Approach to Learning: A Literature Review," Entertainment Computing, vol. 18, pp. 57-78, Jan. 2017. DOI : https://doi.org/10.1016/j.entcom.2016.09.002 

  5. Arudino organization, "ARDUINO," https://www.arduino.cc/ 

  6. MASON, Raina, et al. "Introductory Programming Courses in Australasia in 2016," in Proc. of the Nineteenth Australasian Computing Education Conference. ACM, 2017, pp. 81-89. DOI : 10.1145/3013499.3013512 

  7. J.-H. Park, S.-H. Kim, "Case Study on Utilizing Arduino in Programming Education of Engineering," J. IKEEE, vol. 19, no. 2, pp. 276-281, 2016. DOI : 10.7471/ikeee.2015.19.2.276 

  8. RaspberryPi Foundation, "RASPBERRY PI," https://www.raspberrypi.org 

  9. N. Petrov, et. al., "Example of Raspberry Pi usage in Internet of Things," in Proc. of Int. Conf. Applied Internet and Information, 2016, pp. 112-119. DOI : 10.20544/AIIT2016.15 

  10. J.-H. Park, "Ardpy", https://github.com/salesiopark/Ardpy 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

GOLD

오픈액세스 학술지에 출판된 논문

이 논문과 함께 이용한 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로