NodeMCU V1.0  Arduino IDE 설치


1. Serial Driver 다운 받아 설치한다.

- 운영체제에 맞는 드라이버를 다운 받아 설치한다.

- 윈도우는 경우 CP210x_VCP_Windows.zip 을 다운 받아, 압축 풀고, 

64비는 운영체제는 CP210xVCPInstaller_x64.exe을 실행

다운 로드 주소:

https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx



2. 아두이노 IDE 설치

아래의 url에서 해당 운영체제에 맞는 아두이노 설치

https://www.arduino.cc/en/pmwiki.php?n=Main/Software



3. ESP8266 tool chain 설치

- 아두이노 IDE 실행

- 파일>환경설정 창에서 Additional Board Manager URLs 항목에 아래의 json 추가 



http://arduino.esp8266.com/package_esp8266com_index.json

- 메뉴에서 도구>보드> Boards Manager 선택 후 "ESP8266"찾아서 인스톨한다.

- 용량이 커서 시작이 걸림, 영문 메뉴얼 대로 커피한잔 .



4. 맞는 보드 선택

도구> 보드> NodeMCU 1.0 (ESP-12E Module)



5. 포트 맞게 설정

도구>포트>com? 선택


6.Wifi Scanner 예제 프로그램 세팅 테스트

파일>예제> ESP8266Wifi> WiFiScan 선택해서 컴파일하고 실행하면 아래와 같은 화면 나오면 설치 성공.

- 다양한 예제를 제공하고 있습니다. 꼭 확인해 보세요.






참고 링크: 

http://blog.squix.ch/p/you-will-be-programming-esp8266-from.html

관련링크 :

Nodemcu 소개 특징

http://ilikesan.com/560


 

지마켓에서 oled(SSD1306 i2c)  을 구매했다.

바로 다음날 배송해 주셔서 감사해서 링크 올립니다.

http://gmkt.kr/gpjM0i

싼 가격을 원하시면 알리익스프레스로 고고.

 

 

 

 

위의 사진 처럼 생겼는데,

128X64 화소이고 무지 작지만, 밝고 선명하다.

이 녀석은 다음과 같이 연결하면 되다.

 

OLED -> 아두이노 핀

VCC -> 5V
GND -> GND
SCL -> A5
SDA -> A4

 

 

아두이노 프로그램에서 hellow word을 출력해 보는 예제는 다음과 같다.

 

 

----- 예제 -----------------
#include "U8glib.h"

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);

void draw() {

  u8g.setFont(u8g_font_unifont);
  u8g.drawStr( 0, 20, "Hello World!");
}

void setup() {
}

void loop() {

  u8g.firstPage(); 
  do {
    draw();
  } while( u8g.nextPage() );
    delay(1000);
}
------ 예제 ----------------------------

 

 

U8glib 라이블러리을 다운 받는다.

메뉴>스케치> Include library> manage libraris 을 선택하고 "U8glib" 검색하고 인스톨을 누른다.

 

인스톨이 정상적으로 끝났으면 아두이노 프로그램을 재시작한다.

 

https://github.com/olikraus/u8glib/

요기 가면 자세한 설명과 라이블러리를 직접 다운 받아 설치할수도 있다.

꼭 한번 가보시기를 ^^

 

oled "Hellow World!" 라고 나오면 성공이다.

다양한 예제를 제공하니 분석해 보기 바란다.

예제 실행시 주의할 점은 상단부분에서 "U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);" 이부분이 주석 처리 되어 있으면, 주석 제거해줘야 한다.

 

다음에는 nodemcu와 oled을 사용해볼 계획이다.

 

 

 

 

집에 있는 라즈베리파이에 홈페이지를 구축하거나,
웹이나 핸드폰으로 접속해서 라즈베리파이를 원격제어 원하시는 분들을 위해 간단하게 강좌를 올려봅니다.

 

대부분 집의 인터넷망은  유동아이피 입니다. 공유기를 꺼다 키거나 하면 아이피가 변경될수 있습니다.

이 아이피를 고정하기위해서는 별도의 비용을 지불하면 고정아이피를 발급 받을수 있습니다.

다른 방법도 있습니다. 공유기 설정과 DDNS을 이용해서 사용하는 방법도 있습니다.

 

일단 아래와 같이 공유기에 포트 포워딩을 해줍니다.

필자는 iptime을 기준으로 진행하겠습니다.

 

 

 

 

아래와 같은 방법으로 192.168.0.30은 라즈베리 파이의 고정 아이피이고 외부에서 80 일명 웹포트로 접속시 내부포트 80으로 연결합니다.

부가적으로 ssh 은 22 포트를 사용합니다. ssh 포트도 추가하면 putty 등의 터미널로 원결 접속할수도 있습니다.

 

아이피를 고정하는 법은 아래의 포스트를 참고하세요.

2015/05/03 라즈베리파이 2 무선랜 아이피 고정하기 (2)

 

 

외부아이피 확인하기,

아래와 같이 확인하는 법도 있고,

http://ipconfig.co.kr/

와 같은 사이트로 가시도 됩니다.

 

 

DDNS을 이용하여  dns및 설정법에 대해서 알려드리겠습니다. 아래와 용어 정리 참고.

DDNS(다이나믹DNS) :IP가 수시로 변경되는 유동IP 환경에서도, 자신의 도메인을 연결하여 서버를 쉽게 연결할 수 있습니다.


ddns 여러개의 사이트에서 진행하고 있습니다. 

아래와 사이트 강추합니다. 무료이고, 사용하기 편합니다.


https://dnszi.com

 

일단 회원가입하시면,

dnszi을 dns서버정보를 아래와 같이 알수 있습니다.

 

 

 

 

위의 DNS 정보를 자신이 도메인을 등록한 업체에서 네임서버주소를 변경합니다.

DNS정보 변경은 보통 12-24시간 정도 변경되는 시간이 걸립니다.

참고로 필자를 hosting.kr을 사용하고 있고, 보통 .com은  일년에 만원정도 합니다.

 

 

 

인제 https://dnszi.com/domain_add.html 

으로 가셔서 도메인을 추가해 줍니다.

 

 

 

호스트 레코드 관리에 아래와 같이 설정해 줍니다.

설정한때 꼭 DDNS설정을 O로 선택해주세요.

 

 

 

고급관리화면으로 가시면 ddns에 대한 설정을 할수 있습니다.

인증키를 생성받고 아래와 같이 /etc/crontab에 wget을 5분에 한번씩 실행해서 현재 외부 아이피을 dnsi 네임서버로 알려주게 됩니다.

주의하실 점은  wget의 위치가 서버환경에 따라 달라질수 있습니다.

 

 

 

 

 

 

이모든 설정이 정상적으로 되고, 웹서버 설정에 이상이 없다면.

필자처럼 도메인으로 라즈베리파이 웹페이지에 접속하실수 있습니다.

 

웹서버 구축에 대해서는 아래의 포스트 참고하세요.

라즈베리파이 2에서 APM(Apache,PHP,Mysql) 구축및 환경설정

 

http://fishdefend.com/

 

 

 

누군가에 도움이 되는 글이었으면 좋겠습니다.

여러분이 접속할때 마다, 제 라즈베리파이 릴레이 모듈은 리셋되면서 드르릉 소리가 날것 같네요 ^--^

버튼 on,off 할때마다 딸깔 딸깔 소리가 납니다. ^^  아직 인증 안 걸어 놓았습니다.

 

궁금하신 점은, 블로그 댓글을 통해서 올려주시면 답변드리겠습니다.

  1. 2558 2018.07.20 15:12

    좋은 정보 감사합니다. 도움이 되었네요. 릴레이도 좋지만 영구적으로 사용할 수 있는 무접점릴레이 SSR을 써보세요.

이번 시간에는 라즈베리파이와 릴레이(relay) 모듈을 이용해서 웹에서 전원 제어하는 법에 대해서 다루겠다.

개발환경은 아파치+PHP+wiringpi 이다.

 

아파치+php+mysql 환경 구축은 아래의 링크을 확인하면 되고,

http://www.ilikesan.com/entry/라즈베리파이-2-에서-APMApachePHPMysql-구축및-환경설정

 

wiringpi  설치는 아래의 정식 홈페이지를 참고하시면 된다.

http://wiringpi.com/download-and-install/

 

아래의 동영상을 보면 실제 작동되는 영상과 전체적인 연결되어 있는 모습을 확인할수 있다.

 

 

프로그램소스는 아래와 같다.

------------------ relay.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>

------------------ relay.php --------------------------

