A10 내장 nand에도 리눅스 설치가 가능했습니다.

A10 내장 nand에도 리눅스 설치가 가능했습니다.

 

 

마스보드 내장  nand에 리눅스 설치하기

 


A10 에서도 내장 안드로이드 대신에 리눅스 설치가 가능합니다.

 


먼저 sd-card 에 cubian을 설치했습니다.(제가 쓴 지난 글 참조 http://cafe.naver.com/ohboard/19)

 


cubian설치후 cubian-nandinstall을 받습니다.

 

 

 

-----------------------------------------

apt-get install cubian-nandinstall

sudo cubian-nandinstall

 


-----------------------------------------

 


명령을 치면 몇가지 확인사항이 나오면서 nand install 이 진행됩니다.

 


이후 리부팅을 하라고 하는데 리부팅후 다시 sudo cubian-nandinstall 을 치면

 


sd-card의 내용이 nand로 복사되어 인스톨이 끝납니다.

 


그런데 몇가지 버그가 있습니다.

 

 

A20 에서는 nandc 였는데 A10 에서는 대신에 nandb 가 부팅 파티션이 됩니다.

 


nand로 인스톨 된 후 nand파티션의 nandb 파티션이 루트파티션이 되는데 이것을 제대로 못잡아서 부팅이 안됩니다.

 


그래서 sd-card에서 nand로 복사가 끝난후 다음의 명령으로 루트 파티션을 nandb 로 고쳐야 nand로 부팅이 됩니다.

 


sudo mount /dev/nandc -t ext4 /mnt

sudo nano /mnt/boot/uEnv.txt

 


이렇게 하면 nand 안에있는 uEnv.txt가 열립니다.

 

 

 

여기에서 root=/dev/mmcblk0p1 로 되어있는것을 root=/dev/nandb 로 바꾸어 주고

 


sudo shutdown now -hP 로 종료한뒤

 


sd-card를 제거하고 부팅하면 NAND로 부팅이 됨을 확인할 수 있습니다.

 


이후 내장 nand의 리눅스 사용은 a10 이나 a20 이나 동일합니다.

 


필요한분들을 위해서 spl과 u-boot.img 를 첨부합니다.


 

MarsBoard (A10) 용 BerryBoot 설치

 

MarsBoard (A10) 용 BerryBoot 설치

 

※ 본게시글은 개인 블로그 (http://lifeseed.tistory.com/82) 에서 작성되었습니다.

 

RaspberryPi용으로 개발된 BerryBoot가 A10용으로 배포되어 Marsboard-A10에도 설치가 가능하다.

 

Marsboard의 기본 Android로 부팅하여 BerryBoot에서 제공하는 BerryBoot.apk를 설치함으로써 손쉽게 BerryBoot를 설치할 수 있다.

 

관련 내용은 http://www.berryterminal.com/doku.php/berryboot_a10 를 참조하자.

 

 

0. 준비물

- Format된 Micro SD카드

- USB 키보드 및 마우스

- Marsboard-A10

- Full-HD지원 HDMI입력가능한 Monitor

 

1. BerryBoot의 설치

1) Android의 App에서 설치

- Nand로 부팅하여 Android를 실행한다.

- Web Browser를 실행하여 http://get.berryboot.com/ 에 접속 BerryBoot.apk를 다운로드 받는다.

 

 - FileBrowser >  Local Memory > download 에 다운로드 된  BerryBoot.apk를 더블클릭하여 설치한다.

 - Format된 SD카드를 삽입한다.

- Application > 설치된 BerryBoot를 실행 > Default 상태에서 Write to Image를 클릭한다.

 - 설치가 완료되면 All done! Reboot now?라는 창이 뜨고 yes를 입력시 시스템이 리셋되면서 BerryBoot가 실행된다.

 2) PC에서 SD카드로 Manual 설치

- http://www.berryterminal.com/doku.php/berryboot_a10 에 접속하여 큐비보드 1G Model을 다운로드 받는다.

