내장 Linux에 대한 Arduino 유형 연결 간소화를 제공하는 BeagleBone Black

작성자: 유럽 편집자

DigiKey 유럽 편집자 제공


Raspberry Pi는 출시 이후 지난 한 해 동안 전자 산업에 큰 공헌을 했습니다. 원래, 교육용으로 설계된 저가형 컴퓨터로 자리 잡은 이 제품은 전문 엔지니어를 위한 시제품 제작 및 평가 플랫폼으로서 주류 전자 업계 시장에 대한 호소의 폭을 빠르게 넓혔습니다. Pi는 기술 컴퓨팅용으로 사용될 뿐만 아니라 오랫동안 볼 수 없었던 대규모 전자 부품 애호가 및 동호인 지지자를 확보했습니다. Pi가 생성한 '버즈'의 경우 과거의 그 어떤 것과도 완전히 다른 개념이라고 생각하면 쉽습니다. 그러나 Arduino 같은 기판은 출시된 지 오래되었고 개발을 지원하는 웹 기반 프로그래밍 리소스의 강력한 커뮤니티를 통해 대규모 지지자를 보유하고 있습니다. 물론 이 두 개의 기판에는 기본적인 몇 가지 차이점이 있습니다. Arduino는 사용이 매우 간단한 통합 개발 환경(IDE) 이외에도 8비트 Atmel AVR 마이크로 컨트롤러를 사용하며 실제 응용 제품과 연결할 수 있는 적절한 IO를 제공합니다. Arduino는 C 언어 등을 사용하는 내장형 마이크로 컨트롤러 프로그래밍뿐만 아니라 기본 전자 부품을 학습할 수 있는 이상적인 기반을 제공합니다. 반대로 Raspberry Pi는 32비트 ARM® 기반 SoC를 사용하고 고수준 컴퓨팅 언어 및 운영 체제의 기본 사항을 교육하는 데 더 초점을 두어 왔습니다(예: 학교 과정 및 기타 고등 교육 기관에서의 Linux). Linux는 다양한 내장형 개발 기판에서 지원되며, 이를 통해 일반적인 8비트 기판에서 많은 이점을 제공합니다. 또한 실행 중인 여러 프로그램과 작업 사이에서 프로세서를 공유할 수 있는 기능을 제공합니다. Linux 기반의 한 예로 Texas Instruments 지원이 제공되는 진정한 오픈 소스 개발 기판인 BeagleBoard-XM을 들 수 있습니다. 그러나 큰 관심을 불러 일으킨 제품은 Texas Instruments에서 새롭게 개발된 Linux 개발 기판입니다. 2013년 4월에 출시된 BeagleBone Black은 Raspberry Pi의 주요 경쟁 제품으로 간주되고 있습니다. 이 제품은 Linux 컴퓨팅뿐만 아니라 실제 응용 제품과의 인터페이싱 및 상호 작용을 통해 기본 전자 부품을 학습할 수 있는 이상적인 플랫폼을 제공합니다. 원래 2011년 후반 출시된 BeagleBone 형식은 BeagleBoard-XM의 기능 대부분을 불과 신용 카드 크기의 패키지로 통합할 뿐만 아니라 '케이프' 라는 도터 기판 확장 모듈 계열을 위해 2개의 이중열 46핀 커넥터의 표준 실장 면적을 구축했습니다.. Arduino에서 사용된 '실드'와 비슷하게 '케이프'는 더 많은 고급 I/O를 추가할 수 있도록 다양한 플러그인 기판에 제공됩니다.

CircuitCo BeagleBone Black

그림 1: BeagleBone Black – 주요 부품 레이아웃.

Raspberry Pi 상의 720MHz 장치와 비교하여 BeagleBone Black은 1GHz(2000DMIPS)에서 실행되는 TI Sitara™ AM3359 ARM Cortex™-A8 마이크로 프로세서가 장착되어 있습니다. 가장 주목할 만한 사항은 Black의 경우 512MB의 DDR3(400MHz) 이외에 2GB의 기판 실장형 플래시 메모리를 사용한다는 것입니다. 마이크로 D형 HDMI 커넥터, 이더넷 및 USB 포트가 포함되어 있으며 단일 5VDC 공급으로 기판에 전력이 공급됩니다. 이 기판은 최대 전류 소비량이 250mA에 불과하므로 USB 전력 공급도 가능합니다.