위와 같은 웹프로그램 아래와 같은 웹화면으로 나온다.

jquery + jquery mobile 기반으로 핸드폰과 PC에서 제어하기 편하도록 되어 있다.

 

 

 

 

 

 아래 ↓ 라즈베리파이+ 브레드보드 + 릴레이모듈 연결사진

 

 

 아래 ↓ 브레드보드 회로 구성 간단하다.

 

 

 아래 ↓ 5채널 릴레이 모듈 연결사진

 

 

 

 

 

아래 부터는 전기 배선에 대한 사진들이다. 220V 이므로 감전및 화재에 주의 하시기 바랍니다. 혹시 모를 사고를 위해 전기에 대한 전문적인 지식이 있는 분의 도움을 받으시기를 바란다.

 

  아래 ↓ 전원선중 하나를 짤라서 릴레이 모듈에 연결했다.

 

 

  아래 ↓ 2구 콘센트를 직접만들었다.

 

  아래 ↓ 플러그는 아래와 같이 만들었다.

 

 

이상으로 강좌를 마치겠다.

다음 강좌는 릴레이 모듈 프로그램에 스케쥴을 걸어서 정해진 시간에 전원이 on/off 되도록 하는 프로그램과

집 밖에서도 핸드폰등 웹화면에서 전원(릴레이 모듈)을 제어할 수 있는 방법에 대해서 다루겠다.

  1. 피르 2015.07.01 17:21

    라즈베리파이와 릴레이모듈을 사용할 일이 생겨서 검색하다가 방문하게 되었습니다.
    저희가 주문해서 받은 T자형 확장 모듈..이라고 하나요? 그걸 사용해서 하려고 하니 전류가 안흐르는것같은데, 혹시 이걸 사용하려면 꼭 납땜을 해야만 하나요? 사진이나 동영상을 보니 납땜을 하신것 같던데...
    답변해주시면 정말 감사하겠습니다. 많은 도움 얻고 가는것 같네요.

    • Favicon of https://ilikesan.com BlogIcon 산좋아해 2015.07.02 11:45 신고

      별도의 납땜은 필요없습니다.
      접속 불량일수도 있고,
      모듈마다 필요한 전압과 전류가 달라서 생기는 문제도 있으니,
      멀티미터로 한번 체크해 보시기 바랍니다.
      도움이 되었으면 좋겠습니다.

  2. BlogIcon 신해철 2015.09.17 13:58

    아 꼭 해보고싶은 작업인데요.
    우선 저 릴레이모듈은 직접 만드신거에요?
    살려고 보니까 없는것 같은데 어디서 구할 수 있는지 도움좀 주세요~

    • Favicon of https://ilikesan.com BlogIcon 산좋아해 2015.10.28 11:17 신고

      릴레이모듈은 인터넷에 팔아요.
      인터넷에 릴레이모듈 치면 되고요.
      해외쇼핑몰 알리익스프레스에서 싸게 팔아요.
      아마존도 좋구요.

  3. 공대생 2017.03.10 17:39

    라즈베리파이로 릴레이모듈을 통하여 제어를 하려고하는데, 작성자님의 코딩을 이용하였습니다. 그런데 궁금한것이몇가지 생겨 이렇게 글을 남깁니다.
    1. gpio값을 지정해주지 않았는데 on/off가 되나요? 작성자님은 gpio 17,18,22,27을 사용하셨던데 코딩에는 이것을 사용하는 어떠한 글이없던데 어떻게 동작하는건가요?
    2. 인터넷 서버창 까지는 띄웠는데 인터넷 창이 형성되면 따로 실행 코딩은 필요없는것인가요? python기본 예제에서 LED 제어하는 다른 분의 글에선 sudo python relayLED.py처럼 실행을 시키면 작동이 되곤 했었는데 서버 생성하면 다른 동작없이 서버의 리모콘으로 제어가 가능한것인가요?
    현재 저희는 서버창 까지 띄웠으나 서버에 버튼을 조작하여도 특별한 변화가 없습니다. 늦게 댓글을 달았는데 혹시 기억이나신다면 부탁드리겠습니다.

저번 시간에 이어 ds1820 온도센서를 이용해서 온도를 자동 저장하고 그래프로 출력하는 법에 대해서 강좌 하도록 하겠다.

아래의 강좌을 읽으면 프로그램을 이해하는데 도움이 된다.

  1. 2015/05/14 라즈베리파이 2 DS18B20 온도센서 PHP 프로그램, MySQL DB 저장 (2)
  2. 2015/05/13 라즈베리파이 2에서 APM(Apache,PHP,Mysql) 구축및 환경설정
  3. 2015/05/09 아두이노 라즈베리파이 온도센서 방수형 DS18B20 사용법
  4. 2015/05/09 라즈베리파이 아두이노 온도센서 방수형 DS18b20 상품 설명과 구매

crontab에 아래와 같이 일분에 한번 실행되도록 등록한다.

----------- 아래 --------
#temperature  auto save
* *     * * *   root    /usr/bin/php -q /home/pi/daemon_php/temp_save.php

----------- 아래 --------

 

crontab은 /etc/crontab 에 있으니 vi등을 이용해서 추가하면된다.

php는 웹폴더에 두지말고, 다른 폴더를 생성하기 바란다.

필자는 /home/pi/daemon_php/ 에 파일을 생성했다.

 

---------------------------- temp_save.php-------------------------------

<?php
// mysql 접속 계정 정보
$mysql_host = 'localhost';
$mysql_user = 'pi';
$mysql_password = 'XXXX';
$mysql_db = 'pi';

// 접속
$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password);
$dbconn = mysql_select_db($mysql_db, $conn);


// charset 설정, 설정하지 않으면 기본 mysql 설정으로 됨, 대체적으로 euc-kr를 많이 사용
//mysql_query("set names utf8"); 


//리눅스 명령어를 cat을 실행해서 온도센서의 데이터를 읽어 들인다.
$re=exec("cat /sys/bus/w1/drivers/w1_slave_driver/28-*/w1_slave");

//데이터중 온도값의 값을 추출하기위해서 "t="기준으로 배열로 분리한다.
$tem_c=explode("t=",$re);
//온도
$data['temp_c']=round($tem_c[1]/1000,2);
//날짜
$data['temp_ymd']=date("Ymd");
//시간
$data['temp_his']=date("His");



//쿼리, news 라는 테이블이 존재, id, title, content 필드가 존재할 경우
$query = "INSERT INTO `temperature`(`time_ymd`, `time_his`, `temperature`, `regday`) ";
$query .= "VALUES ('".$data['temp_ymd']."','".$data['temp_his']."', '".$data['temp_c']."', now() )";

//테스트를 위해서 쿼리출력
echo $query;

//쿼리 실행
$res = mysql_query($query, $conn);

?>
---------------------------- temp_save.php-------------------------------

 

 

프로그램이 정상적으로 실행되면 아래 처럼 일분에 한번씩 온도가 자동 저장된다.

 

 

저장된 온도를 하이차트를 이용해서 그래프로 출력하는 법을 익혀보겠다.

간단한 통계처리라면 구글차트도 좋지만, 하이차트는 개인 홈페이지는 무료이고 상용홈페이지도 저렴한 가격이고 다양한 그래프을 제공한다.

자바스크립트환경이고 모바일도 잘 지원된다.

아래의 사이트에서 방문해 보시기 바란다.

http://www.highcharts.com/demo

 

설치법은 해당프로그램 다운받고, 압축을 풀어서 웹폴더에 올리기만 하면된다.

 

최근 12시간의 온도 변화를 보여주는 프로그램은 아래와 같다.

 

----------------- temp.php-------------------------

<?php

$mysql_host = 'localhost';
$mysql_user = 'pi';
$mysql_password = 'XXXX';
$mysql_db = 'pi';

// 접속
$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password);
$dbconn = mysql_select_db($mysql_db, $conn);


// charset 설정, 설정하지 않으면 기본 mysql 설정으로 됨, 대체적으로 euc-kr를 많이 사용
//mysql_query("set names utf8");


$sql="
select * from (
SELECT DATE_FORMAT( regday,  '%m-%d %HH' )  mdh , COUNT( * ) cnt, SUM( temperature ) , round(SUM( temperature ) / COUNT( * ),2)  atemper
FROM  `temperature`
GROUP BY DATE_FORMAT( regday,  '%Y%m%d%H' )
order by regday desc
limit 12 
) t_a
order by t_a.mdh
";
//echo $sql;

 

$result = mysql_query($sql) ;


