티스토리 뷰

Arduino

[Netduino] 넷두이노 개발 환경 구성

생각많은 소심남 2012. 7. 17. 00:47

아두이노는 다들 많이 들어보셨을 겁니다. 그런데 넷두이노는 뭔가가 생소하고 우리나라에 하는 사람이 거의 없는 것처럼 보입니다. 실상 네이버에서 넷두이노를 처봐도 관련 정보가 많이 안나오고 있습니다. 저야 지난 포스트에서도 언급했다시피 아마존을 통한 직배송을 구했었고 할일이 많아서 늘어놓던 중에 그냥 한 글을 올리고자 합니다. 

 우선 넷두이노는 .NET Micro Framework가 내장된 ARM 프로세서를 기반으로 동작합니다. .net에서도 알 수 있듯이 ms에서 개발하고 대중에 오픈 소스로 공개한 프레임워크입니다. 그래서 아두이노가 스케치 툴로 코드를 작성했던 것과 달리 넷두이노는 Visual Studio를 통해서 개발할 수 있습니다. 무엇보다도 인텔리센스가 지원되서 사용자가 조금더 편리하게 코딩할 수 있다는 장점을 가집니다. 



사진에서도 알수 있다시피 ARM이란 문구가 딱 박혀있습니다. 제가 가지고 있는 기기는



넷두이노 베이직 버전입니다. 여기서 업그레이드 한 버전이 바로 Plus 인데 자체적으로 이더넷 커넥터와 MicroSD 슬롯이 내장되어 있어서 더욱더 발전된 형태를 띕니다. 그외로 부가적으로 Mini 버전도 있긴한데 그 부분은 넘어가기로 하겠습니다. 

 앞에서도 잠깐 언급했었지만 넷두이노는 Visual Studio를 통해서 개발할 수 있습니다. 아마 이글을 보시는 분이라면.. 특히 윈도쪽 개발자라면 Visual Studio는 다들 쓰시겠지요. 정안되면 c# Express 버전으로라도 설치를 하면 됩니다. 이제 다음으로 설치해야 되는 것이 바로 .net Framework입니다. 일단은 다음 사이트로 들어가서 Framework SDK를 받고 설치합니다.

http://www.netduino.com/downloads/MicroFrameworkSDK.msi

계속 진행하다보면 어떤 방식으로 설치하냐는 창이 뜨는데 Typical을 선택해줍니다.



자 이제는 당연히 개발을 위한 넷두이노 SDK를 설치해야 합니다. 역시 링크를 눌러서 그대로 다운 받으시면 됩니다.

http://www.netduino.com/downloads/netduinosdk_32bit.exe (32bit)

http://www.netduino.com/downloads/netduinosdk_64bit.exe (64bit) // v4.1.0


설치하다보면 드라이버 설치과정이 등장하는데 역시 통신을 하기위한 과정으로서 설치를 해줍니다. 

 환경 구성이 끝났습니다. 이제 Visual Studio를 들어가면 Visual c# 쪽에 전에 못보던 항목들이 생겨있습니다.



바로 아까 설치했던 Micro Framework 관련 템플릿 말입니다. 여기서 자신이 가지고 있는 디바이스에 맞춰서 프로젝트를 생성하도록 합니다. 간단한게 보드상에 있는 LED를 제어하는 코드를 구성해보도록 하겠습니다. 이름은 blink가 좋겠지요. 



보면 이 Program.cs 파일만 딸랑 있습니다. 기존에 제가 했던 내용들을 보면 막 xaml 코드니 App에 MainWindow가 구분되어있던 형태였는데 실제로 매우 간단합니다. 코드자체는 더 간단합니다. 여기서 다음과 같이 치면 됩니다.



여러분 이게 인텔리센스의 위력입니다. 그냥 엔터만 치면 코드가 짜집니다. 물론 기초 틀은 개개인이 구성하셔야겠지요. 마저 채우겠습니다. 


지금 위와 같이 구성한건 기존의 아두이노의 setup에서 하던 역할이었습니다. setup에서 해당 핀에 대한 정의가 이뤄졌었는데 넷두이노에서는 구조상 구분지을 필요가 없어졌습니다. 이제 led라는 변수는 초기상태가 꺼져있는 OnBoard_LED로 정의되었습니다. 이제 계속 끄게 하면 되는데 이 구조는 아두이노와 동일합니다.



역시 직관적인 코드입니다. 그냥 켰다가 끄는 방식인데, 약간 신기한건 딜레이를 주는데 있어서 Thread를 사용한다는 겁니다. 나머지야 그냥 같습니다. 참고로 Sleep의 단위는 ms입니다. 그래서 위와 같은 경우는 250ms의 딜레이를 주는 셈이 되는 것이지요. 

 이제 코드를 짰으니까 넷두이노에 집어넣을 차례입니다. 그런데 사실 이 과정이 조금 복잡합니다. 우선은 프로젝트의 속성파트로 들어가면 좌측에 .net micro framework라는 탭이 있습니다.



여기서 이제 집어넣을 설정을 정의해줘야 하는데 우리는 전용 emulator를 사용할 것이 아니기에 usb로 바꾸는 과정을 거쳐야 합니다. 



지금은 Device가 None으로 정의되어있습니다. 이 상태에서 기존에 제공된 usb 케이블(아마 a형 usb가 아니었나 싶습니다.)을 연결하면 당연히도 넷두이노 드라이버가 설치됩니다. 



이와 동시에 Device 항목도 갱신이 됩니다. 여기까지만 확인을 해줍시다.



이제 딱 f5키만 눌러봅시다! 결과가 나올겁니다.



간단한 LED 제어를 통한 환경 구축을 시도해봤습니다.처음으로 느낀건 참 쉽다는 겁니다. c++처럼 라이브러리를 일일이 들여다볼 필요가 줄어들었고 무엇보다도 프로그램의 도움을 많이 받을 수 있다는 점이지요. 

댓글