본문 바로가기

애플리케이션 개발/HRC(Home Remote Control)

0-3. HRC 코드 공유 및 사용 방법

HRC 관련해서 작년 7월에 첫 포스팅을 개시했으니까, 개발한 지 1년이 넘었다. 이제 사용하기에 꽤 편해졌고, 코드도 공유할 만큼 정리가 되었다고 판단이 되어 이번 포스팅을 준비했다. 

 

HRC는 단말기를 기준으로 총 3개의 부분으로 구성되어 있다. 

  1. PC를 통해 구동되는 서버 부분
  2. NodeMCU를 중심으로 한 하드웨어 부분
  3. 아이폰 애플리케이션 부분

사용 방법을 살펴보기 전에 먼저 아래 원격 저장소(GitHub)에서 프로젝트 파일을 내려받는다. 

https://github.com/Taeminator1/Home-Remote-Control

 

1. PC를 통해 구동되는 서버 부분

  • 집에서 사용하고 있는 공유기에 대한 설정을 변경해줘야 한다. iptime 기준으로 아래 포스팅을 참고하면 된다. 
    https://taeminator1.tistory.com/7
  • Node.js가 설치되어 있다는 가정하에 저장된 프로젝트의 /Server에서 app.js 파일을 열어 포트를 수정해 준다. 포트 번호는 공유기에 대한 설정을 변경할 때 임의로 지정할 수 있다. 
    //  app.js
    
    const inPort = 1234;            // Internal Port Number
  • /Xcode/Script Launcher에서 프로젝트 파일(.xcodeproj)을 열고, 컴파일하여 Script Launcher 앱을 생성한다. 

2. NodeMCU를 중심으로 한 하드웨어 부분

  • 이전 포스팅을 참조해, 회로 구성이 끝났다면, /Arduino/HomeRemoteControl에 PersonalInfo.cpp를 생성하여 개인 정보를 입력해 준다. 
    //  PersonalInfo.cpp
    
    #include "PersonalInfo.h"
    
    char PersonalInfo::url[] = "http://example.com/1234";   // Enter your wifi ID
    char PersonalInfo::wifi_id[] = "abcd";                  // Enter your wifi PW
    char PersonalInfo::wifi_pw[] = "5678";                  // Enter your server URL​
  • 그다음 NodeMCU에 케이블을 연결하고, /Arduino/HomeRemoteControl에 HomeRemoteControl.ino 파일을 열어 FW를 업로드한다. 

3. 아이폰 애플리케이션 부분

  • /Xcode/HRC/HRC에 PersonalInfo.swift를 생성하여, 개인정보를 입력해 준다. 
    //  PersonalInfo.swift
    
    import Foundation
    
    struct PersonalInfo {
        static let url: String = "http://example.com/1234"     // Enter your server URL​
    }​
  • /Xcode/HRC에서 프로젝트 파일(.xcodeproj)을 열고, 컴파일하여 아이폰에 HRC 앱을 생성한다. 

이렇게 준비가 끝나면, Script Launcher를 통해 서버를 구동시키고(https://taeminator1.tistory.com/65) NodeMCU를 포함한 HW에 전원을 연결한다. 그러면 인터넷이 연결된 어디서든 아이폰의 HRC 앱을 통해 HW 조작이 가능하다.