Resin.io의 홈페이지에는 다음과 같이 자신들의 서비스를 설명을 한다.
Resin.io brings the benefits of Linux containers to the IoT. Develop iteratively, deploy safely, and manage at scale.
Linux containers to the IoT… 리눅스 기반의 IoT 디바이스를 위한 도커같은 서비스 일 것 같다.
Resin.io 사용법
Account setup
resin.io 에 계정을 생성후 SSH 키 설정하여 resin에 저장을 하는데, 깃헙계정으로 로그인 할 경우 깃헙계정에 저장된 SSH 키 중 하나를 선택한다.
SSH 키 확인
ls -al ~/.ssh
SSH 키 생성
ssh-keygen -t rsa -b 4096 -C “[email protected]”
SSH 키를 ssh-agent애 넣기
eval “$(ssh-agent -s)”
~/.ssh/config 파일을 다음과 같이 만든다.
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
ssh-add -K ~/.ssh/id_rsa
다음과 같이 SSH 키를 클립보드에 복사후 github 계정에 설정한다.
pbcopy < ~/.ssh/id_rsa.pub
Create Application & Add your first device
디바이스 타입에서 – 라즈베리파이 같은 보드를 선택
Add device를 클릭하고 위에서 선택한 라즈베리파이에 맞는 이미지를 다운로드 한다.
Provision your device
다운로드한 이미지를 Etcher로 SD로 굽는다.
라즈베리파이가 부팅이 끝나면 dashboard에서 확인이 가능하다.
Deploy code
코드를 하나 클론한다.
$ git clone https://github.com/resin-io-projects/simple-server-node.git
다음과 같이 remote endpoint를 추가한다. 주의) 여기서 USERNAME은 resin의 USERNAME이고, APPNAME은 위에서 생성한 Application 이름으로 대쉬보드에서 보인다.
$ cd simple-server-node
$ git remote add resin <USERNAME>@git.resin.io:<USERNAME>/<APPNAME>.git
다음과 같이 push를 하면 resin 서버에 코드가 업로드되고 기기에 코드가 적용이 된다.
$ git push resin master
대시보드의 모습
참고 – https://docs.resin.io/learn/getting-started/raspberrypi3/nodejs/