$str_mdh="";
$str_atemper="";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
// echo($row['mdh']."--------------".$row['atemper']."<br>");
 $str_mdh .="'".$row['mdh']."',";
 $str_atemper .="".$row['atemper'].",";
}
$str_mdh= substr($str_mdh,0,-1);
$str_atemper= substr($str_atemper,0,-1);
//echo $str_atemper;

?><!DOCTYPE HTML>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Temperature Example</title>

  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
  <style type="text/css">
${demo.css}
  </style>
  <script type="text/javascript">
$(function () {
    $('#container').highcharts({
        chart: {
            type: 'line'
        },
        title: {
            text: 'Average Temperature'
        },
        subtitle: {
            text: 'Source: ilikesan.com'
        },
        xAxis: {
            categories: [<?php echo $str_mdh?>]
        },
        yAxis: {
            title: {
                text: 'Temperature (°C)'
            }
        },
        plotOptions: {
            line: {
                dataLabels: {
                    enabled: true
                },
                enableMouseTracking: false
            }
        },
        series: [{
            name: 'Home',
            data: [<?php echo $str_atemper?>]
        }
   /*
   , {
            name: 'London',
            data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
        }
  */
  ]
    });
});
  </script>
 </head>
 <body>
<script src="/highchart/js/highcharts.js"></script>
<script src="/highchart/js/modules/exporting.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>

 </body>
</html>

----------------- temp.php-------------------------

 

웹에서 확인하면, 아래와 같이 잘 나온다.

 

 

다음 강좌에서는 릴레이을 이용해서 여러개의 전원을 php 프로그램을 이용해서 컨트롤 하는 법에 대해서 다루어 보겠다.

 

 

 

라즈베리파이에서 php 에러 구문이 막혀있는 아래와 같은 방법으로 출력하면 된다.

 

# php.ini 파일을 vi로 열고

sudo vi /etc/php5/apache2/php.ini

 

# php.ini 파일에서 아래의 설정변수를 Off에서 On으로 변경

display_errors = On

 

# 아파치를 리스타트해서 php.ini 파일을 적용한다.
sudo /etc/init.d/apache2 restart

 

티스토리나 워드프레스 등 글을 작성할때, 유용한 자바스크립트 툴이 있어서 공유합니다.

SyntaxHighlighter 는 자바스크립트와 CSS을 이용해서 웹상에 프로그램 문법과 구문을 읽기 편하게 구문 강조를 해주는 프로그램이다.

 Apache, Aptana, Mozilla, Yahoo, Wordpress, Bug Labs, Freshbooks 등 많은 사이트에서 사용하고 있다고 합니다.


아래의 사이트가 정식 사이트 입니다.

http://alexgorbatchev.com/SyntaxHighlighter







압축을 풀면 아래와 같은 폴더가 보이는데,

test.html 파일을 메모장을 통해 열어 보면 사용법을 알수 있다.




아래의 url로 가보면 지원되는 언어와 예제를 확인할 수 있다.

http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/



라즈베리파이 2 에서 온도센서를 PHP로 읽어 들이고, Mysql DB에 저장하는 법에 대해서 배우겠다.

이강좌를 이해하기 위해서는 앞의 강좌를 먼저 읽어 봐야한다.

그리고 , 당연히 Apach+ PHP + Mysql 환경 이어야 한다.

그런 본론으로 들어 가겠다.

 

아래는 먼저 읽어야하는 강좌 리스트 이다.

  1. 2015/05/13 라즈베리파이 2에서 APM(Apache,PHP,Mysql) 구축및 환경설정
  2. 2015/05/09 아두이노 라즈베리파이 온도센서 방수형 DS18B20 사용법
  3. 2015/05/09 라즈베리파이 아두이노 온도센서 방수형 DS18b20 상품 설명과 구매

 

일단 온도센서를 읽어들이는 출력하는 프로그램은 다음과 같다.

DB18B20.php

<?php
//리눅스 명령어를 cat을 실행해서 온도센서의 데이터를 읽어 들인다.
$re=exec("cat /sys/bus/w1/drivers/w1_slave_driver/28-*/w1_slave");
//데이터중 온도값의 값을 추출하기위해서 "t="기준으로 배열로 분리한다.
$tem_c=explode("t=",$re);
//현재 시간 과 온도값을 천으로 나누고, 소숫점 둘째자리에서 반올림 해서 출력한다.
echo ( "Time = ".date("Y-m-d H:i:s")." , Temperature =  ".round($tem_c[1]/1000,2)." C ");
?>


 

해당 프로그램을 웹에서 호출하면,

 

 

 

 

이 얼마나 간결하고 아름다운가? 감탄사가  헐~~~ 하고 나온다.

 

C, perl,자바(JSP), 파이썬 너희들 대가리 박고  웹에서는 덤비지 말라는 애기가 절로 나온다.

느들 주석빼고 , 3줄로 웹에 온도 센서값 뿌려줄수 있어?

 

C,자바 개발자가 돌 던지는 소리가 들린다. 웹 전용 랭귀지가 어디서 덤비냐?

이런 애비애미 못 알아 보는 놈 , 웃자고 하는 애기니 열받지 마시기를 ㅎㅎ

 

그럼 디비에 저장하는 법을 배워보겠다.

 

일단 Mysql 에 저장한 테이블을 생성하자.

--------- 테이블 생성 -----------