다운로드 Link : http://sourceforge.net/projects/berryboot/files/berryboot-cubieboard-beta6.zip/download

 

- dd 혹은 win32 disk imager를 이용하여 다운받은 berryboot.img를 writing한다.

 

- Android App의 경우 설치후 부팅이 되었으나, SD카드용 image는 부팅이 되지 않았다.

따라서 Lubuntu 설치시 사용하였던 marsboard a10용으로 build된 spl 및 uboot 를 재 설치 하였다.

(http://cafe.naver.com/ohboard/92)

  :: spl 설치

$ sudo dd if=spl/sunxi-spl.bin of=/dev/sdX bs=1024 seek=8

  :: uboot 설치

$ dd if=u-boot.img of=/dev/sdX bs=1024 seek=40


 

- 이 후 재부팅시 BerryBoot가 실행된다.

 

2. BerryBoot 실행

- 처음 BerryBoot실행시 welcome화면과 함께 Overscan, Network Connection및 Locale 설정등을

 - 삽입된 SD카드를 Format할건지 물어본다. Default상태에서 SD card만 선택하고 Format을 누른다.  

  Format이 완료되면 BerryBoot를 upgrade하라는 화면이 나온다. Yes를 눌러 Upgade를 진행하자.

Upgrade가 완료후 재부팅한다.

 - BerryBoot를 진이하면 Config Editor를 비롯하여 Control Menu들을 사용할 수있다.

 - 아래는 Marsboard A10 용 BerryBoot에서 지원되는 Linux Package List이다.

Linaro Ubuntu Desktop, Linaro Ubuntu Server, Fedora ARM을 비롯하여 다양한 Linux를 지원하고 있다.

 

3. Linaro Ubuntu Desktop 설치

- BerryBoot가 실행되면 Add를 눌러

Linaro Ubutu ALIP 2012.11 : ubuntu LXDE desktop with Chromium

를 설치한다.

 

 - Download가 완료되면 List가 등록된다.
- Linaro Ubuntu List를 클릭하고 Set Default를 눌러서 Default Image로 등록한다.  물론 Add OS를 눌러 추가 image 설치도 가능하다.

 - 시스템을 재부팅하면 10초뒤 Default Image로 부팅된다. Edit Menu를 눌러 BerryBoot Menu로 진입할 수도 있다.

 

- Chromium Web Browser를 실행한 화면이다.

 

 

설치된 Linaro Desktop의  UserID 및 Password는 linaro / linaro 이며, 부팅시 자동 로그인된다.

 

 

마스보드 개발환경, SDK 컴파일, NAND로 굽기, GPIO 사용 해보기 사용기 입니다.

 

마스보드 개발환경, SDK 컴파일, NAND로 굽기, GPIO 사용 해보기 사용기 입니다.

 

 

오늘까지 GPIO 제어중 마스보드에 있는 LED를 컨트롤 해봤습니다.

컨트롤 방법은 셀 스크립로 해봤고 안드로이드 앱 만들어 제어도 해봤습니다..

 

자세한 내용은 첨부 자료를 확인 해 보시기 바랍니다.

 

이상

마스보드 개발환경, SDK 컴파일, NAND로 굽기, GPIO 사용 해보기 사용기 입니다.

 

 

 

 

[A10]Marsboard 에 배포한 Lubuntu 12.04 설치하기

 

[A10]Marsboard 에 배포한 Lubuntu 12.04 설치하기

 

 

※ 본게시글은 개인 블로그 (http://lifeseed.tistory.com/72) 에서 작성되었습니다.

 

0. 시작하기

Marsboard는 Cubieboard가 아니다. 따라서 Marsboard용 부트로더가 탑재되어야 하나 공식홈페이지에 배포되는 부트로더는 Marsboard용 부트로더가 아닌듯하다. 해서 네이버 카페 고명호님의 A20 에 cubian 올렸습니다. (오픈 H/W 마스보드&비글본블랙 사용자 Cafe) 글을 참조하여 부트로더를 빌드하여 탑재하여서 부팅을 완료하였다.

 

1. 준비물

1) 공식 배포 Lubuntu 12.04 v4 이미지

lubuntu-desktop-12.2.04-4-720p-marsboard.img.7z  (http://www.marsboard.com에서 다운로드 가능하다.)

 

2) Marsboard용 부트로더

첨부파일 (sunxi-spl.bin, u-boot.img)

 

 


2. 설치

1) lubuntu-desktop 설치

