샘플 프로젝트 및 사용 사례 > Raspberry Pi 자습서 > 센서 연결하기(선택 사항) > Raspberry Pi에 스크립트 복사하기(선택 사항)
  
Raspberry Pi에 스크립트 복사하기(선택 사항)
이제 Pi에 대해 사용자의 (선택 사항) 센서 또는 Pi 자체에서 정보를 읽고 ThingWorx에 전송할 수 있는 어떤 유형의 소프트웨어가 필요합니다. 그러한 작업이 필요하다면 다음 각 소프트웨어를 컴퓨터에 다운로드하십시오.
HC-SR04 범위 센서—range_sensor.py
DHT11 온도/습도 센서—thingxpi_DHT11.py
ThingWorxthingxpi.py에 연결
이러한 스크립트는 사용자가 시작할 수 있으며 모두 약간 다른 방식으로 작성되어 있습니다. 예를 들어 thingxpi_DHT11.py 스크립트에는 하드 코딩된 URL, 응용 프로그램 키 및 특정 설정의 업데이트에 필요한 사물 이름 정보가 포함됩니다. 반면 range_sensor.py 스크립트는 HC-SR04의 정보를 thingxpi.py 스크립트에 다시 전달합니다. 그러면 thingxpi.py 스크립트는 일부 Raspberry Pi 관련 정보(CPU 온도, 메모리 사용량 등)를 수집하여 지정된 사물, URL 및 응용 프로그램 키를 표시하는 명령줄 인수를 사용하여 번들 형태로 ThingWorx에 다시 전송합니다. 각 스크립트는 사용자가 원하는 정보를 검색할 수 있도록 반드시 수정되거나 사용자에 의해 처음부터 다시 작성되어야 합니다.
스크립트를 Raspberry Pi에 적용하는 방식은 사용자의 재량에 따라 달라질 수 있습니다. 예를 들어 USB 드라이브에 로드하여 CLI를 통해 Raspberry Pi에 마운트한 다음 복사하는 방법이 있습니다. 아니면 apt-get을 사용하여 FTP 서버를 설치하고 해당 방식으로 전달할 수도 있습니다. 이러한 다양한 스크립트를 사용하려면 Python이 필요합니다. Python이 Raspberry Pi에 바르게 설치되었는지 확인하려면 다음 명령을 실행하십시오.
python --version
* 
답변으로 Python 2.7.3 이상이 필요합니다. 그렇지 않으면 Python을 보다 최신 버전으로 업그레이드하십시오.
어떤 경우라도 스크립트가 Raspberry Pi에 로드되었으면 각 스크립트 고유의 SSH 창에서 각 스크립트를 실행해야 합니다. 특히 HC-SR04 및 DHT11 센서를 사용하는 경우 각 SSH 창의 명령이 다음과 유사해야 합니다.
sudo python ./range_sensor.py
sudo python ./thingxpi_DHT11.py
sudo python ./thingxpi.py RasperryPiThing <ThingWorx instance URL><App key>
여기서 <ThingWorx instance URL>ThingWorx 인스턴스의 URL이며 <App key>는 본 자습서 앞 부분에서 생성된 응용 프로그램 키입니다. 예들 들어 명령줄은 다음과 유사한 모습이어야 합니다.
sudo python ./thingxpi.py RaspberryPiThing https://thingx-jdoe.abc1.thingworx.io/Thingworx d89bgc23-f3ce-42b5-b8d0-61gcd42489f8
* 
thingxpi_DHT11.py 스크립트를 실행하기 전에 반드시 정확한 URL, 사물 이름 및 응용 프로그램 키를 포함하도록 수정해야 한다는 점을 기억하십시오. 사물 이름, URL 또는 응용 프로그램 키가 올바르지 않으면 Python 스크립트가 사물 속성을 업데이트할 수 없습니다.
또한 가져오려는 Python 스크립트에 설치가 필요한 종속성이 포함될 수도 있으니 주의하십시오. 예를 들어 thingxpi.py 파일에는 Setuptools 및 Requests 모듈이 모두 사용됩니다. 각 스크립트를 실행하면서 누락된 모듈이 있는 경우 직접 설치해야 합니다. Python Setuptools 및 Requests 모듈은 다음 단계에 따라 설치합니다.
1. Setuptools 모듈을 설치합니다.
a. 웹 브라우저를 열고 http://peak.telecommunity.com/dist/ez_setup.py로 이동합니다.
b. 모든 콘텐츠를 선택하여 복사합니다(Ctrl+A/Ctrl+C).
c. 사용자의 Raspberry Pi에서 sudo touch ez_setup.py 명령을 실행하여 파일을 생성합니다.
d. Raspberry Pi에서 텍스트 편집기(예: nano)를 사용하여 전체 ez_setup.py 콘텐츠를 파일에 붙여넣습니다. ez_setup.py 파일을 저장하고 종료합니다.
e. 다음 명령을 실행합니다. sudo python ez_setup.py
2. Requests 모듈을 설치합니다.
a. 다음 명령을 실행합니다.
sudo git clone git://github.com/kennethreitz/requests.git
cd requests(예: GIT가 앞서 추가한 폴더로 디렉터리 변경)
sudo python setup.py install
명령이 실행되면 각 스크립트는 지속적으로 실행되면 수집되는 정보의 출력을 사용자에게 제공하고, 해당 정보를 ThingWorx에 전송합니다(이러한 이유 때문에 이 방법에는 세 개의 별도 SSH 창이 필요). 사용자의 Raspberry Pi에서 모든 스크립트가 실행되면 이 정보가 ThingWorx에서 정기적으로 업데이트됩니다. 사용자는 저장된 정보를 이후 자신의 AR 경험에 사용할 수 있습니다.
Raspberry Pi 및 ThingWorx 상호 연결 검증하기
1. ThingWorx를 엽니다.
2. 모델링 아래에서 사물을 클릭합니다. RaspberryPiThing을 검색하여 선택합니다.
3. 엔티티 정보 아래의 속성을 클릭합니다.
4. 열 맨 위의 속성 새로 고침 아이콘을 클릭합니다.
5. 속성 새로 고침 아이콘을 클릭할 때마다 값 일부가 변하는지 확인합니다.
6. 이제 만들어 보겠습니다.