소프트웨어 관점에서 Black은 소프트웨어 호스트가 사전 장착되어 제공되며 부트 준비가 완료되었습니다. 전원, HDMI, 이더넷 및 USB 키보드/마우스를 연결하기만 하면 기판이 Angstrom Linux 배포판을 부트하며 이후 Gnome 데스크톱이 표시됩니다. 부트 동안 4개 사용자 LED(USR0 ~ 3)가 플래시를 통해 활동을 표시합니다. Chromium, Firefox 및 Epiphany의 공급된 3개 브라우저 중 선택하여 단 몇 초 내에 인터넷을 서핑할 수 있습니다. Raspberry Pi에서 요구하는 대로 처음에 기판을 런업하기 전에 플래시 SD 카드를 추가하고 배포판을 다운로드할 필요가 없습니다. 대부분의 개발자 및 애호가의 경우 Angstrom Linux가 적합하지만 Black은 Cortex-A8 기반 장치에서 사용되는 ARM v7 아키텍처 덕분에 Ubuntu 또는 Android를 실행할 수도 있습니다. 개발 기판에서 Linux 사용의 또 다른 측면은 이더넷 인터페이스에서 제공되는 추가 연결입니다. 그러므로 FTP, SSH, Telnet 및 기타 원격 액세스 서비스를 사용하면 Black의 고유 웹 서버에 대한 연결 기능 이외에 연결 유연성을 제공할 수 있습니다.

CircuitCo BeagleBone Black 제품 구성도

그림 2: BeagleBone Black 제품 구성도. 

개발 도구의 관점에서도 Black은 모든 준비가 갖추어져 있습니다. Node.js를 실행하도록 사전 구성된 Cloud9 IDE의 로컬 복제와 함께 Python 인터프리터와 C/C++ 컴파일러가 사전 설치되어 있습니다. 또한 하드웨어와의 인터페이스를 위해 Arduino 같은 여러 기능을 제공하는, Node.js 기반의 Bonescript 라이브러리가 포함되어 있습니다. Arduino의 ‘digitalWrite’ 기능에 익숙한 독자는 Bonescript 내에 포함된 이러한 유사한 기능에 바로 마음이 편안해 짐을 느낄 것입니다. beagleboard.org 커뮤니티 리소스는 또한 예제 프로젝트, 유용한 포럼 및 하드웨어/소프트웨어 문서화의 유용한 보관소로 사용할 수 있습니다.

CircuitCo BeagleBone Black GPIO 핀아웃

그림 3: BeagleBone Black GPIO 핀아웃.

Black이 IT 교육에서의 사용과 기본 전자 부품을 학습하기 위한 이상적인 플랫폼인 이유는 이러한 도구와 포괄적인 GPIO 사용 능력 때문입니다. BeagleBone Black은 2개의 이중열 헤더 P8 및 P9를 통해 총 92개의 액세스 가능 핀을 사용합니다. Arduino 또는 Raspberry Pi에서 사용 가능한 GPIO를 매우 초과하는 이 헤더는 또한 확장 케이프와의 연결을 형성합니다. 이 핀은 IO 구성, 센서 판독, 게전기 작동 및 LED 구동에서 가능한 여러 다양한 구성을 제공할 수 있습니다. 여러 타사 제조업체에서 제공하는 케이프는 단순한 브레드 기판 영역에서 LCD 스크린 및 수중 차량 프로젝트 제어에 사용되는 포괄적 케이프까지 모든 것을 제공합니다. BeagleBone Black의 제조업체인 CircuitCo에서 제공하는 커뮤니티 사이트 beagebonecapes.com은 완전한 규격 준수 여부를 테스트하고 인증된 표준 케이프 목록을 유지 관리합니다. 기술적으로, GPIO 사용에서 충돌이 발생하지 않는 한 최대 4개의 케이프를 차곡차곡 적층할 수 있습니다. 또한 다양한 방법으로 GPIO를 설정하거나 다중화할 수 있습니다. 다양한 운영 체제에서, 서로 다른 모드를 사용하는 GPIO를 작동할 수도 있습니다. Angstrom Linux를 사용하는 기본 다중화 모드는 모드 7입니다. 특정 핀에 대한 Linux 신호 이름은 기판에 표시된 핀 번호와 동일하지 않습니다.

지금까지 이 GPIO를 실험할 수 있는 가장 간단한 방법은 Cloud9 IDE를 사용하는 것입니다. Cloud9는 부트 시 자동으로 시작하고 Black의 고유 웹 서버를 사용하여 액세스됩니다. Epiphany 브라우저가 표시되어 시작 시 자동으로 IDE를 찾지만 모든 브라우저에서 BeagleBone Black의 IP 주소의 포트 3000을 표시할 수 있습니다. Arduino IDE를 사용하는 것과 유사하지만, 기판에 코드를 업로드할 필요가 없다는 차이가 있습니다(코드가 파일 시스템 내에 자동으로 저장됨). Black의 고유 웹 서버는 Cloud9 IDE에 대한 액세스 권한과 기판에서 대화식으로 실행할 수 있는 몇몇 간단한 Bonescript 코드 예제를 포함하는 편리한 페이지 세트를 제공합니다..