다운로드 받은 이미지를 7zip으로 압축을 푼 후 win32diskimager를 이용하여 SD카드에 Writing한다.

Linux Machine에서 실행할 경우 dd명령을 이용하여 설치하여도 된다.

 

2) 부트로더 설치
부트로더는 리눅스에서 설치하여야 한다.

sunxi-spl.bin 과 u-boot.img 두 파일을 설치하여야 하며 아래의 명령으로 간단히 설치가 된다

 

- spl 설치

$ sudo dd if=spl/sunxi-spl.bin of=/dev/sdX bs=1024 seek=8

- uboot 설치

$ dd if=u-boot.img of=/dev/sdX bs=1024 seek=40


 

3. 실행

SD카드를 삽입하고 전원을 켜면 잠시뒤 HDMI를 통하여 우분투 데스크 탑의 로그인 화면을 볼 수 있다.

Default User ID및 Password는 둘다 marsboard이다.

(marsboard/marsboard)

로그인 후 sudo passwd 명령을 이용하여 관리자 권한 접근을 위한 password를 생성하고 각자 필요한 일들을 하면된다.

 

cf) Network의 경우 /etc/network/interface 의 설정이 아닌 Network 설정 Application을 통하여 동작한다.

필요한 경우 Application을 실행하여 해당 설정을 지우고, /etc/network/interface 설정을 진행하면 된다.

