산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Windows IOT - 콘센트 자동화

구성품 및 소모품

라즈베리 파이 2 모델 B
× 1
Xbee
× 2
Arduino UNO
× 1
FTDI 케이블
× 2
Arduino용 4채널 릴레이 실드
× 1
SparkFun XBee 실드
× 1

앱 및 온라인 서비스

XCTU
비주얼 스튜디오 2015+
Arduino IDE
Microsoft Azure
Microsoft Windows 10 IoT Core

이 프로젝트 정보

소개

이 프로젝트에서는 Windows 10 iot, xbee 및 arduino에서 실행되는 라즈베리 파이를 사용하여 기본적으로 클라우드에서 가정의 전원 콘센트를 제어하는 ​​방법을 볼 것입니다. 모든 코드 샘플은 github에서 사용할 수 있습니다.


전원 콘센트를 자동화하는 이유는 무엇입니까?

클라우드에서 장치를 제어하는 ​​대신 콘센트를 자동화할 수 있다면 모든 장치를 콘센트에 연결하고 제어할 수 있습니다. 이 프로젝트에서는 팬과 조명을 제어하는 ​​예제를 가져왔습니다.


벌 시작하기

나는 라디오 신호를 전송하기 위해 Xbee를 가지고 갔다. Co ordinator라고 하는 하나의 Xbee는 raspberry pi에 연결되고 다른 하나는 Router라고 하는 전원 콘센트에 연결됩니다. 코디네이터는 전원 콘센트를 제어하기 위해 라우터에 입력을 기반으로 신호를 보냅니다.


AT 모드에서 Xbees 구성

XCTU를 다운로드하여 설치하십시오.

Zigbee(Xbee) 펌웨어를 업데이트하기 위해 adafruit FTDI 어댑터를 사용했습니다.

AT 모드에서 Xbees를 구성하는 방법에 대한 이 튜토리얼을 시청하십시오.

꿀벌 구성


다음 단계로 진행하기 전에 이 두 Xbee가 서로 대화하는지 확인해야 합니다.


수신기 설정

Zigbee 라우터, Arduino UNO R3, Arduino용 Xbee Shield 및 Arduino 릴레이 쉴드가 필요합니다.

아두이노 스케치

CoOrdinator Zigbee의 데이터가 ON1이면 릴레이1을 켭니다. 데이터가 ON2이면 릴레이2를 켭니다. 마찬가지로 OFF1 및 OFF2용 릴레이를 끕니다.

이것을 arduino ide에서 컴파일하고 arduino uno로 구워야 합니다:

#define RELAY1 7#define RELAY2 5String state ="OFF";void setup(){Serial.begin(9600);pinMode(RELAY1, OUTPUT);}void loop(){//직렬인지 확인 데이터는 availbleif(Serial.available()> 0){state =Serial.readString();Serial.println(state);}//텍스트가 ON1인 경우입니다. relay1if(state =="ON1\r\n")digitalWrite(RELAY1,1);//텍스트가 ON2인 경우를 켭니다. 릴레이2else를 켭니다. if(state =="ON2\r\n")digitalWrite(RELAY2,1);//텍스트가 OFF1인 경우. 릴레이1else를 끕니다. if(state =="OFF1\r\n")digitalWrite(RELAY1,0);//텍스트가 OFF인 경우2. 릴레이2else 끄기 if(state =="OFF2\r\n")digitalWrite(RELAY2,0);//아무것도 하지 않음{digitalWrite(RELAY1,0);digitalWrite(RELAY2,0);}}  

전원 콘센트 구성(고전압 사용 시 주의)

계전기는 전자 분야에서 오래된 기술입니다. 스위치 역할을 합니다. 릴레이에 대한 입력은 ac 전압(110~240V)일 수 있습니다. arduino와 같은 마이크로 컨트롤러를 사용하여 릴레이를 켜고 끌 수 있습니다.

우리는 릴레이에 고전압을 연결할 것이므로 ac 전류를 존중하고 와이어를 릴레이에 연결할 때 극도의 예방 조치를 취하십시오. 너무 위험합니다. 위험을 감수하고 진행하세요.

릴레이를 전원 콘센트에 직접 구성하는 대신 연장 코드를 사용했습니다. 하지만 개념은 동일합니다.

연장 코드에서 한 와이어는 그대로 두고 다른 와이어는 클립합니다. 전선 끝을 Common(C)에 연결하고 다른 쪽 끝을 NO(Normally Open)에 연결합니다.

릴레이 쉴드를 Arduino에 연결하고 Xbee 쉴드를 맨 위에 쌓거나 릴레이 쉴드를 쌓습니다. Xbee Shield에서 라우터로 구성된 Zigbee를 연결합니다.

Xbee Shield를 사용하여 Xbee를 arduino에 연결했습니다. 실드의 설정이 Xbee로 설정되어 있는지 확인하십시오. 이 쉴드는 arduino와 함께 스위치를 USB로 설정할 때 펌웨어 설정을 쓰는 데 사용할 수도 있습니다. FTDI 칩에서 arduino의 빌드를 사용하여 Xbee에 데이터를 씁니다.

