'라즈베리파이'에 해당되는 글 2건

Embedded Linux/Raspberry Pi

라즈베리파이와 PC에서 개발환경을 꾸미는 방법에는 여러가지가 있다.

보통 ssh, scp나 rsync를 사용하는데, 개인적으로는 RSYNC를 사용하는 방법을 선호한다.

ssh나 scp는 target board(라즈베리파이) 에 소스코드를 보관하고 원격에서 접속해서 소스코드를 수정하는 방식이고, rsync는 target board와 host pc 양쪽에 소스코드를 보관하면서 동기화 하는 방식이다.

(Target board) — (Network) — (Windows 10 PC)

PC에서는 보통 VS Code를 사용해서 editing을 하는데, extentions를 활용해서 개발환경을 더 쉽게 꾸밀 수 있다.

rsync를 선호하는 다른 이유는 예전 프로젝트에서 MIPS 아키텍쳐의 target 보드에서 개발했는데, VS Code extentions의 ssh 가 arm과 x86 계열만 지원했기 때문에 rsync에 익숙해져서이기도 하다.

준비

  • Windows PC
    • WSL(Windows Subsystem for Linux)
    • VS Code

VS Code, WSL 설치

여기서 다룰 내용은 아님. Ubuntu 20-04를 설치함.

WSL에 sshpass 설치

PC에서 라즈베리파이로 rsync로 동기화 하려면 ssh를 기본적으로 사용한다. 때문에 라즈베리파이의 username/password 가 필요하다.

물론 인증서 기반으로 할 수도 있겠지만, VS Code에서 자동으로 동기화 하려니까 어떻게 하는지 모르겠다..

설치 방법은 WSL을 실행한 후에 아래 명령을 입력한다.

$ sudo apt install sshpass
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  sshpass
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.5 kB of archives.
After this operation, 30.7 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal/universe amd64 sshpass amd64 1.06-1 [10.5 kB]
Fetched 10.5 kB in 1s (10.1 kB/s)
Selecting previously unselected package sshpass.
(Reading database ... 32169 files and directories currently installed.)
Preparing to unpack .../sshpass_1.06-1_amd64.deb ...
Unpacking sshpass (1.06-1) ...
Setting up sshpass (1.06-1) ...
Processing triggers for man-db (2.9.1-1) ...

VS Code에 sync-rsync extension 설치

VS Code에서 rsync를 사용하는 방법은 WSL이나 cygwin 을 설치해야한다.

위에서 WSL을 설치 했다.

settings.json 수정

sync-rsync 연결을 위해서 setting.json에 관련 내용을 추가한다.

{
    "sync-rsync.shell": "sshpass -p \"raspberry\" ssh -p 22",
    "sync-rsync.remote": "pi@<ip-address>:/home/pi/work/",
    "sync-rsync.local": "/mnt/c/workspace/", 
    "sync-rsync.onSave": true, 
    "sync-rsync.onSaveIndividual": true, 
    "sync-rsync.exclude": [ 
           ".vscode", 
           ".git", 
           ".gitignore",
           ], 
     // 파일과 디렉토리의 권한 설정 
     "sync-rsync.chmod": "D2775,F664", 
     "sync-rsync.flags": "rlptv", 
     "sync-rsync.useWSL": true, 
 }

위에 처럼 설정하면 라즈베리파이의 "/home/pi/work/" 디렉토리와 PC의 "/mnt/c/workspace" 를 동기화 할 수 있다.

"/mnt/c/" 는 WSL에서 windows의 C 드라이브를 mount 해 놓은 것이다.

파일 동기화 하기

VS Code에서 작업 디렉토리 "/mnt/c/workspace" 를 오픈한 후에 "F1"을 눌러 command 창을 띄운다.

여기서 sync-rsync를 입력하면 몇가지 기능이 나온다.

  • Sync Remote to Local: target(라즈베리파이)의 파일을 PC로 가져와 동기화 한다.
  • Sync Local to Remote: PC의 파일을 target에 동기화 한다.

자동 동기화

파일을 수정하고 저장(Ctrl+S) 하면 자동으로 동기화가 진행된다.

IoT Open House/ThingPlug


안녕하세요


저는 위즈네트에서 WiFi 모듈 개발을 담당하고 있고, 'WiFi 모듈 사용 기초 방법'과 SK telecom의 IoT 플랫폼인 'ThingPlug를 쉽게 사용하는 방법'에 대해서 오프라인 강의를 하고 있습니다.

ThingPlug 강의는 무료입니다. 하지만 다른 강의들은 일반인 2만원, 학생 1만원을 받는다고 합니다. 


http://wiznetacademy.com/?module=lecture&act=dispCourseInfo&course_seq=175


Wireless(Embedded WiFi)의 커리큘럼은 3강의로 구성되어 있습니다.

기초, 중급, 고급의 구분은 딱히 없지만, 초급 중급 고급 순서대로 수강하시면 이해하시기 빠를것 같습니다.


강의의 내용은 아래와 같이 진행됩니다. 저는 초급과 고급 강의를 진행하고 있기 때문에 두 강의를 우선 소개해드리겠습니다.



1. WizFi310으로 Embedded Wi-Fi 시작하기


해당 강의는 WizFi310(embedded WiFi 모듈)을 사용하는 방법과 기본적인 예제들로 구성되어 있습니다.

이 강의를 수강하시면, 기본적인 TCP/IP 통신과 MQTT의 기초까지 알 수 있습니다.

아래에 해당하시는 분이라면 수강 가능합니다.(초보자 대상)

    • TCP/IP를 들어봤다.
    • 서버와 클라이언트를 안다.
    • 스마트폰으로 WiFi를 사용할 수 있다.
    • 키보드가 잘 눌리는 노트북이 있다.


2. ThingPlug 더 쉽게 시작하기


이 강의는 SKT의 IoT 플랫폼인 'ThingPlug'를 쉽게 사용하는 방법에 대해서 알려드립니다. 해당 강의는 (중급) 강의에서 진행된 MCU(Cortex M3)로 WizFi310을 제어해서 SKT ThingPlug를 사용하는 강의입니다.

이 강의는 '세계 최초로 oneM2M 표준을 적용한 IoT 플랫폼인 'ThingPlug''의 구조와 사용방법, 그리고 더 쉽게 사용하는 방법까지 모두 '무료'로 알려드립니다.


이 강의의 수강 대상자는 아래와 같습니다.

    • 1번 WiFi 기초 강의 수강자 - 필수는 아니지만 WizFi310을 사용해서 강의가 진행되기 때문에 선행되었으면 좋겠습니다.

    • MCU에 대한 기본적인 이해가 필요하지만, C 언어의 if, for, while을 아신다면 수강하실 수 있습니다. - 부족하시다면 중급 강의도 수강해주세요.

    • oneM2M, ThingPlug를 들어봤다.




이 외에도 아두이노, ARM mbed 관련 강의도 있으니 관심있으신 분은 아래 링크를 통해 신청해주세요.


http://wiznetacademy.com/








1
블로그 이미지

IoT 개발자 블로그이고 싶다.

1byte