그외 기본적인 설정은 본인 블로그에 작성된 Marsboard Debian Server 시스템 기본 설정 (http://lifeseed.tistory.com/52) 을 참조하자.

[A10]UART Debug Message 확인하기

[A10]UART Debug Message 확인하기

 

 

아래글은 debian server image를 writing 하는 방법에 대해 제 블로그에 남긴 게시물의 내용과 동일합니다.

(http://lifeseed.tistory.com/49)

 

※ 아래의 내용은 직접 작성한 내용이며, 경어를 사용하지 않았습니다.

읽으시는동안 불편하시더라도 이해 부탁드립니다.

그리고 테스트를 위한 보드는 ICBanQ에서 제공되었으며, 체험단활동의 일환으로 본 게시물이 작성되었음을 알립니다

 

MarsBoard 회로도를 보면 P2라는 Connect에 UART0 Pin이 존재한다.

63, 64 번이 각각 VCC, GND 핀이며, 65, 66번이 각각 Rx, Tx 핀이다.

아래 핀을 연결하여 부팅시 혹은 부팅 후 로그 메세지들을 확인할 수 있다.

 

 

 아래는 연결선을 직접 포트에 납땝한 그림이다.

연결선은 각각 핀에 삽입할 수 있는 것으로 구성하여, 다른 보드 혹은 UART PORT에 직접 삽입하여 연결할 수 있도록 구성하였다.  (아래사진에서 붉은선 : Tx, 검은선 : GND)

왜 이짓을 했느냐???

쩝... marsboard.com의 download 페이지에 있는 이미지 조차도 부팅이 안되는 현상이 발생하여, 도대체 무슨 문제인가 싶어 연결해보았더니.. 쩝.. 부팅 중 커널 페닉.. 혹은 Opps 라는 메세지를 가진 에러들이 부팅시 마다 다르게 나타났다.

 

결국 내가 가진 보드에서는 SD카드용으로 공식 배포된 이미지들이 하나도 정상동작 하지 않음을 확인할 수 있었다.

 

보드가 불량인건지? 아님 다른 보드도 동일한건지...

아무튼 보드가 하나 밖에 없어 뭐라 결론 낼 수는 없었다.

 

CF) 음... 이게 빠져 있었네요. 이제서야 올립니다.

[A10]웹캠 스트리밍해서 사용해보기

웹캠 스트리밍해서 사용해보기

-부제 : mjpg-streamer를 통해 스트리밍하기


0.스트리밍 하기전에..


0-1.개요

웹캠을 스트리밍하는 프로그램과 방법은 대표적으로 몇가지가 있습니다. 방식에는 대표적인 다음 두가지가 있습니다.


•HTTP 프로토콜을 통해 스트리밍


•RTSP 프로토콜을 통해 스트리밍


다만 우리는 일반 PC에서의 스트리밍이 아닌 성능과 자원이 어느정도 한계적일수밖에 없는 임베디드 보드에서 스트리밍을 시도하게 되므로


1.최대한 CPU에 부하가 적고


2.덤으로 딜레이도 적은


방법으로 시도해야 합니다. HTTP를 통해 스트리밍을 하는 프로그램도 역시 많이 존재합니다만, 이 강좌에선 설정의 편리성과 위 두가지를 만족하는 mjpg-streamer를 통해 스트리밍을 해보도록 하겠습니다.


0-2.준비물

*UVC를 지원하는 아무 웹캠 (요즘 나오는 웹캠 모델은 대부분 다 UVC 지원입니다.)

*USB 유전원 허브 (없어도 사용은 가능할 수 있으나, 안정적으로 하기 위해선 추천합니다.)


1.스트리밍을 해보자!


1-1.사전 준비

먼저 빌드를 위해 의존하는 패키지들을 설치해 줍시다.



$ sudo apt-get install subversion g++ curl pkg-config libv4l-dev libjpeg-dev build-essential libssl-dev cmake imagemagick
 


1-2.mjpg-steamer 빌드

소스 코드를 받아 줍시다.



$ svn checkout svn://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code
 

그 후에 빌드해 봅시다.



$ cd mjpg-streamer-code/mjpg-streamer

$ make
 


1-2.스트리밍

 다음 명령어로 스트리밍을 시작합니다.



$ sudo ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
 

그 후에 http://IP:8080/ 으로 접속하여 제대로 작동이 되는것을 확인합니다.


2.문제 해결


-웹캠 인식이 안되는 경우

•UVC 지원 웹캠인지 확인해보세요.


•커널을 바꾸어 다시 시도해보세요.


•배포본을 바꾸어 다시 시도해보세요.


•웹캠 전원이 부족한지 확인후 다시 시도해보세요.


-’Init v4L2 failed !! exit fatal’ 오류가 나는 경우

웹캠이 MPEG 형식을 지원하지 않을때 나는 오류입니다. 명령어를 다음과 같이 바꾸어 시도해보세요.



$ sudo ./mjpg_streamer -i "./input_uvc.so -y" -o "./output_http.so -w ./www"
 


-정지 사진은 볼수 있으나 스트리밍 사진은 보이지 않는 경우

아래에 소개된 웹 브라우저를 사용해서 다시 시도해보세요.

•FireFox (http://www.mozilla.or.kr/ko/)


•Google Chrome / Chromium (https://www.google.com/intl/ko/chrome/browser/)

[A10]마스보드에서 SATA 사용하기

 

마스보드에서 SATA 사용하기

-부제 : 2.5’ HDD 사용해보기


0.잃어버린 SATA를 찾아서..

마스보드 A10/A20 모델에는 SATA 케이블이 기본적으로 제공되고, 이를 사용하기 위한 SATA 포트가 존재하고 있습니다.

 

 

 

 

[사진 1] Marsboard A10에 존재하는 SATA 포트


그러나 실제 사용을 위해선 HDD에 공급될 전원을 필요로 하나, 실제 보드상에선 설계상의 문제로 전원을 공급할 방법이 없습니다.

이는 별도로 전원을 HDD에 공급해줘야 사용이 가능하다는 소리가 됩니다.

 

 

 

그림 2] 2.5’ HDD (위), 3.5' HDD (아래)


일반적으로 사용하는 SATA 하드 중 2.5' HDD의 경우엔 실제 사용에 약 5V, 3.5' HDD엔 12V정도가 필요하다고 합니다.

당연히 3.5'의 경우엔 별도 어답터라던가 아니면 별도 HDD 도킹 스테이션등을 구매해야 하지만 2.5'인 경우엔 다른 방법으로도 손쉽게 전원 공급을 통해 SATA HDD를 사용하실 수가 있습니다.


지금부터 소개할 방법은 USB를 통해 2.5’ HDD에 전원을 공급할 파워 케이블을 만드는 작업입니다.


1. 파워 공급 케이블 만들기

 

 1-1. 개요

[그림 3, 4] SATA 파워 케이블 표준 규격과 USB 표준 규격


위에서 2.5' HDD는 5V를 사용한다고 언급했는데, 이는 USB 케이블의 전원 공급 규격과도 같습니다.

따라서 별도의 돈을 들여 어답터를 사거나 케이블을 비싸게 주고 살 필요 없이 안쓰는 USB 케이블과 SATA 파워 케이블로도 전원 공급이 가능하다는 소리가 됩니다.

 1-2. 준비물

*적당히 굴러다니는 아무 SATA 파워 케이블, USB 케이블.

*안정적 전원 공급을 위한 USB 유전원 HUB.

*전선의 피복을 벗길 아무 절단 도구.

*절연 테이프 또는 수축 튜브.

 

 1-3. 실전

 

 

 

실제 작업은 이렇게 해주시면 됩니다.

[그림 5] 연결 작업도


간단하게 피복을 벗기고 꼬는 정도의 작업이라 그다지 어렵지도 않고 빨리 끝납니다.


완성하면 대충 이런 모습이 됩니다.

[그림 6] 완성된 SATA Power to USB 케이블


이걸 USB허브 - HDD 이런식으로 연결후에 데이터 케이블을 연결하시면 됩니다.


[그림 7] 실제 연결 후 사진


2. 사용해보기


이제 SSH로 접속해서
ls /dev/|grep sd
 


와 같은 명령어등으로 확인하시면 마스보드에서 /dev/sd**등으로 인식되는것을 확인하실수 있습니다.

 

[그림 8] SSH를 통해 마스보드에서 연결여부를 확인


이제 이걸 마운트해서 쓰시면 되겠습니다.

 

[MakeBlock] MebaseBoard를 소개합니다

안녕하세요~ 얼마전 MakeBlock사의 MebaseBoard를 구입하고 개봉기를 올렸는데요 ㅎㅎ


하루 빨리 무언가 해보고 싶었는데 자꾸 시간에 밀려 드디어 활용기를 올리게 되네요~

일단 활용기를 올리기전에 간단히 제품 설명을 덧붙이자면

Arduino Leonardo 호환 기종이며 기존의 아두이노 IDE로 컴파일러가 가능합니다^^

이 제품뿐만 아니라 컴파일러의 호환성이 아두이노의 특장점이죠~!

그럼 지금부터 천천히 살펴볼까요?

[Project] 빛의 양을 Segment로 출력하며, 광량에 따라 조명세기를 자동제어하는 장치
[구성] Mebaseboard, 조도센서, Segment, RGB LED (모든 센서와 제어모듈은 Mebaseboard 전용으로 사용하셔야해요)


(H/W)

조도센서


Segment


RGB LED


전체 사진입니다~

사실 하드웨어 구성은 정말 간단해요~ 모듈마다 색상이 있는데 그 색상에 맞춰 보드에 꼽아주시기만 하면 됩니다^^

(F/W)
사실 이 제품이 초보에게 교육하기 위한 목적으로 출시되었다고 합니다만....펌웨어 같은 경우는 다소 복잡한 감이 좀 있어요...

일단 기존의 아두이노 IDE를 사용하는 것은 편리하지만 Mebaseboard전용 라이브러리를 받으셔야해요~
(https://github.com/Makeblock-official/Makeblock-Library)



고럼 요러케 Me_ 로 시작하는 예제소스를 사용 할 수 있게 됩니다~! 

예제소스는 키트에 들어있는 각 모듈의 개별 동작을 위한 기본 예제소스에요~

이 예제소스를 합쳐서 새로운걸 만들어 봐야겠죠???


그래서 제가 직접 작성한 소스입니다!!

#include "Makeblock.h"
#include
#include

MeRGBLed led(PORT_3);
MeLightSensor lightSensor(PORT_6);
Me7SegmentDisplay disp(PORT_7);
int value = 0;
int bri = 0, t = 0;

void setup()
{
  // set the led quantity.
  led.setNumber(15);
  Serial.begin(9600);
}

void loop()
{
  
  value = lightSensor.read();  
  bri = 970 - value;

  led.setColorAt(0, bri, bri, bri); // parameter description: led number, red, green, blue, flash mode
  led.setColorAt(1, bri, bri, bri);
  led.setColorAt(2, bri, bri, bri);
  led.setColorAt(3, bri, bri, bri);
  disp.display(bri);
  
  led.show();
  Serial.print("value = " );                                            
  Serial.println(bri);   
  delay(100);
}

중간 중간 보면 일반 아두이노에서 사용되지 않는 함수와 명령어들이 있는걸 눈치 채실거에요~
이 함수들은 모두 Makeblock.h에 포함되어있는 함수들인데요, Makeboard사의 각 모듈 및 센서의
제품 설명에 이 함수들의 설명이 포함되어있어요^^ 사실 이 부분은 초보들에게 굉장히 번거로운 일이라는게 좀 안타깝지만...

전자회로에 대한 지식이 없어도 쉽게 할 수 있다는 것이 장점인 것은 사실이지만 소스를 합쳐 응용하는 과정은 다소 
복잡하다는게 아쉬운 부분입니다...(저만그런걸까요..ㅠ)

<구동영상>

광량에 비례하여 숫자표시를 하면서 RGB LED의 밝기가 자동으로 조절되는 동작입니다 ^^

직접 만져보면서 한가지 더 아쉬움이 남았던 것은 바로 포트입니다.
아무래도 랜케이블 모양의 포트로 8개로 제한이 되어있다보니 확장성에서 많이 불리하다는걸 느꼈습니다.

비록 제가 이번 포스팅에서 사용한 모듈은 세가지이지만
좀더 스케일이 큰 작품을 만들기엔 제한적이라는 생각이 드네요~

지금까지 두서없는 긴 글 읽어주셔서 감사합니다^^ 다음엔 좀더 획기적이고 재밌는 걸로 다시 찾아뵐게용~


[구입처] icbanq.com/shop


인피니언, 아두이노 보드용 쉴드 출시!!

인피니언테크놀로지스코리아에서

아두이노 설계 커뮤니티에서 사용할 수 있는

신제품 2종을 출시했습니다.

오픈소스 기반으로 소형 컴퓨팅 장치를 설계할 수 있도록

해주는 아두이노 프로젝트 생태계를 활성화하는데 기여할 것 같네요~

http://www.zdnet.co.kr/news/news_view.asp?artice_id=20141216085059



MIT의 비트코인 경제 구축 실험!

비트코인 경제를 구축하는 실험이 MIT에 의해 시작됐습니다!!

캠퍼스를 비트코인 허브로 만들겠다는 목표!

사용한 비트코인 흐름은

어떤 가치와 경제를 창출하는지 연구될 계획이라고 합니다~!

http://www.etnews.com/20141117001446