CREATE TABLE IF NOT EXISTS `temperature` (
  `no` int(10) NOT NULL AUTO_INCREMENT COMMENT '번호',
  `time_ymd` char(8) NOT NULL COMMENT '날짜 ',
  `time_his` char(6) NOT NULL COMMENT '시간',
  `temperature` float NOT NULL COMMENT '온도',
  `regday` datetime NOT NULL COMMENT '저장시간',
  PRIMARY KEY (`no`),
  KEY `time_ymd` (`time_ymd`,`time_his`,`regday`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;


--------- 테이블 생성 -----------

 

--------------- php 프로그램 ------------

<?php
// mysql 접속 계정 정보
$mysql_host = 'localhost';
$mysql_user = 'pi';
$mysql_password = 'XXXXXX';
$mysql_db = 'pi';
// 접속
$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password);
$dbconn = mysql_select_db($mysql_db, $conn);
 
// charset 설정, 설정하지 않으면 기본 mysql 설정으로 됨, 대체적으로 euc-kr를 많이 사용
//mysql_query("set names utf8");
 
//리눅스 명령어를 cat을 실행해서 온도센서의 데이터를 읽어 들인다.
$re=exec("cat /sys/bus/w1/drivers/w1_slave_driver/28-*/w1_slave");
//데이터중 온도값의 값을 추출하기위해서 "t="기준으로 배열로 분리한다.
$tem_c=explode("t=",$re);
//온도
$data['temp_c']=round($tem_c[1]/1000,2);
//날짜
$data['temp_ymd']=date("Ymd");
//시간
$data['temp_his']=date("His");
 
//insert sql 스트링 만들기 
$query = "INSERT INTO `temperature`(`time_ymd`, `time_his`, `temperature`, `regday`) ";
$query .= "VALUES ('".$data['temp_ymd']."','".$data['temp_his']."', '".$data['temp_c']."', now() )";
//테스트를 위해서 쿼리출력
echo $query;
//쿼리 실행
$res = mysql_query($query, $conn);
?>

웹브라우저로 실행,

 

 

 

 

실제 디비에 저장된 데이타를 phpmyadmin 에서 확인

 

 

 

다음 강좌에는 위의 프로그램을 일정시간 간격으로 자동으로 DB에 저장하고 그래프로 표현하는 법에 대해서 배워보겠다.

 

  1. BlogIcon 주호택 2015.05.24 21:54

    도움 많이 받았습니다!

    • Favicon of https://ilikesan.com BlogIcon 산좋아해 2015.05.26 10:20 신고

      반갑습니다. 공부하고 있는 내용을 정리하고 있는 중인데,
      주호택님에게 도움이 되었다니 기분 좋습니다.
      즐거운 하루 되세요.

  2. BlogIcon 정응재 2015.06.05 16:46

    정리 대단하시네요.. 정말 도움 많이 받았습니다.. 그런데 저는 온도센서를 라즈베리파이에 직접 연결하지 않고
    릴레이모듈에 연결한 뒤 블루투스 이용해 파이로 값을 받으려고하는데.. 아무리 찾아봐도 안나오네요..
    블루투스모듈 사용하는 방법좀 여쭤봐도될까요??

    • Favicon of https://ilikesan.com BlogIcon 산좋아해 2015.06.08 17:07 신고

      공부하면서 메모식으로 정리하고 있는데,
      칭찬도 해주시고, 더 정성을 들여야겠네요.
      릴레이모듈을 전원을 제어하는 것인데 어떻게 연결되지는 모르겠네요.
      릴레이모듈이 아니고 아두이노 아닌가요?
      아래의 동영상 강좌 추천합니다.
      https://www.youtube.com/watch?v=0mnp7m-v_30

  3. 김유리 2015.06.15 16:35

    안녕하세요 글 잘읽었습니다! 저도 이와 관련된 프로젝트를 진행하고 있는 학생인데요~ 지그비를 통해 받아들여온 데이터를 db에 저장하려면 어떤 방법을 써야하는지 혹시 아시나요?~ㅎㅎ

    • Favicon of https://ilikesan.com BlogIcon 산좋아해 2015.06.16 12:03 신고

      지그비를 통해 받아들여온 데이터를 바로 DB에 저장은 안 될것같습니다.
      아두이노, 라즈베리 파이와 통신해서 데이터 값을 넘기고,
      넘어온 데이타를 DB에 저장해야 할것 같습니다.
      아두이노는 자체에 DB 서버 설치가 불가하니 외부에 DB서버에 두어 데이타값을 전송해서 저장하면 되고요.
      라즈베리는 DB서버를 세팅해서 저장하시면 됩니다.
      아래의 url을 참고하세요.
      열심히 공부하셔서 프로젝트 잘 마무리하시기 빌겠습니다.
      https://devworksinprogress.wordpress.com/2011/06/18/project-zigbee-temperature-sensor/
      http://blog.killdoslab.com/220233558357?Redirect=Log&from=postView

  4. 김유리 2015.06.18 19:27

    자세한 답변 정말 감사합니다!!!ㅎㅎ 다행히도 잘 해결되었습니다! 좋은 하루되세요~ㅎㅎ

  5. BlogIcon 김병수 2015.10.29 15:22

    라즈베리파이 초보입니다. 이번에 php를 통해 외부 db와 연동하려합니다.
    라즈베리파이로 읽어온 데이타를 위에 php 파일에 localhost부분을 외부 db서버에 ip주소로 바꿔주면 외부 디비도 갱신할 수 있을까요?

  6. 2020.01.30 02:34

    비밀댓글입니다

    • Favicon of https://ilikesan.com BlogIcon 산좋아해 2020.02.06 12:30 신고

      에러 로그파일을 확인해 보시면 원인을 찾으실수 있을것예요.

라즈베리파이 에서 APM(Apache,PHP,Mysql) 환경 구축에 대해서 다루겠다.

필자는 다양한 환경에서 웹개발을 해 보았다.

 

웹 랭퀴지 선택에서 각각의 장단점이 있다.

리눅스 환경이므로 PHP, JSP 을 선택하라고 애기하고 싶다.

C에 익숙한 분들은 PHP,  자바에 익숙한 분은 JSP 환경의 tomcat을 선택하시면 된다.

디비는 mysql 을 추천한다 가볍고 빠르다. 무료이다. 그리고 한글화된 문서가 있다.

 

컴파일 해서 설치할수도 있겠지만,

간단하게 설치 할수 있는 방법으로 진행하겠다.

 

아파치 서버를 설치합니다

$ sudo apt-get install apache2

 

MySQL Database를 설치합니다.

$ sudo apt-get install mysql-server mysql-client


 PHP를 설치하자

$ sudo apt-get install php5 php5-common libapache2-mod-php5


 

 

 

아파치 DocumentRoot 는 아래와 같이변경하시면된다.

 

pi 계정으로 로그인해서. 아파치 DocumentRoot 로 사할  폴더를 만들고,

mkdir  /home/pi/www

 

해당 폴더를 권한를 755로 변경한다.

chmod  755 /home/pi/www

 

그리고 index.php 파일을 만들고, 아래와 같은 내용을 생성한다.

vi /home/pi/www/index.php

--------- index.php 인용 ----

<?
phpinfo();
?>

--------- index.php 인용 ----


아래와 같은 방법으로,아파치 설정을 변경해서 /var/www 에서 /home/pi/www로 변경하자.


root@raspberrypi:~# cd /etc/apache2/sites-enabled
root@raspberrypi:/etc/apache2/sites-enabled# ls
000-default
root@raspberrypi:/etc/apache2/sites-enabled# vi 000-default

----------- 000-default 파일 변경 ----------

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/pi/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /home/pi/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

.................

..................
----------- 000-default 파일 변경 ----------


 

 

아파치 설정이 끝났으면, 아래의 명령어로 아파치를 리스타트하자.

sudo /etc/init.d/apache2 restart

 

내부아이피를 이용해서 웹브라우저로 접속하면 아래 화면과 같이 나오면 , 정상적으로 설치된거다.

사용자에 따라 내부아이피 변경는 변경될수 있고,

필자는 고정아이피를 설정했다. 아래 링크 참고.


라즈베리파이 2 무선랜 아이피 고정하기

http://ilikesan.com/entry/라즈베리파이-2-무선랜-아이피-고정하기


iptime 할당 된 내부 아이피 알아내기.

http://ilikesan.com/entry/iptime-할당-된-내부-아이피-알아내기


 

 

 

See you Again ^^ 

 

 

 

 

  1. Ju 2015.10.30 01:52

    똑같이 따라하고 있는데 한가지 의문이 들어서 질문드립니다.
    php 설치하는 명령에서 보시면은 첨부된 스크린샷에도 그렇고 E: php-common 패키지를 찾을수 없다고 적혀있습니다... 즉 설치가 전혀 진행이 안되는데요... 명령어에 혹 잘못 쓰여진게 아닌지 궁금합니다.

  2. aaa 2015.12.10 22:53

    똑같이 해도 안됨....

  3. 오타낫네 2016.01.07 22:06

    php-common 이 아니라 php5-common 입니다 ^^

    • Favicon of https://ilikesan.com BlogIcon 산좋아해 2016.01.08 18:40 신고

      감사합니다. 수정해 놓았습니다.
      설치시 putty에서 실행 시켜보고, 명령어 복사해서 넣었는데,
      다시 한번 확인해 봐야겠네요.

  4. Favicon of https://nhs0912.tistory.com BlogIcon nhs0912 2016.01.16 15:08 신고

    라즈베리 파이 2에 오라클 DB 도 가능할까요??

  5. 질문드려요 2017.03.14 19:39

    Forbidden
    You don't have permission to access / on this server.
    오류가 발생합니다.
    모두 설치했는데 달랐던부분은
    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /home/pi/www 여기 수정하고,

    여기부턴 아래와같은 내용이 전혀없어 추가해줬습니다.
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    <Directory /home/pi/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    </Directory>

    저장후엔 리스타트도 했습니다.

방수형 온도센서 DB18B20 회로구성과 ,

라즈베리파이 기반에서 파이썬을 이용해 온도을 출력하는 프로그램에 대한 강좌을 할까 합니다.


아래 링크 정말 잘 정리되어 있습니다. 하지만 영문이죠? 핵심만 뽑아서 설명하도록 하겠습니다.

해도 한번 꼭 가서 보시기 바랍니다.

https://learn.adafruit.com/downloads/pdf/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing.pdf

 

브레드보드 연결 하는 법은 아래 그림을 참고하세요.

  

 그림을 보면 빨간색선은 3.3V 전압에 연결되어 있고, 

파란색선 그라운드에  이고,

노란색선은 온도 데이타를 전송 받는 선입니다.

저항은 3.3V 에서 4.7K-10K 을 쓰면 되는데, 4.7k가 정석이고 10k도 정상 동작되는 것은 확인했습니다.

 

아래 이미지는 방수형 온도센서 연결한 사진입니다.

위의 회로도와 크게 다르지는 않습니다. 어차피 같은 센서를 이용하는 제품이라 동일 합니다.


 

 

 

 

DS18B20는  특별한 1-wire 직렬 인터페이스 제어 로직 온도 센서 자체 포함 되어 있다고 합니다.


DB18B20은 칩에서 디지털신호로 노란선을 통해서 디지털  데이타를 보냅니다.

그 데이타를 하나의 디바이스로 인식 시키면 데이터값을 일종의 디바이스롤 인식해서 온도값을 가져올수 있다.


아날로그로 온도값을 입력받을 수 있는 센서의 경우는,

라즈베리파이는 별도의 장치가 필요하다.

그이유는 라즈베리파이는 아두이노처럼 ADC(아날로그 디지털 변환기)을  포함하고 있지 못해서,

자세한 내용은 아래 링크 참고.

http://blog.naver.com/warit/10190221742

 


온도센서 값을 읽기 위해 설정하는 법에 대해서 다르겠다.

 

Root 권한으로 라즈베리 관련 설정파일 맨 밑에

/boot/config.txt

아래와 같이 추가하고 리부팅(sudo reboot)해주세요.

dtoverlay=w1-gpio

 

리부팅하고 나서 아래와 같은 명령어를 입력하자.

sudo modprobe w1-gpio

sudo modprobe w1-therm


아래의 명령어로 디렉토리를 이동해 보면 두개의 디렉토리가 있다.

cd /sys/bus/w1/devices

-------------- 인용 ----------------

pi@raspberrypi /sys/bus/w1/devices $ ls -la
total 0
drwxr-xr-x 2 root root 0 May 13 06:16 .
drwxr-xr-x 4 root root 0 May 13 06:16 ..
lrwxrwxrwx 1 root root 0 May 13 06:16 28-02150015bcff -> ../../../devices/w1_bus_master1/28-02150015bcff
lrwxrwxrwx 1 root root 0 May 13 06:16 w1_bus_master1 -> ../../../devices/w1_bus_master1
-------------- 인용 ----------------

 

28-XXXX 로 시작되는 폴더로  이동해서 "w1-slave" 파일의 내용을 확인해 보면,

t=22187 부분이 온도를 나타낸다.  해당 값을 1/1000으로 처리하면 22.187도라는 온도가 나온다.

 

-------------- 인용 ----------------

pi@raspberrypi /sys/bus/w1/devices $ cd 28*
pi@raspberrypi /sys/bus/w1/devices/28-02150015bcff $ cat w1_slave
63 01 55 00 7f ff 0c 10 ec : crc=ec YES
63 01 55 00 7f ff 0c 10 ec t=22187

-------------- 인용 ----------------

 

 

 

센서가 제대루 작동하는지 간단한 방법은 테스트 할수 있다.

온도센서 부분을 손으로 잡으면 인용과 같이 온도가 천천히 올라간다.

-------------- 인용 ----------------
pi@raspberrypi /sys/bus/w1/devices/28-02150015bcff $ cat w1_slave
63 01 55 00 7f ff 0c 10 ec : crc=ec YES
63 01 55 00 7f ff 0c 10 ec t=22187
pi@raspberrypi /sys/bus/w1/devices/28-02150015bcff $ cat w1_slave
91 01 55 00 7f ff 0c 10 4d : crc=4d YES
91 01 55 00 7f ff 0c 10 4d t=25062
pi@raspberrypi /sys/bus/w1/devices/28-02150015bcff $ cat w1_slave
9d 01 55 00 7f ff 0c 10 72 : crc=72 YES
9d 01 55 00 7f ff 0c 10 72 t=25812
pi@raspberrypi /sys/bus/w1/devices/28-02150015bcff $ cat w1_slave
c5 01 55 00 7f ff 0c 10 45 : crc=45 YES
c5 01 55 00 7f ff 0c 10 45 t=28312
pi@raspberrypi /sys/bus/w1/devices/28-02150015bcff $ cat w1_slave
dd 01 55 00 7f ff 0c 10 3b : crc=3b YES
dd 01 55 00 7f ff 0c 10 3b t=29812
pi@raspberrypi /sys/bus/w1/devices/28-02150015bcff $

-------------- 인용 ----------------


 

파이썬언어를 이용해서 온도를 출력하는 프로그램을 작성하겠다.


 

아래는 소스파일 첨부

ds18b20.py

 

 

 

 

필자는 파이썬 프로그램에 대해서 전혀 모른다.

하지만, 포트란,BASIC,펄, C, 자바,php, 기타 등등에 대한 경험을 해보았다.

그래서 이정도 간단한 프로그램  딱보면 감으로 알겠다.


import 를 이용해서 프로그램에 필요한 라이블러리를 블려들인다.

os.system을 이용해서 시스템 명령어를 실행하고,

그밑에는 온도센스의 데이타가 들어 있는, 폴더와 파일에 대해서 선언 되어 있다.


그밑에 두개의 함수가  선언 되어 있는데.

read_temp_raw 함수는  온도센서의 값이 들어 있는 파일을 읽어 들어 문자열로 리턴한다.


read_temp 함수는 read_tem_raw 함수를 호출해서 문자열을 리턴 받고,

온도값이 들어있는 부분 "t=" 뒷 부분을 기준으로 문자열을 배열로 나누고,

그값은 temp_string에 저장한다.

temp_c는 섭씨(C) 온도를 저장하고,

temp_f는  화씨(F) 온도를 저장한 변수이다.

두 온도값은 리턴해준다.

 

일종의 메인프로그램에서 (C에서main)

read_temp 함수를 호출해서 온도값을 리턴받아 1초 간격으로 출력해준다.

 

 

실행해 보면 아래와 같다.


 sudo python ds18b20.py

 

 

 

끝까지 읽어주셔서 감사합니다.


 

다음 포스트는 웹프로그래밍(PHP)을 이용해서 온도센서의 값을 읽어들여  DB(Mysql)에 저장하는 법에 대해서 강좌 하겠다.


 

 

  1. BlogIcon 하소 2015.08.20 15:57

    안녕하세요 라즈베리 초보입니다. 님 블러그 보고 열공하고있습니다. ㅎㅎ ㄳㄳ
    온도센서를 따라하는 도중에 cd /sys/bus/w1/devices폴더로 이동하려니 bus 폴더안에 w1이라는 하위 폴더가 저는 없던데 만들어야하는건가요? 아님 원래 있는데 저만 없는건가요? 너무 초보라 한번 막히니 멘붕이네요 ㅜㅜ

    • Favicon of https://ilikesan.com BlogIcon 산좋아해 2015.08.27 10:25 신고

      온도센서를 인식하지 못하는 것 같습니다.
      설정 부분 다시 확인해 보시구요.
      Root 권한으로 라즈베리파이 관련 설정 다시확인해 보시고요.
      브레인보드쪽 연결 확인해 보세요.
      그래도 안 되면, 아래의 메뉴얼 번역하면서 확인해보세요 ^^
      https://learn.adafruit.com/downloads/pdf/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing.pdf

  2. 김하경 2015.09.05 00:19

    안녕하세요 강좌 너무쉽게 설명되어있어서 넘 좋아요
    한가지 궁금한게 있는데 아파치 웹서버에서 PHP 웹페이지에 GPIO GPIO21 핀의 상태값을 받을수 있는가요?
    <?php
    $re=exec("cat /sys/bus/w1/devices/28-00043e55b9ff/w1_slave" );
    echo "<font style=font-size:30pt align=center> 온도값 : $re </font> " ;
    ?>

    이렇게 온도값을 받고 있는데

    혹시 이렇게 GPIO 상태값 1 or 0 을 받을수 있는가요?

    <?php
    $re=exec("cat /sys/class/gpio/gpio21/value" ) ;
    echo "<font style=font-size:30pt align=center> 상태값 : $re </font> " ;
    ?>

    테스트 해보니깐 빈화면만 출력되네요 권한문제인가요 어떻게 해야하나요 도와주세요

  3. BlogIcon 나그네 2015.11.08 20:29

    먼저 정확하게 온도계를 설치하고
    modprobe w1-gpio
    modprobe w1-therm을 치면 자동으로 만들어지는 것들입니다.

라즈베리파이용 온도센서를 찾다, 방수형 DS18B20 알리익스플레스를 통해서 구매했습니다.

개당 2천원 선 아주아주 착한 가격.

2-3 주동안 인내하면 싼 가격에 구매할수 있습니다.

링크 공개 하겠습니다. 본인은 중국 판매자와 아무관계 없습니다.

http://www.aliexpress.com/snapshot/6596771410.html?orderId=66739600462047


국내에서도 싸게 파는 곳 있네요. 지마켓입니다. 

http://gmkt.kr/goUWXs


 

 

 

 

상품설명  해석으로 대신 하겠다.

-------------------------------------------------

Probe DS18B20 temperature sensor chip using original

DS8B20는  방수 온도 센서 칩을 사용한다.

 

High quality stainless steel pipe anti- rust waterproof package

고품질 스테인레스 파이프는 방수로 녹이 생기지 않는다. 

 
Stainless steel housing (6 * 50mm), lead length 100cm

스테인레스 부분은 (6 * 50mm)이고, 전체길이는 일미터

 
fter rigorous testing each probe individually wrapped

각 상품들은 엄격한 상품 테스트를 받았다.

 
3.0V ~ 5.5V power supply

3.0V~5.5v 전압에서 지원한다.

 
9 to 12 adjustable resolution

9~12개  해결 가능하다

 
Temperature range -55 ° ~ +125 °

온도 측정범위  -55 ° ~ +125 °

 
No external components , the unique single- bus interface
외부 부품 없이 독특한 단일 버스 인터페이스로 동작한다.

 

Output leads : Red (VCC), yellow (DATA), black (GND) (may be have other color,but the output not change)

빨간선은 VCC 이고 노란선은 DATA 전송, 검정색은 GND 그라운이다. (다른 색깔일수도 있지만, output은 변경되지 않는다.)  

-------------------------------------------------

 

그리고 온도 편차에 대해 안 나와 있는데, 대략 +- 0.5도 이다.


아래의 링크로 가보시면, 파이썬 언어 기반에 대한 자세한 강좌를 볼수 있습니다. 

https://learn.adafruit.com/downloads/pdf/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing.pdf

 

DS18B20에 사용법에 대해서 다루겠다.



라즈베리파이2에서 국가 시간을 선택하는 방법을 다루겠다.

 

1. root로 로그인
pi@raspberrypi ~ $ su -

 

2.raspi-config 실행

root@raspberrypi:~# raspi-config

3. 4번 4 Internationalisation Options 국가별 옵션 선택 

 

4. I2 Change Timezone 선택 

 

5. Asia 선택

 

 

6. Seoul 선택하고 ok 누르면 성공 참 쉽죠~

 

7. 시간 확인은 date 명령어로 해보시고 핸드폰 시간과 일치하면 정상입니다.

 

 

ssh로 root 계정으로 로그인 하고,
아래와 같이 vi을 이용해서 네트워크 정보를 수정해 주세요.
vi /etc/network/interfaces

 

아래와 같이 리부팅하게 되면, "192.168.0.30" 으로 아이피가 고정됩니다.

reboot

 


---------  /etc/network/interfaces 원본 ----------------
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

---------  /etc/network/interfaces 원본 ----------------

---------  /etc/network/interfaces 수정 ----------------
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet static
address 192.168.0.30
netmask 255.255.255.0
gateway 192.168.0.1

---------  /etc/network/interfaces 수정 ----------------

 

 

 


 

  1. BlogIcon 김선영 2015.06.06 20:14

    여기에 있는 interfaces원본이 정말 원본인가요? 무선랜이랑 이것저것 건들다보니 지금 interfaces가 양이 많아진 상태인데요... 이게 다른거 수정안한 원본이라면 그대로 가지고 와서 덮어쓰기를 하고 싶은 상황입니다. !

    • Favicon of https://ilikesan.com BlogIcon 산좋아해 2015.06.08 16:54 신고

      네 원본 맞습니다. 복구용으로 쓰시면 됩니다.
      아래 참고하세요.
      http://askubuntu.com/questions/214170/whats-the-default-etc-network-interfaces

 

 

아두이노 dragio yun 쉴드 리셋 시키는 법은 아래와 링크를 보면 된다.

간략히 해석혀면,

5초 동안 리셋 버튼을 누르면, Wifi setting 정보가 초기화 되고,

30초 동안 누르면, 모든 세팅이 공장에서 세팅된 값으로 초기화 된다.

리셋버튼은 usb 호스트 버튼 옆에 있다.

 

 

-------------- 아래 원문 ------------------

http://wiki.dragino.com/index.php?title=Yun_Shield#How_to_reset_the_Yun_Shield.3F

 

 

How to reset the Yun Shield?

Yun Shield has a toggle button which can be used for reset. When the system of Yun Shield is running, user can press the toggle button to reset the device. When press this button, the WLAN LED will blink.

  • If pressing the toggle button and release after 5 seconds, it will reset the WiFi setting and other settings will be kept.
  • If pressing the toggle button and release after 30 seconds, it will reset ALL the setting to factory default .

iptime 공유기에 접속된 사설 아이피 주소를 알아 볼 경우가 있다.

방법은 아래의 주소를 웹브라우저에 입력해서 접속하면 된다.

http://192.168.0.1/

하지만 기본 설정이 아닌경우는 공유기를 아이피 번호를 알아야 한다.

윈도운 시작 버튼 누르고, 프로그램 및 파일 검색에서 "cmd" 명령어를 치고,"ipconfig" 명령어를 치면 ,

기본 게이트웨이의 아이피 주소를  입력하면 공유기에 접속할 수 있다.

고급설정>내부 네트워크 정보>사용중인 ip 주소 정보을 보면 아래와 같이 알수 있다.

 

 

 

 

 

 

 

 

공부하려 아두이노(http://blog.arduino.cc) 메인 홈페이지에 떠있는 감동적인 글을 보았습니다.

 

원문링크: http://blog.arduino.cc/2015/03/24/having-fun-with-music-in-a-science-class/

 

 

분당경영고등학교에서 물리교사님이 아두이노를 활용해 아이들과 다양한 악기를 만드는 수업을 진행하고 있습니다.

수업은 아래와 같은 단계로 이루어집니다.

1. 각종 센서에 대해서 공부하고.

2. 아누이노 악기를 디자인하고 설계하고.

3.  함께 만들고

4.  아누이노 악기에 대해서 발표합니다.

 

 

 

 

이수업을 진행하는 분당경영고등학교 물리교사님에게 응원의 메세지를 보냅니다.

" 선생님 화이팅 하시고요.

선생님 같은 분이 있어 세상이 살맛 납니다.

지식보다는 인성이 바른 학생들로 가르쳐 주셨으면 합니다."

 

물리교사님이 운영하는 블로그의 해당 링크입니다.

http://wool.pe.kr/220209398449

 

 아두이노의 윤 실드를 알아보다, 가격상의 문제로 yun shield 을 알리익스플레스로 3만원대에 구매했다.


홈페이지 주소 입니다.

http://www.dragino.com/products/yunshield.html


아래의 그림을 보면 이해가 빠른것 같다.

아두이노 레오파드와 호환되는 이더넷과 와이파이를 지원하고 리눅스가 탑재되어 있는 아두이노 쉴드이다.

그밖에 usb flash, remote upgrade, web ui을 지원한다고 한다고 한다.




레오파드를 가지고 있지 않는 관계로 우노로 간단한 설치와 테스트를 해볼까한다.

몇일후 레오파드가 오면 그부분도 다루겠다.


아래의 url로 가면 설치 방법이 나와있다.

http://wiki.dragino.com/index.php?title=Yun_Shield


아래와 같이 노란부분에 두핀짜리 짹을 끼워 놓는다.




아래의 사이트로 가서 설명과 같이 다운받을수 있다.

https://github.com/dragino/modules/tree/master/hardware/YunShield/sketchbook/hardware/YunShield




옛날 산행기 발견 이따는 날려 댕겼는데.


1. 산행일 : 2006년 10월 3일(화) ~ 4(수)

 

2. 날씨

3일 : 맑음,늦 더위 (계곡풍)
4일 : 안개,맑음,늦 더위 (계곡풍)

 

3. 산행지 및 위치 : 전라남, 북도. 경상남도

 

4. 산행코스

성삼재 ㅡ> 노고단 ㅡ> 노루목 ㅡ> 반야봉 ㅡ> 삼도봉 ㅡ> 연하천 ㅡ> 벽소령 ㅡ>

세석 ㅡ> 장터목 ㅡ> 천왕봉 ㅡ> 장터목 ㅡ> 세석 ㅡ> 벽소령 ㅡ> 연하천 ㅡ>

삼도봉 ㅡ> 노루목 ㅡ> 노고단 ㅡ> 성삼재.

 

5. 시간대별 일정

15:05 성삼재 출발

15:38 노고단 대피소

16:33 임걸령

17:45 반야봉

18:41 삼도봉

20:50 연하천 대피소

21:40 연하천 출발

22:30 형제봉 (식사)

23:20 형제봉 출발

 

00:05 벽소령

02:00 칠선봉

02:55 영신봉

03:25 촛대봉

04:25 연하봉

04:44 장터목 대피소

05:50 천왕봉

06:30 천왕봉 출발

08:30 장터목 식사후 출발

10:00 세석 대피소

10:20 세석 대피소 출발

13:10 벽소령 대피소

13:40 벽소령 출발

14:57 연하천 대피소

16:20 토끼봉

16:50 화개재

17:21 삼도봉

19:00 노고단 (선두 ; 1800 / 후미 ; 1930)

 

19:35 노고단 출발

20:15 성삼재 도착

 

6.산행인원 3명

== 종주자 8명 ==

삼국지 (남유진), 다니♣이수현, 새벽별 (남기영), 커스텀 (정낙천),

삼백억의사나이 (조경호), 호산아 (김병희), 무골호인 (이현백), 지상비행™『강하영』

== 함께한 회원님 ==

문향 (노유정), 정두 (장대신), 동다송 (박경령)

 

7. 소요시간

29시간 10분

 

8. 벙개장 : 지상비행™『강하영』

 

9. 교통 : 편도 버스 & 대중교통 ( 기차 & 택시 )

 

10.산행시 주의점

-.주,야 지리 주능선의 바윗길 ( 발목 조심 )

-.적절한 체력안배 및 일출조망 시 방풍 유의

-.구급약 준비

-.야간산행시 각 산장 통과때 주의

 

11. 산행지 볼거리

-.반야봉 낙조

-.지리 주능선의 단풍

-.천왕봉 일출

 

12. 특이사항

-.법정 산행시간 이후 산장 통과시 최대한 신속하고 조용하게 통과할것.

-.구례구역에서 성상재 택시 이용할 경우 " 이 경태 011 616 - 9102 " 이용하세요

   택시 1대당 2만 5천원입니다. ( 타 택시 보다 5천원 저렴합니다 )

   * 서울에서 왔다고... 2030등산모임에서 왔다고 하면 알아 들으실 겁니다.

     참고로 이분하고는 전혀 관계없으나 친절해서 루트 텨볼까해서 올립니다~ 

 

13. 마지막으로..(한마디 소감)

많은 산우님들과 함께 하지는 못했지만, 우여곡절 끝에 j3를 제 품에 안았습니다.

함께 해준 회원님들과 안팎으로 챙겨주신 분들, 끝까지 응원해주신 분들...

그리고 먼길 함께 해준 호산아님, 무골호인님. 머리숙여 감사드립니다...

 

회원님들 건강하세요~~

  1. 2013.12.02 15:42

    비밀댓글입니다

4월 19일 양재시민의숲 벚꽃 만개했습니다.
데이트코스, 가족모임, 체육대회 장소로 추천합니다.




'여행 > 볼거리' 카테고리의 다른 글

양재시민의숲 벚꽃 만개  (1) 2013.04.19
2013 순천만국제정원박람회- 일주전에 방문.  (0) 2013.04.15
여수 하멜 전시관 4월 15일  (0) 2013.04.15
  1. 문화관광 2017.12.01 16:52

    「 광주 북구 8경 전국 UCC 공모전 입상작 」

    지난 2016년 6월~9월 광주 북구 8경을 알리고 소개하는 참신한 내용을 주제로
    개최한 ‘광주 북구 8경 전국 UCC 공모전’ 입상작 영상입니다.
    많은 시청 바랍니다. 감사합니다.

    [광주 북구 8경]
    ① 무등산(북구 관내)
    ② 국립 5·18 민주묘지
    ③ 중외공원 문화벨트
    ④ 충효동 왕버들과 호수생태원
    ⑤ 원 효 사
    ⑥ 환벽당과 풍암정
    ⑦ 말바우 시장
    ⑧ 광주-기아 챔피언스필드

    2016년광주북구8경UCC 민주주의 역사와 아름다운 자연을 거닐다우수상
    https://youtu.be/-jdpnkkJjZQ

    2016년광주북구8경UCC 광주 북구 8경 나들이최우수상
    https://youtu.be/pQUxE6sDDl4

    2016년광주북구8경UCC 나를 찾아떠나는 여행 광주 북구 8경장려상
    https://youtu.be/G-YVYOODLuI

    2016년광주북구8경UCC 광주 북구 8경으로 함께 떠나요장려상
    https://youtu.be/Vzlyp7-mjgc

    2016년광주북구8경UCC 함께가자! 북구 8경 나들이!대상
    https://youtu.be/rWHQNkxHswI

일주일 전에 순천만국제정원박람회에 다녀 왔습니다.

아직 한참 공사중이고, 일반인에게 오픈되지 않습니다.

다음주에 순천에 가게되면, 다시 포스트 하겠습니다.


주차장에서 5분 정도 걸어가면, 박람회장이 보입니다.


남도농특산품관이 보이네요.


정문에 각종 튤립이 이쁘게 피었네요.



정문의 모습입니다.

관계자외 일반인은 통제하고 있습니다.

홈페이지:

http://www.2013expo.or.kr/





이 장소를 Daum지도에서 확인해보세요.
전라남도 순천시 풍덕동 | 2013순천만국제정원박람회
도움말 Daum 지도

'여행 > 볼거리' 카테고리의 다른 글

양재시민의숲 벚꽃 만개  (1) 2013.04.19
2013 순천만국제정원박람회- 일주전에 방문.  (0) 2013.04.15
여수 하멜 전시관 4월 15일  (0) 2013.04.15

여수수산시장 포스팅 합니다.

하멜전시관에 갔다.

요즘 제철 쭈꾸미를 구매하려 가보았습니다.

시장이 전체적으로 까끔하고 먹거리가 풍부합니다.

2011년 3월에 새로 단장했다고 합니다.

즉석에서 회를 떠서 바닷가에 가서 먹을 수도 있습니다.

필자는 제철이라는 쭈꾸미, 갑오징어, 멍게 회를 먹었습니다.


해당 홈페이지

http://www.myeosu.kr/greeting.html


식당가의 모습 사람들이 많습니다.


해산물이 싱싱하네요.


수산물을 판매하는 곳 횟도 떠줍니다.







이 장소를 Daum지도에서 확인해보세요.
전라남도 여수시 중앙동 | 여수수산시장
도움말 Daum 지도

'여행 > 먹거리' 카테고리의 다른 글

새로 단장한 여수 수산 시장 방문  (0) 2013.04.15


여수에 방문했다. 하멜 전시관에 방문했다.

'하멜표류기'로 잘 알려진 하멜 일행의 제주도 표착을 시작으로 여수에서 3년 6개월 간의 삶과 흔적을 모아 그들이 떠난 역사적인 장소에 하멜 전시관을 건립하였다.

전립일은 2012년 10월 4일 입니다.

무료로 운영되니 여수에 방문할 기회가 있으면 꼭 방문해 보시기 바랍니다.

건립현황 안내문




정문 새 건물이라 깔끔합니다.



하멜과 여수에 해한 기념비.



하멜 전시관 안내문



관람시간은 09시부터 18시

관람료 무료


2012 여수세계 박람회때 네달란드에서 기증한 하멜 보고서입니다.




전시관 내부 모습입니다.


외부에 풍차가 있습니다.

네덜란드를 상징하는 구조물인듯.


도산으로 연결되는 거북선 대교 


하멜 등대 근처에서 낚시를 즐기는 분들이 보입니다.


하멜 등대입니다.



여수 해양 공원과 여수 남산 공원, 돌산대교가 보입니다.





이 장소를 Daum지도에서 확인해보세요.
전라남도 여수시 동문동 | 하멜전시관
도움말 Daum 지도

'여행 > 볼거리' 카테고리의 다른 글

양재시민의숲 벚꽃 만개  (1) 2013.04.19
2013 순천만국제정원박람회- 일주전에 방문.  (0) 2013.04.15
여수 하멜 전시관 4월 15일  (0) 2013.04.15

산행일: 2013년 4월 7일

날씨: 새벽에 산 정상에 눈옴

같이 간 산우: 회사 동료

 

산행지 소개:

높이 657m이다. 하남시 동쪽 한강변에 솟아 있으며, 한강을 사이에 두고 운길산(雲吉山), 예봉산(禮峰山)과 이웃해 있다. 백제 때 검단선사(黔丹禪師)가 이곳에 은거하였다 하여 검단산으로 불리게 되었다.

높이는 관악산(冠岳山:629m)과 비슷하지만 《동국여지승람(東國與地勝覽)》에서 광주목의 진산(鎭山)이라고 일컬을 정도로 산세가 특이하다. 가파른 경사를 지나 능선에 올라서면 사방의 전경이 시원하게 열리고, 서서히 정상에 이르는 길이 매우 다채롭다.
서울 근교에 있고 교통이 편리하며, 등산로가 잘 정비되어 있을 뿐 아니라 코스도 그다지 어렵지 않아 일일 산행으로 가족 나들이하기에 좋다. 산행은 하산곡동의 산곡초등학교 쪽과 팔당댐 건너 아래배알미쪽 등산로를 이용할 수 있는데 전자가 교통이 더 편리하다. 이밖에 창우동의 한국애니메이션고등학교 방면에서 시작되는 현충탑 등산로도 있다.

하산곡동에서 출발하는 산행은 처음에는 경사가 매우 가파르지만 산 중턱에는 노송이 길을 덮어 쉬어가기 좋다. 넓고 평평한 정상에 서면 멀리 북한산과 도봉산 줄기가 한눈에 보인다. 동쪽으로는 팔당댐이 보이고, 남쪽으로 뻗은 능선에는 용마산(龍馬山)이 솟아 있으며, 서쪽으로는 중부고속도로가 힘차게 달린다. 본래 세종대왕의 능을 이곳에 쓰려다 여주로 옮겨가게 되어 닦아 놓은 능터가 지금도 남아 있어 역사를 말해주고 있으며, 《서유견문》을 쓴 유길준(兪吉濬)의 묘가 있다

 

총산행시간은 4시간

산행시간 3시간

휴식시간 1시간

 

산행경로

 

 올라가는 초입 등산로는 산책길입니다.

 

생강나무 꽃이 피었네요.

 

산 중턱에 있는 약수터입니다.
이곳은 갈때마다 수질 적합이고, 물 맛이 좋습니다.

 

헬기장에 오르면 산 정상 부분에 흰 눈이 한 눈에 보이네요.

 

 

정상 부분 이곳 저곳 눈꽃이 피었습니다.

 

 

 

 

검단산 정상석입니다.
양평, 가평이 보이네요.

 

 

 

트랭글GPS 처음으로 사용해 보았습니다.
정확히 나오네요.
정상까지 안 쉬고 쭉 올라오면, 1시간 10분만에 올라올 수 있습니다. 

 

 

 

 

정상에서 산우들과 합류해서 단체사진 찍었습니다.

 

 

 

 

한강 건너편에 저번달에 갔다온 예봉산, 예빈산이 보입니다.

 

 

 

하산길에 있는 유길준의 묘 안내표지판입니다.

 

 

하산길에 진달래가 이쁘게 피었네요.

 

하산 완료, 이곳에 화장실도 깨끗하고 여름에는 슈퍼에서 아이스크림 사먹으면 좋습니다. ^^

 

 

 

이 장소를 Daum지도에서 확인해보세요.
경기도 하남시 천현동 | 검단산
도움말 Daum 지도

대한민국 산경도 입니다.

출처는 

http://user.chollian.net/~park56eh/index1.htm



'등산지도' 카테고리의 다른 글

남한민국 산경도  (0) 2013.04.10
지리산 전도 세부지도  (0) 2011.02.14
영남알프스 등산지도  (2) 2008.07.24
설악산 등산지도  (0) 2008.07.24
주작산,덕룡산 종주 지도  (0) 2008.04.02
전국명산위치도  (0) 2007.10.19
사자산 등산지도  (0) 2007.08.30
한라산 등산지도  (0) 2007.08.28
소백산 등산지도  (0) 2007.08.23
도봉산 등산지도  (0) 2007.08.22
덕유산 등산지도  (0) 2007.08.22

김디자이너님 감사합니다.

 

 

 

 




'나의일상 > 세상이야기' 카테고리의 다른 글

블로그 상단타이틀 이미지 변경  (0) 2013.04.03
순천 동천 벚꽃 만개 2013-03-31  (0) 2013.04.01

이번 주말에 찾은 순천 동천 벚꽃과 개나리가 만개 했습니다.

참 이번 주중이나 주중이 가장 이쁜것 같습니다.

가족단위 나들이로 강추합니다.






 


이 장소를 Daum지도에서 확인해보세요.
전라남도 순천시 조곡동 |
도움말 Daum 지도

'나의일상 > 세상이야기' 카테고리의 다른 글

블로그 상단타이틀 이미지 변경  (0) 2013.04.03
순천 동천 벚꽃 만개 2013-03-31  (0) 2013.04.01


트랭글 GPS를 해보기 위해서 외장형 배터리를 구매했습니다.

아이폰5가 배터리가 너무 조루라 ㅎㅎ

대용량 10000mah으로 할까하다.

요즘 장거리 산행을 안가는 이유로 파워뱅크 5000mah 로 구매했습니다.

구매처는 지마켓

http://item.gmarket.co.kr/detailview/item.asp?goodscode=253101913

29,000원 정도.가격대비 만족도 짱.

일단 부담 없는 크기, 가벼운 무게 .

예전에는 참 많은 비용을 GPS 기기에 투자한것 같습니다.

그역사를 애기하면,

시작은 한북정맥의 지맥에 가면서 부터입니다.

지맥은 솔직히 독도만으로 길찾기가 힘듭니다.

구매 스토리.

1. 영진 1만 전국 전도 + 나침판

2. PDA 을 개조해서 산악용 GPS로 활용, 거기다 배터리 충전기 2개 충전지 20여개 구매, 보조 배터리 구매.

3. PDA 맵에 GPS 좌표 셋팅하기 귀찮아서 결론 마젤란 GPS 구매 ㅎㅎ

요즘은 참 좋은 세계인듯.

스마트폰 하나면 해결되는 세상 ㅎㅎ.

등산용 앱도 많이 나와 있구요.

 

 

 

포장된 상태 앞면


포장된 상태 뒷면


전원버튼과 충전상태를 나타내는 led가 보이네요. 초점이 안 맞은듯. 제품은 깔끔한 디자인입니다. 


마음에 드는 갖종 젠더들.


LED을 켜보았습니다.


친절하게 한글 사용설명서를 보내주셨네요.

다음에는 산에가서 사용기를 만들어서 올려보겠습니다.


다음주에 산에 가시는 분들을 위해 검단산 산행코스 추천해 봅니다.
와이프의 컨펌이 떨어지면 저도 동참.

G에서 산불감시초소로 시계반대 방향으로 등산하세요.

이유는 그 방향으로 가야 올라가는 등산객이 많이 등산로 찾기 쉽고, 등산길도 편합니다.

중간 지점에 약수터가 나와서 물 보충하기 편함니다.

그리고 경사가 완만해 안전하게 하산할 수 있습니다.

순수 산행 시간은 3개 정도 잡으면 되고요, 아래의 트래킹 정보를 확인하세요.





 

오랫만에 산행 사진 올려 봅니다.

직장동료들과 예봉산 출발했습니다.

예봉산 예빈산은 한 5번 정도 가본 산행지 입니다.

운예종주로 많이 가고, 천마지맥의 시작점 이기도 합니다.

산행등급은 초급 순수 산행시간 4시간 정도, 단 예봉산 가파른 편이라 올라갈 때 힘듭니다.

 

팔당역에서 집결 ^^ 

 

등산로 입구에 자전거 카페와 렌트업체를 많이 볼수 있고, 자전차 타는 사람도 많습니다.

 

등산로 초입에 등산 지도가 잘 되어 있습니다.

이정표도 잘 되어 있구요.

등산객도 많은 편입니다.

 

예봉산과 예빈산 갈림길.

 

 

예봉산 올라가는 길에 본 강 건너 검단산.

 

검단산과 하남시 파노라마 사진입니다.

 

 

예봉산 정상에서 파는 감로주 ^^

이것 맛있어요. 등산로 입구에서도 팝니다.

 

예봉산 정상인데, 날씨 좋은날은 한북정맥의 도봉지맥,수락지맥, 화악지맥, 명지지맥, 검단지맥, 한강기맥.... 수백개의 산들을 볼수 있습니다.

 

 

 

 같이 간 분들과 인증샷.

 

2013년도에 보는 마지막 눈인듯, 아직 눈이 조금 남아있네요 신기.

 

와이프님이 싸준 맛나는 김밥과 과일들 항상 땡큐 감사 ^^

 

요기가 예빈산 직녀봉 전망이 좋습니다.

 

 

 

 

예빈산 정상 사진입니다.

하늘이 이쁘요 ^^

 

예빈산에서 봐라본 검단산.

 

하산길 천주교 공동묘지에서 본 토끼 ^^

완전 귀요미.

 

하산하면 교통편이 좋습니다.

저희는 팔당역으로 이동 ^^ 버스는 10분간격으로 있고 이동시간은 20분정도 입니다.

간만에 올린 산행기 끝까지 읽어주셔서 감사합니다.

요즘 바쁘다는 핑계로 안올리는데, 시간날때 또 올리겠습니다.

 

  1. 2015.02.06 21:08

    비밀댓글입니다

  2. 2015.02.06 21:08

    비밀댓글입니다

+ Recent posts