라즈베리파이3를 이용한 릴레이모듈제어에 관한 질문입니다.



  • 안녕하세요
    대학교를 다니고있는 4학년 학생입니다. 이번에 졸업작품을 준비하면서
    라즈베리파이를 이용하여 핸드폰으로 멀티탭을 원격제어한다는 주제로 제작중에 있습니다.
    제작중에 막힌 부분에 대해 도움 받고 싶어서 질문드리게 되었습니다.
    저희 상황은 인터넷 검색을 통해 찾은 소스로 아파치 php로 웹서버를 구축하여 핸드폰 웹브라우저로 홈페이지에 접속하는 것은 성공했으나 페이지에 구성해놓은 버튼을 동작하여도 라즈베리파이가 동작하지 않는 상태입니다.
    다음은 저희가 찾은 프로그램 소스 전문입니다.

    <?php
    if(@$_GET['mode']) $mode=$_GET['mode'];
    else $mode="";
    if($mode=="act")
    {
     $str_com2="gpio write ".$_GET['gpio']." ".$_GET['value'];
    // echo $str_com2;
     $re2=exec($str_com2);
     exit;
    }
    
    //디바이스 셋업
    $pi_relay =array(
     array('name' =>'전원1' ,
      'gpio' =>'0',
      ),
     array('name' =>'전원2' ,
      'gpio' =>'1',
      ),
     array('name' =>'전원3' ,
      'gpio' =>'2',
      ),
     array('name' =>'전원4' ,
      'gpio' =>'3',
      ) 
    );
    
    for($i=0; $i<count($pi_relay); $i++)
    {
     $relay=$pi_relay[$i];
     //gpio mode 설정
     $str_com1="gpio mode ".$relay['gpio']." out";
     //gpio 디지털 write
     $str_com2="gpio write ".$relay['gpio']." 0";
     $re1=exec($str_com1);
     $re2=exec($str_com2);
    }
    ?>
    <!DOCTYPE html>
    <html lang="ko">
    <head>
    <meta charset="utf-8">
     <title>My Page</title> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.2/jquery.mobile-1.1.2.min.css" />
     <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
     <script src="http://code.jquery.com/mobile/1.1.2/jquery.mobile-1.1.2.min.js"></script>
    </head> 
    <body> 
    <script>
    function relay_chg(gpio,value)
    {
     $.get( "?mode=act&gpio="+gpio+"&value="+value, function( data ) {
    //   alert( "Data Loaded: " + data );
     });
    
    //$.get( "?", { mode: "act", gpio: value } );
    }
    </script>
    <div data-role="page">
    
     <div data-role="header">
      <h1> 4-Channel Relay Test </h1>
     </div><!-- /header -->
    
     <div data-role="content"> 
    <?php
    for($i=0; $i<count($pi_relay); $i++)
    {
     $relay=$pi_relay[$i];
    ?>
    <div class="containing-element">
     <label for="flip-min"><?echo $relay['name']?>:</label>
     <select name="flip-min" id="flip-min" data-role="slider" onchange="relay_chg('<?echo $relay['gpio']?>', this.value);">
      <option value="0" selected="selected">Off</option>
      <option value="1">On</option>
     </select>
    </div>
    <?php
    }
    ?>
     </div><!-- /content -->
    
    </div><!-- /page -->
    
    </body>
    </html>
    

    출처: http://ilikesan.tistory.com/entry/라즈베리파이를-이용해서-웹에서-릴레이-모듈-제어하기PHP [등산 좋아해]

    웹서버는 구축이 되었으나 라즈베리파이가 동작하지않는 점에 대하여 꼭 좀 도움 부탁드립니다.


  • Global Moderator

    @충북대김영윤 안녕하세요
    산딸기마을 이장 나무꾼 입니다.

    정확히 안되시는 부분이 어떤 내용 이신지요 ??

    스텝을 구분 하자면,

    1. 라즈베리파이 아파치 서버구축
    2. 아파치2 웹서버 PHP 모듈 활성화
    3. PHP 아피치 웹서버 테스트(php_info.php)
    4. php 개발 소스 테스트

답변을 위해 로그인하기