코드를 연결하고 외부 배터리 소스를 사용하여 arduino의 전원을 켭니다. 리시버가 완료되었습니다.


서버 구성

서버를 설정하려면 Windows 10 IOT에서 실행되는 Raspberry Pi 2와 코디네이터로 Zigbee를 설정해야 합니다.

Zigbee를 FTDI 어댑터에 연결하고 6핀 FTDI RS 232 USB 케이블을 라즈베리 파이 USB 포트에 연결합니다. UWP를 사용하여 라즈베리 파이에 웹 서버를 설정합니다. 서버는 사용자 입력을 기다리고 선택에 따라 FTDI RS 232 케이블이 연결된 USB 포트에 직렬 데이터를 쓰고 Zigbee는 이 메시지를 전파로 전송합니다. 코디네이터 Zigbee에 라우터의 DH와 DL을 이미 설정하였으므로 올바른 Zigbee 라우터로 메시지가 전송됩니다.

raspberry pi용 FTDI 드라이버에 대해 자세히 알아보려면 https://github.com/jark/ftdisample

을 참조하세요.

이 비디오를 따라 Raspberry Pi에서 서버를 설정하십시오.

웹 서버


모든 코드 샘플은 github에서 사용할 수 있습니다.


Azure 사용

전 세계 어디에서나 가정을 제어하기 위해 애플리케이션에 클라우드 서비스를 활성화합니다.

웹 사이트를 만들고 Azure에서 호스팅해야 합니다. Azure SQL DB를 만들어 사이트에 대한 사용자를 인증/권한 부여합니다. 명령을 수행할 Azure Cloud Storage 서비스를 만듭니다. Raspberry PI Blinky 앱에서 이 명령을 처리하고 집을 제어하세요.

스토리지 테이블을 생성하려면 이 문서를 참조해야 합니다.

https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/

SQL 테이블을 생성하려면 다음 문서를 참조하십시오.

https://azure.microsoft.com/en-us/documentation/articles/sql-database-get-started/

프로젝트에 azure를 사용하는 방법에 대한 비디오 자습서를 시청하십시오.

Azure 사용

데모

두 가지 방법으로 콘센트를 제어할 수 있는 방법을 보여주려고 했습니다.

<올>
  • 네트워크 라즈베리 웹 서버 URL에 액세스
  • Azure에서 호스팅되는 aspnet5 웹 애플리케이션을 통해
  • 데모

    결론

    <올>
  • 이러한 종류의 자동화는 많은 실제 문제를 해결합니다. 빛과 움직임 감지기와 같은 추가 센서를 부착하여 빛을 켜거나 끌 수 있으며 최소한 사용자에게 데이터를 제공하여 에너지를 절약할 수 있습니다.
  • 노인은 리모컨을 사용하여 콘센트를 제어할 수 있습니다. 이 경우 RFID 장치가 추가로 필요합니다.
  • 전원을 절약할 수 있도록 조명을 켜고 끄는 일정을 만들 수 있습니다.
  • 침입자가 있으면 모든 조명을 켤 수 있습니다.
  • 휴가 중에도 걱정할 필요가 없습니다. 버튼 하나만으로 집을 차단할 수 있습니다.
  • 항상 실내 온도를 유지할 필요는 없으며 적절하다고 생각될 때 하십시오. 에너지를 절약합니다.
  • <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • 릴레이
  • 릴레이C/C++
    릴레이를 제어하려면
     #define RELAY1 7 #define RELAY2 5String state ="OFF";void setup(){ Serial.begin(9600); 핀모드(릴레이1, 출력); }void loop(){ // 직렬 데이터가 사용 가능한지 확인 if(Serial.available()> 0){ state =Serial.readString(); Serial.println(상태); } //텍스트가 ON1인 경우. 릴레이1 켜기 if(state =="ON1\r\n") digitalWrite(RELAY1,1); //텍스트가 ON2인 경우. 릴레이2를 켜십시오. else if(state =="ON2\r\n") digitalWrite(RELAY2,1); //텍스트가 OFF1인 경우. 릴레이1 끄기 else if(state =="OFF1\r\n") digitalWrite(RELAY1,0); //텍스트가 OFF2인 경우. 릴레이2 끄기 else if(state =="OFF2\r\n") digitalWrite(RELAY2,0); // 아무것도 하지 않음{ digitalWrite(RELAY1,0); 디지털 쓰기(RELAY2,0); }}
    샘플
    샘플 코드https://github.com/syediddi/hacksterio

    회로도

    릴레이에 전원 코드를 연결합니다.

    제조공정

    1. 가정에 무선 센서 네트워크 구축
    2. Windows IoT:얼굴 인식 도어
    3. Windows 10 IoT 코어 및 SHT15
    4. Windows 10 IoT Core for Raspberry Pi 3 Model B+
    5. Windows 10 IoT Core :음성 제어 로봇
    6. Windows IoT 기반 GoPiGo v2
    7. 지금의 힘:디지털 혁신에서 IoT가 중요한 이유
    8. IoT를 사용한 심박수 모니터
    9. Azure IoT 수영장
    10. PLCnext Power BI 보고서