Cloud9 통합 개발 환경

그림 4: Cloud9 통합 개발 환경.

내장용 응용 제품을 위한 대부분의 기존 IDE와 같이 Cloud9도 코드 편집, 확인, 디버그 및 테스트를 위한 작업 영역을 포함합니다. 코드 작성은 입력 동안 실행되는 변수 및 구문 확인을 포함하는 양방향 프로세스입니다. 디버그 프로세스는 중단점, 감시 변수 및 단일 단계 실행의 완전한 활용으로 Arduino보다 훨씬 정교합니다. Cloud9는 node.js JavaScript로 작성되고 Bonescript 라이브러리를 통합하는 여러 간단한 예제를 제공합니다. ‘blinked.js’ 코드 예제(그림 5 참조)는 사용자 LED 중 하나(USR3)를 토글합니다. 이는 LED와 풀업/전류 제한 저항기를 원하는 GPIO에 연결하고 ledPin의 할당을 적합한 GPIO를 변경함으로써 GPIO 핀 중 하나를 사용하도록 확장할 수 있습니다.P8_3. IDE의 입문 단계인 Cloud9는 짧은 코드 프로젝트를 작성하고 실행 및 디버깅하는 쉽고 빠른 방법을 제공합니다. LED를 켜고 끄는 동안 간단한 작업이 나타나는데 이는 특히 실제 세계를 처음 접하는 소프트웨어 개발자에게 기판에 익숙해지고 신뢰를 획득할 수 있는 중요한 첫 번째 단계입니다.

‘blinked.js’ 코드 예제

그림 5: ‘blinked.js’ 코드 예제.

node.js JavaScript의 사용은 BeagleBone Black을 프로그래밍하는 데 선호되는 방법으로 알려져 있습니다. 이는 분명히 프로그래밍 또는 높은 수준의 언어에 익숙하지 않은 사람들을 위한 쉬운 도입 단계 또는 신속한 시제품 제작과 함께 작동하는 방법으로 사용됩니다. 그러나 프로그래밍 경험이 더 있거나 보다 복잡한 설계를 요구하는 사용자를 위해 Python 및 C도 지원됩니다. Bonescript가 Arduino 유형 디지털 및 아날로그 IO 명령을 node.js에 추가하는 동일한 방식으로 Python 개발자의 경우 PyBBIO 라는 라이브러리를 사용할 수 있습니다.

GPIO는 또한 Linux 운영 체제에서 직접 처리할 수 있습니다. 이는 기판에서 직접 수행하거나 SSH를 통해 원격으로 연결하여 수행할 수 있습니다. 이를 수행하려면 먼저, 특정 GPIO 핀으로 식별할 수 있도록 올바른 Linux 신호 이름이 필요하고 두 번째로 Linux 명령 라인 레벨에서 작업하는 데 필요한 지식이 있어야 합니다. 각 GPIO 핀은 사용될 경우 /sys/class 상위 내에서 Linux 신호 이름으로 디렉토리 이름이 지정됩니다. 이 방법으로, 하나 이상의 케이프가 사용될 경우 가능한 신호/GPIO 충돌을 발견할 수 있습니다. 커넥터 P8 - 핀 16은 GPIO46으로 식별됩니다(그림 6 참조). 이 스크린 그랩에서, gpio46 디렉토리가 존재하지 않기 때문에 신호 사용이 가능함을 알 수 있습니다. 핀에 연결된 LED를 구동할 경우, 1-Linux 값 파일을 작성하여 0으로 켜거나 끌 수 있습니다. 사용 후에는 핀 사용을 삭제하기 위해 반드시 디렉토리 '내보내기 취소'를 수행하십시오. 이 셸 명령은 또한 Python 명령으로 통합할 수 있습니다.

GPOP 핀을 제어하기 위한 SSH를 통한 예제 명령

그림 6: GPOP 핀을 제어하기 위한 SSH를 통한 예제 명령.

잘 문서화된 오픈 소스 플랫폼을 사용하여 새로운 프로젝트의 속도를 가속화하려는 숙련된 개발자의 경우 또는 흥미거리를 찾는 전자 부품 애호가의 경우 BeagleBone Black은 설계의 기반이 되는 뛰어난 선택을 제공합니다.
 
DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

유럽 편집자

게시자 정보

DigiKey 유럽 편집자