우선 먼저 밝혀야 하는 것은 가장 큰 진도가 느껴진 경주 지역은 아주 오래전 조선왕조실록에서 기록되었을 만큼 한반도에서의 강력한 잠재적인 지진대에 속하는 것이 사실이다.
 
     근거 : http://news.kbs.co.kr/news/view.do?ncd=3344457
    
하지만 그 보다 더 중요한 것은 이번 지진이 경주 뿐만이 아니라 거의 전국 전부에서 감지 되었다는 사실이다.

그리고 그것으로 인하여 현재 인터넷에서는 한가지 큰 루머가 퍼지고 있는데 바로 그것은 '북한의 핵실험이 이번 지진에 영향을 줬다.' 라는 것이다.

과연 그것은 사실일까?

필자는 이번 포스팅에서 개인적인 의견은 일체 반영하지 않겠다.

검색을 디테일 적으로 해보니 국제적으로 그것에 대한 근거 자료들이 상당히 많이 존재하는 것을 알게 되었다.

먼저 북한의 핵실험이 백두산의 화산활동을 자극할수 있다는 연구발표는 이미 많이 접해 봐서 알 것이다.

    근거1. :  http://www.rfa.org/korean/weekly_program/environment/environment-04282016095417.html
     근거2. : http://mn.kbs.co.kr/news/view.do?ncd=3233977
   

그리고 이미 미국 지질조사국(USGS)에서는 이미 그 가능성에 대해 염두고 두고 있는 자료를 가지고 있으며 대부분의 과학자들이 핵실험이 실험 영역 외부에 지진대에 영향을 줄 수 있다는 가능성을 동의하고 있다는 사실을 기재 하고 있다.  



    근거 : https://www2.usgs.gov/faq/node/3339




    근거 : http://earthquake.usgs.gov/learn/topics/megaqk_facts_fantasy.php




   
다음 위키백과 사전 에서도 핵실험 장소에서 멀리 떨어진 곳에서 지진이 발생할 수 있다는 사실이 기재되어 있다.

    근거 : https://en.wikipedia.org/wiki/Effects_of_nuclear_explosions
 




 이상 핵실험이 멀리 떨어진 곳에 지진대에 영향을 끼칠수 있다는 근거들을 종합해 보았다.


도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


간단히 클립보드로 지정된 텍스트를 복사해주는 html 스크립트를 만들어보자.



이러한 기능의 필요성은 소스에 대한 공부나 혹은 필요한 텍스트 데이타를 고객에게 손쉽게 제공해 줄 수 있는 역할을 해 줄수가 있다.


예제는 다음과 같다.


무제

Source_File name : copy_to_clipboard.html     |     [Download-none]    |     Type : java_script html         클립보드로 복사 → (본문 클릭)



실행 결과



텍스트 복사에 성공 하였습니다.









도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


간단히 클립보드로 지정된 텍스트를 복사해주는 html 스크립트를 만들어보자.



이러한 기능의 필요성은 소스에 대한 공부나 혹은 필요한 텍스트 데이타를 고객에게 손쉽게 제공해 줄 수 있는 역할을 해 줄수가 있다.


예제는 다음과 같다.



무제

Source-File name : copy_to_clip_board.html     |     [Download_none]    |     Type : Java script + html     |     클립보드로 복사 (본문 클릭)




실행 결과



텍스트 복사에 성공 하였습니다.









도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


[Name]   


glsc - < GLade Source Cooker >


[ Section ]   


devel


[ Version ]


0.1-1


[ 지원 아키텍쳐 ]   


x86_amd64, i386, armhf, arm64


[ 지원 운영체제 ]   


Linux_ubuntu - xenial, wily, yakkety, vivid, trusty, precies


[ 빌드 & 컴파일러 ]


Bash, gcc, python


[ 의존 패키지 ]


glade, gcc, libgtk-3-dev


[ 설명 ]   


Glade 로 만든 gtk xml 파일인 *.glade에 대한 소스 파일을 자동으로 설계하고 컴파일 까지 간편화 해주는 소프트웨어.


[ 특징 및 변경 사항 : Changes log ]   


최초 배포


[ 설치 방법 ]   


sudo apt-add-repository ppa:cosmosp2016/apps


sudo apt update


sudo apt install glsc



[실행]   


glsc



[사용 방법]   


glsc --help







[Name]   


glsc - < GLade Source Cooker >


[ Section ]   


devel


[ Version ]


0.1-1


[ 지원 아키텍쳐 ]   


x86_amd64, i386, armhf, arm64


[ 지원 운영체제 ]   


Linux_ubuntu - xenial, wily, yakkety, vivid, trusty, precies


[ 빌드 & 컴파일러 ]


Bash, gcc, python


[ 의존 패키지 ]


glade, gcc, libgtk-3-dev


[ 설명 ]   


Glade 로 만든 gtk xml 파일인 *.glade에 대한 소스 파일을 자동으로 설계하고 컴파일 까지 간편화 해주는 소프트웨어.



[ 특징 및 변경 사항 : Changes log ]   


최초 배포



[ 라이선스 ]


GPL 2.0+


[ 설치 방법 ]   


sudo apt-add-repository ppa:cosmosp2016/apps


sudo apt update


sudo apt install glsc



[실행]   


glsc



[사용 방법]   


glsc --help







[Name]   


glsc - < GLade Source Cooker >


[ Section ]   


devel


[ Version ]


0.1-1


[ 지원 아키텍쳐 ]   


x86_amd64, i386, armhf, arm64


[ 지원 운영체제 ]   


Linux_ubuntu - xenial, wily, yakkety, vivid, trusty, precies


[ 빌드 & 컴파일러 ]


Bash, gcc, python


[ 의존 패키지 ]


glade, gcc, libgtk-3-dev


[ 설명 ]   


Glade 로 만든 gtk xml 파일인 *.glade에 대한 소스 파일을 자동으로 설계하고 컴파일 까지 간편화 해주는 소프트웨어.


[ 특징 및 변경 사항 : Changes log ]   


최초 배포


[ 설치 방법 ]   


sudo apt-add-repository ppa:cosmosp2016/apps


sudo apt update


sudo apt install glsc



[실행]   


glsc



[사용 방법]   


glsc --help







패시브 부저의 소리를 직접 제어하는 전자 피아노 처럼 만들수 있을까 하는 생각으로 한번 제작해 보았습니다.

부저 (buzzer)는 총 크게 두가지 나누어 집니다.

    패시브 부저 (passive buzzer) : 음의 출력 시간 대역폭을 이용하여 여러 음역대의 소리를 재생하는 것이 가능한 부저.

    액티브 부저 (active buzzer) : 음이 소리가 단일적으로 단조로우며 활용할수 있는 것은 출력의 크기 뿐 이다.


해당 프로젝트는 이중 패시브 부저를 이용하여 컴퓨터의 키보드를 피아노 건반으로 사용하는 부저 피아노 시스템 입니다.

준비물 :

      PASSIVE_BUZZER X1
        TRANSISTOR X1
        LED X1
        1kΩ x1

       

라즈베리파이의 GPIO 시스템과 각 연결 상태는 이러합니다.

      5V -> PASSIVE_BUZZER_1 (+) -> LED_1 (+)

        GPIO_18 -> 1KΩ -> TRANSITOR1(2)
                TRNSISTOR_1(1) -> PASSIVE_BUZZER1 (-) -> LED_1 (-)


        GND -> TRNSISTOR_1(3)



실행 구조 :

    buano (bash)
        - pb1.py (python)


소스 코드 :


buano


#!/bin/bash

trap 'killall -9 python' 0
while [ : ]; do
clear
echo "
            << buano >>

This proram source is buzzer piano by rasberrypi on python module.

Maintainer : C O S M O S project. <cosmosproject15@gmail.com>
Homepage : http://cosmosproject2015.tistory.com
"
read -n 1 -p "input [keyboard]:" pia

    if [ "$pia" = "q" ]; then
        sed -i 's/number/250/g' pb1.py
        python pb1.py
        sed -i 's/250/number/g' pb1.py
    fi
    if [ "$pia" = "w" ]; then

        sed -i 's/number/340/g' pb1.py
        python pb1.py
        sed -i 's/340/number/g' pb1.py


    fi
    if [ "$pia" = "e" ]; then
        sed -i 's/number/420/g' pb1.py
        python pb1.py
        sed -i 's/420/number/g' pb1.py

    fi
    if [ "$pia" = "r" ]; then
        sed -i 's/number/500/g' pb1.py
        python pb1.py
        sed -i 's/500/number/g' pb1.py

    fi

    if [ "$pia" = "t" ]; then
        sed -i 's/number/580/g' pb1.py
        python pb1.py
        sed -i 's/580/number/g' pb1.py
    fi
    if [ "$pia" = "y" ]; then

        sed -i 's/number/640/g' pb1.py
        python pb1.py
        sed -i 's/640/number/g' pb1.py


    fi
    if [ "$pia" = "u" ]; then
        sed -i 's/number/710/g' pb1.py
        python pb1.py
        sed -i 's/710/number/g' pb1.py

    fi
    if [ "$pia" = "i" ]; then
        sed -i 's/number/780/g' pb1.py
        python pb1.py
        sed -i 's/780/number/g' pb1.py

    fi
    if [ "$pia" = "o" ]; then
        sed -i 's/number/850/g' pb1.py
        python pb1.py
        sed -i 's/850/number/g' pb1.py
    fi
    if [ "$pia" = "p" ]; then

        sed -i 's/number/930/g' pb1.py
        python pb1.py
        sed -i 's/930/number/g' pb1.py


    fi
    if [ "$pia" = "a" ]; then
        sed -i 's/number/1000/g' pb1.py
        python pb1.py
        sed -i 's/1000/number/g' pb1.py

    fi
    if [ "$pia" = "s" ]; then
        sed -i 's/number/1080/g' pb1.py
        python pb1.py
        sed -i 's/1080/number/g' pb1.py

    fi
    if [ "$pia" = "d" ]; then
        sed -i 's/number/1140/g' pb1.py
        python pb1.py
        sed -i 's/1140/number/g' pb1.py
    fi
    if [ "$pia" = "f" ]; then

        sed -i 's/number/1220/g' pb1.py
        python pb1.py
        sed -i 's/1220/number/g' pb1.py


    fi
    if [ "$pia" = "g" ]; then
        sed -i 's/number/1300/g' pb1.py
        python pb1.py
        sed -i 's/1300/number/g' pb1.py

    fi
    if [ "$pia" = "h" ]; then
        sed -i 's/number/1380/g' pb1.py
        python pb1.py
        sed -i 's/1380/number/g' pb1.py

    fi
    if [ "$pia" = "j" ]; then
        sed -i 's/number/1430/g' pb1.py
        python pb1.py
        sed -i 's/1430/number/g' pb1.py
    fi
    if [ "$pia" = "k" ]; then

        sed -i 's/number/1500/g' pb1.py
        python pb1.py
        sed -i 's/1500/number/g' pb1.py


    fi
    if [ "$pia" = "l" ]; then
        sed -i 's/number/1570/g' pb1.py
        python pb1.py
        sed -i 's/1570/number/g' pb1.py

    fi
    if [ "$pia" = "z" ]; then
        sed -i 's/number/1630/g' pb1.py
        python pb1.py
        sed -i 's/1630/number/g' pb1.py

    fi

    if [ "$pia" = "x" ]; then
        sed -i 's/number/1710/g' pb1.py
        python pb1.py
        sed -i 's/1710/number/g' pb1.py
    fi
    if [ "$pia" = "c" ]; then

        sed -i 's/number/1800/g' pb1.py
        python pb1.py
        sed -i 's/1800/number/g' pb1.py


    fi
    if [ "$pia" = "v" ]; then
        sed -i 's/number/1870/g' pb1.py
        python pb1.py
        sed -i 's/1870/number/g' pb1.py

    fi
    if [ "$pia" = "b" ]; then
        sed -i 's/number/1920/g' pb1.py
        python pb1.py
        sed -i 's/1920/number/g' pb1.py

    fi
    if [ "$pia" = "n" ]; then
        sed -i 's/number/2000/g' pb1.py
        python pb1.py
        sed -i 's/2000/number/g' pb1.py
    fi
    if [ "$pia" = "m" ]; then

        sed -i 's/number/2080/g' pb1.py
        python pb1.py
        sed -i 's/2080/number/g' pb1.py


    fi
    if [ "$pia" = "," ]; then
        sed -i 's/number/2140/g' pb1.py
        python pb1.py
        sed -i 's/2140/number/g' pb1.py

    fi
    if [ "$pia" = "." ]; then
        sed -i 's/number/2200/g' pb1.py
        python pb1.py
        sed -i 's/2200/number/g' pb1.py

    fi

done

exit 0



pb1.py

import RPi.GPIO as GPIO  
import time              


class Buzzer(object):
 def __init__(self):
  GPIO.setmode(GPIO.BCM) 
  self.buzzer_pin = 18
  GPIO.setup(self.buzzer_pin, GPIO.IN)
  GPIO.setup(self.buzzer_pin, GPIO.OUT)


 def __del__(self):
  class_name = self.__class__.__name__

## Create the function 'buzz'

 def buzz(self,pitch, duration):  
 
  if(pitch==0):
   time.sleep(duration)
   return
  period = 1.0 / pitch    
  delay = period / 2    
  cycles = int(duration * pitch) 

## Set cycles for GPIO.output

  for i in range(cycles):   
   GPIO.output(self.buzzer_pin, True)  
   time.sleep(delay)  
   GPIO.output(self.buzzer_pin, False)   
   time.sleep(delay)   

 def play(self, tune):
  GPIO.setmode(GPIO.BCM)
  GPIO.setup(self.buzzer_pin, GPIO.OUT)
  x=0

## Set the pitch and duration.

  if(tune==1):
    pitches=[number]
    duration=0.1
    for p in pitches:
      self.buzz(p, duration) 
      time.sleep(duration *0.5)


  GPIO.setup(self.buzzer_pin, GPIO.IN)

## Play start

if __name__ == "__main__":
  buzzer = Buzzer()
  buzzer.play(int(1))
GPIO.cleanup()



실행 :


./buano



소스 다운로드 :


github : https://github.com/cosmosproject15/pi-buano



$ git clone https://github.com/cosmosproject15/pi-buano










   
 

패시브 부저의 소리를 직접 제어하는 전자 피아노 처럼 만들수 있을까 하는 생각으로 한번 제작해 보았습니다.

부저 (buzzer)는 총 크게 두가지 나누어 집니다.

    패시브 부저 (passive buzzer) : 음의 출력 시간 대역폭을 이용하여 여러 음역대의 소리를 재생하는 것이 가능한 부저.

    액티브 부저 (active buzzer) : 음이 소리가 단일적으로 단조로우며 활용할수 있는 것은 출력의 크기 뿐 이다.


해당 프로젝트는 이중 패시브 부저를 이용하여 컴퓨터의 키보드를 피아노 건반으로 사용하는 부저 피아노 시스템 입니다.

준비물 :

      PASSIVE_BUZZER X1
        TRANSISTOR X1
        LED X1
        1kΩ x1

       

라즈베리파이의 GPIO 시스템과 각 연결 상태는 이러합니다.

      5V -> PASSIVE_BUZZER_1 (+) -> LED_1 (+)

        GPIO_18 -> 1KΩ -> TRANSITOR1(2)
                TRNSISTOR_1(1) -> PASSIVE_BUZZER1 (-) -> LED_1 (-)


        GND -> TRNSISTOR_1(3)



실행 구조 :

    buano (bash)
        - pb1.py (python)


소스 코드 :


buano


#!/bin/bash

trap 'killall -9 python' 0
while [ : ]; do
clear
echo "
            << buano >>

This proram source is buzzer piano by rasberrypi on python module.

Maintainer : C O S M O S project. <cosmosproject15@gmail.com>
Homepage : http://cosmosproject2015.tistory.com
"
read -n 1 -p "input [keyboard]:" pia

    if [ "$pia" = "q" ]; then
        sed -i 's/number/250/g' pb1.py
        python pb1.py
        sed -i 's/250/number/g' pb1.py
    fi
    if [ "$pia" = "w" ]; then

        sed -i 's/number/340/g' pb1.py
        python pb1.py
        sed -i 's/340/number/g' pb1.py


    fi
    if [ "$pia" = "e" ]; then
        sed -i 's/number/420/g' pb1.py
        python pb1.py
        sed -i 's/420/number/g' pb1.py

    fi
    if [ "$pia" = "r" ]; then
        sed -i 's/number/500/g' pb1.py
        python pb1.py
        sed -i 's/500/number/g' pb1.py

    fi

    if [ "$pia" = "t" ]; then
        sed -i 's/number/580/g' pb1.py
        python pb1.py
        sed -i 's/580/number/g' pb1.py
    fi
    if [ "$pia" = "y" ]; then

        sed -i 's/number/640/g' pb1.py
        python pb1.py
        sed -i 's/640/number/g' pb1.py


    fi
    if [ "$pia" = "u" ]; then
        sed -i 's/number/710/g' pb1.py
        python pb1.py
        sed -i 's/710/number/g' pb1.py

    fi
    if [ "$pia" = "i" ]; then
        sed -i 's/number/780/g' pb1.py
        python pb1.py
        sed -i 's/780/number/g' pb1.py

    fi
    if [ "$pia" = "o" ]; then
        sed -i 's/number/850/g' pb1.py
        python pb1.py
        sed -i 's/850/number/g' pb1.py
    fi
    if [ "$pia" = "p" ]; then

        sed -i 's/number/930/g' pb1.py
        python pb1.py
        sed -i 's/930/number/g' pb1.py


    fi
    if [ "$pia" = "a" ]; then
        sed -i 's/number/1000/g' pb1.py
        python pb1.py
        sed -i 's/1000/number/g' pb1.py

    fi
    if [ "$pia" = "s" ]; then
        sed -i 's/number/1080/g' pb1.py
        python pb1.py
        sed -i 's/1080/number/g' pb1.py

    fi
    if [ "$pia" = "d" ]; then
        sed -i 's/number/1140/g' pb1.py
        python pb1.py
        sed -i 's/1140/number/g' pb1.py
    fi
    if [ "$pia" = "f" ]; then

        sed -i 's/number/1220/g' pb1.py
        python pb1.py
        sed -i 's/1220/number/g' pb1.py


    fi
    if [ "$pia" = "g" ]; then
        sed -i 's/number/1300/g' pb1.py
        python pb1.py
        sed -i 's/1300/number/g' pb1.py

    fi
    if [ "$pia" = "h" ]; then
        sed -i 's/number/1380/g' pb1.py
        python pb1.py
        sed -i 's/1380/number/g' pb1.py

    fi
    if [ "$pia" = "j" ]; then
        sed -i 's/number/1430/g' pb1.py
        python pb1.py
        sed -i 's/1430/number/g' pb1.py
    fi
    if [ "$pia" = "k" ]; then

        sed -i 's/number/1500/g' pb1.py
        python pb1.py
        sed -i 's/1500/number/g' pb1.py


    fi
    if [ "$pia" = "l" ]; then
        sed -i 's/number/1570/g' pb1.py
        python pb1.py
        sed -i 's/1570/number/g' pb1.py

    fi
    if [ "$pia" = "z" ]; then
        sed -i 's/number/1630/g' pb1.py
        python pb1.py
        sed -i 's/1630/number/g' pb1.py

    fi

    if [ "$pia" = "x" ]; then
        sed -i 's/number/1710/g' pb1.py
        python pb1.py
        sed -i 's/1710/number/g' pb1.py
    fi
    if [ "$pia" = "c" ]; then

        sed -i 's/number/1800/g' pb1.py
        python pb1.py
        sed -i 's/1800/number/g' pb1.py


    fi
    if [ "$pia" = "v" ]; then
        sed -i 's/number/1870/g' pb1.py
        python pb1.py
        sed -i 's/1870/number/g' pb1.py

    fi
    if [ "$pia" = "b" ]; then
        sed -i 's/number/1920/g' pb1.py
        python pb1.py
        sed -i 's/1920/number/g' pb1.py

    fi
    if [ "$pia" = "n" ]; then
        sed -i 's/number/2000/g' pb1.py
        python pb1.py
        sed -i 's/2000/number/g' pb1.py
    fi
    if [ "$pia" = "m" ]; then

        sed -i 's/number/2080/g' pb1.py
        python pb1.py
        sed -i 's/2080/number/g' pb1.py


    fi
    if [ "$pia" = "," ]; then
        sed -i 's/number/2140/g' pb1.py
        python pb1.py
        sed -i 's/2140/number/g' pb1.py

    fi
    if [ "$pia" = "." ]; then
        sed -i 's/number/2200/g' pb1.py
        python pb1.py
        sed -i 's/2200/number/g' pb1.py

    fi

done

exit 0



pb1.py

import RPi.GPIO as GPIO  
import time              


class Buzzer(object):
 def __init__(self):
  GPIO.setmode(GPIO.BCM) 
  self.buzzer_pin = 18
  GPIO.setup(self.buzzer_pin, GPIO.IN)
  GPIO.setup(self.buzzer_pin, GPIO.OUT)


 def __del__(self):
  class_name = self.__class__.__name__

## Create the function 'buzz'

 def buzz(self,pitch, duration):  
 
  if(pitch==0):
   time.sleep(duration)
   return
  period = 1.0 / pitch    
  delay = period / 2    
  cycles = int(duration * pitch) 

## Set cycles for GPIO.output

  for i in range(cycles):   
   GPIO.output(self.buzzer_pin, True)  
   time.sleep(delay)  
   GPIO.output(self.buzzer_pin, False)   
   time.sleep(delay)   

 def play(self, tune):
  GPIO.setmode(GPIO.BCM)
  GPIO.setup(self.buzzer_pin, GPIO.OUT)
  x=0

## Set the pitch and duration.

  if(tune==1):
    pitches=[number]
    duration=0.1
    for p in pitches:
      self.buzz(p, duration) 
      time.sleep(duration *0.5)


  GPIO.setup(self.buzzer_pin, GPIO.IN)

## Play start

if __name__ == "__main__":
  buzzer = Buzzer()
  buzzer.play(int(1))
GPIO.cleanup()



실행 :


./buano



소스 다운로드 :


github : https://github.com/cosmosproject15/pi-buano



$ git clone https://github.com/cosmosproject15/pi-buano










   
 

패시브 부저의 소리를 직접 제어하는 전자 피아노 처럼 만들수 있을까 하는 생각으로 한번 제작해 보았습니다.

부저 (buzzer)는 총 크게 두가지 나누어 집니다.

    패시브 부저 (passive buzzer) : 음의 출력 시간 대역폭을 이용하여 여러 음역대의 소리를 재생하는 것이 가능한 부저.

    액티브 부저 (active buzzer) : 음이 소리가 단일적으로 단조로우며 활용할수 있는 것은 출력의 크기 뿐 이다.


해당 프로젝트는 이중 패시브 부저를 이용하여 컴퓨터의 키보드를 피아노 건반으로 사용하는 부저 피아노 시스템 입니다.

준비물 :

      PASSIVE_BUZZER X1
        TRANSISTOR X1
        LED X1
        1kΩ x1

       

라즈베리파이의 GPIO 시스템과 각 연결 상태는 이러합니다.

      5V -> PASSIVE_BUZZER_1 (+) -> LED_1 (+)

        GPIO_18 -> 1KΩ -> TRANSITOR1(2)
                TRNSISTOR_1(1) -> PASSIVE_BUZZER1 (-) -> LED_1 (-)


        GND -> TRNSISTOR_1(3)



실행 구조 :

    buano (bash)
        - pb1.py (python)


소스 코드 :


buano


#!/bin/bash

trap 'killall -9 python' 0
while [ : ]; do
clear
echo "
            << buano >>

This proram source is buzzer piano by rasberrypi on python module.

Maintainer : C O S M O S project. <cosmosproject15@gmail.com>
Homepage : http://cosmosproject2015.tistory.com
"
read -n 1 -p "input [keyboard]:" pia

    if [ "$pia" = "q" ]; then
        sed -i 's/number/250/g' pb1.py
        python pb1.py
        sed -i 's/250/number/g' pb1.py
    fi
    if [ "$pia" = "w" ]; then

        sed -i 's/number/340/g' pb1.py
        python pb1.py
        sed -i 's/340/number/g' pb1.py


    fi
    if [ "$pia" = "e" ]; then
        sed -i 's/number/420/g' pb1.py
        python pb1.py
        sed -i 's/420/number/g' pb1.py

    fi
    if [ "$pia" = "r" ]; then
        sed -i 's/number/500/g' pb1.py
        python pb1.py
        sed -i 's/500/number/g' pb1.py

    fi

    if [ "$pia" = "t" ]; then
        sed -i 's/number/580/g' pb1.py
        python pb1.py
        sed -i 's/580/number/g' pb1.py
    fi
    if [ "$pia" = "y" ]; then

        sed -i 's/number/640/g' pb1.py
        python pb1.py
        sed -i 's/640/number/g' pb1.py


    fi
    if [ "$pia" = "u" ]; then
        sed -i 's/number/710/g' pb1.py
        python pb1.py
        sed -i 's/710/number/g' pb1.py

    fi
    if [ "$pia" = "i" ]; then
        sed -i 's/number/780/g' pb1.py
        python pb1.py
        sed -i 's/780/number/g' pb1.py

    fi
    if [ "$pia" = "o" ]; then
        sed -i 's/number/850/g' pb1.py
        python pb1.py
        sed -i 's/850/number/g' pb1.py
    fi
    if [ "$pia" = "p" ]; then

        sed -i 's/number/930/g' pb1.py
        python pb1.py
        sed -i 's/930/number/g' pb1.py


    fi
    if [ "$pia" = "a" ]; then
        sed -i 's/number/1000/g' pb1.py
        python pb1.py
        sed -i 's/1000/number/g' pb1.py

    fi
    if [ "$pia" = "s" ]; then
        sed -i 's/number/1080/g' pb1.py
        python pb1.py
        sed -i 's/1080/number/g' pb1.py

    fi
    if [ "$pia" = "d" ]; then
        sed -i 's/number/1140/g' pb1.py
        python pb1.py
        sed -i 's/1140/number/g' pb1.py
    fi
    if [ "$pia" = "f" ]; then

        sed -i 's/number/1220/g' pb1.py
        python pb1.py
        sed -i 's/1220/number/g' pb1.py


    fi
    if [ "$pia" = "g" ]; then
        sed -i 's/number/1300/g' pb1.py
        python pb1.py
        sed -i 's/1300/number/g' pb1.py

    fi
    if [ "$pia" = "h" ]; then
        sed -i 's/number/1380/g' pb1.py
        python pb1.py
        sed -i 's/1380/number/g' pb1.py

    fi
    if [ "$pia" = "j" ]; then
        sed -i 's/number/1430/g' pb1.py
        python pb1.py
        sed -i 's/1430/number/g' pb1.py
    fi
    if [ "$pia" = "k" ]; then

        sed -i 's/number/1500/g' pb1.py
        python pb1.py
        sed -i 's/1500/number/g' pb1.py


    fi
    if [ "$pia" = "l" ]; then
        sed -i 's/number/1570/g' pb1.py
        python pb1.py
        sed -i 's/1570/number/g' pb1.py

    fi
    if [ "$pia" = "z" ]; then
        sed -i 's/number/1630/g' pb1.py
        python pb1.py
        sed -i 's/1630/number/g' pb1.py

    fi

    if [ "$pia" = "x" ]; then
        sed -i 's/number/1710/g' pb1.py
        python pb1.py
        sed -i 's/1710/number/g' pb1.py
    fi
    if [ "$pia" = "c" ]; then

        sed -i 's/number/1800/g' pb1.py
        python pb1.py
        sed -i 's/1800/number/g' pb1.py


    fi
    if [ "$pia" = "v" ]; then
        sed -i 's/number/1870/g' pb1.py
        python pb1.py
        sed -i 's/1870/number/g' pb1.py

    fi
    if [ "$pia" = "b" ]; then
        sed -i 's/number/1920/g' pb1.py
        python pb1.py
        sed -i 's/1920/number/g' pb1.py

    fi
    if [ "$pia" = "n" ]; then
        sed -i 's/number/2000/g' pb1.py
        python pb1.py
        sed -i 's/2000/number/g' pb1.py
    fi
    if [ "$pia" = "m" ]; then

        sed -i 's/number/2080/g' pb1.py
        python pb1.py
        sed -i 's/2080/number/g' pb1.py


    fi
    if [ "$pia" = "," ]; then
        sed -i 's/number/2140/g' pb1.py
        python pb1.py
        sed -i 's/2140/number/g' pb1.py

    fi
    if [ "$pia" = "." ]; then
        sed -i 's/number/2200/g' pb1.py
        python pb1.py
        sed -i 's/2200/number/g' pb1.py

    fi

done

exit 0



pb1.py

import RPi.GPIO as GPIO  
import time              


class Buzzer(object):
 def __init__(self):
  GPIO.setmode(GPIO.BCM) 
  self.buzzer_pin = 18
  GPIO.setup(self.buzzer_pin, GPIO.IN)
  GPIO.setup(self.buzzer_pin, GPIO.OUT)


 def __del__(self):
  class_name = self.__class__.__name__

## Create the function 'buzz'

 def buzz(self,pitch, duration):  
 
  if(pitch==0):
   time.sleep(duration)
   return
  period = 1.0 / pitch    
  delay = period / 2    
  cycles = int(duration * pitch) 

## Set cycles for GPIO.output

  for i in range(cycles):   
   GPIO.output(self.buzzer_pin, True)  
   time.sleep(delay)  
   GPIO.output(self.buzzer_pin, False)   
   time.sleep(delay)   

 def play(self, tune):
  GPIO.setmode(GPIO.BCM)
  GPIO.setup(self.buzzer_pin, GPIO.OUT)
  x=0

## Set the pitch and duration.

  if(tune==1):
    pitches=[number]
    duration=0.1
    for p in pitches:
      self.buzz(p, duration) 
      time.sleep(duration *0.5)


  GPIO.setup(self.buzzer_pin, GPIO.IN)

## Play start

if __name__ == "__main__":
  buzzer = Buzzer()
  buzzer.play(int(1))
GPIO.cleanup()



실행 :


./buano



소스 다운로드 :


github : https://github.com/cosmosproject15/pi-buano



$ git clone https://github.com/cosmosproject15/pi-buano










   
 

개발 예정인 'glcr' 개발툴 이름을 'glsc' 로 변경 및 배포 예정 날짜



Glade 소스 파일을 C 언어와 파이썬 소스코드로 만들어주는 툴을 개발 할 계획 이었고 그 툴 이름을 'glcr( GLade CompileR)'로 지었으나

계획을 변경하여 기존의 이름인 'glcr'을 'glsc(GLade Source Compiler)'로 변경 하였습니다.


그리고 개발 완성과 배포는 앞으로 1주일 뒤인 10일 오전 중에 배포가 가능할 것으로 예상 됩니다.


개발 속도가 예상 보다 빠르다면 그 이전에 혹은 시행착오가 있다면 그 이후에도 배포가 늦어질수 있습니다.

개발 예정인 'glcr' 개발툴 이름을 'glsc' 로 변경 및 배포 예정 날짜



Glade 소스 파일을 C 언어와 파이썬 소스코드로 만들어주는 툴을 개발 할 계획 이었고 그 툴 이름을 'glcr( GLade CompileR)'로 지었으나

계획을 변경하여 기존의 이름인 'glcr'을 'glsc(GLade Source Compiler)'로 변경 하였습니다.


그리고 개발 완성과 배포는 앞으로 1주일 뒤인 10일 오전 중에 배포가 가능할 것으로 예상 됩니다.


개발 속도가 예상 보다 빠르다면 그 이전에 혹은 시행착오가 있다면 그 이후에도 배포가 늦어질수 있습니다.

개발 예정인 'glcr' 개발툴 이름을 'glsc' 로 변경 및 배포 예정 날짜



Glade 소스 파일을 C 언어와 파이썬 소스코드로 만들어주는 툴을 개발 할 계획 이었고 그 툴 이름을 'glcr( GLade CompileR)'로 지었으나

계획을 변경하여 기존의 이름인 'glcr'을 'glsc(GLade Source Compiler)'로 변경 하였습니다.


그리고 개발 완성과 배포는 앞으로 1주일 뒤인 10일 오전 중에 배포가 가능할 것으로 예상 됩니다.


개발 속도가 예상 보다 빠르다면 그 이전에 혹은 시행착오가 있다면 그 이후에도 배포가 늦어질수 있습니다.


glsc의 개발 완료 및 배포가 되었습니다. [바로가기]

리눅스는 애당초 배포판이 데스크탑 os과 서버용os으로 나누어 진다.


다시 말해 외부에서 원격으로 제어 할수 있는 서버 프로세스 모듈은 애시당초 데스크탑 버전에 포함되어 있질 않다.
일반적인 데스크탑 os는 외부에서 rdp를 활용한 원격제어가 이루어 지지 않는다.
애시당초 rdp-server 모듈을 만들어내는 패키지인 'xrdp'가 기초적으로 깔려 있지 않기 때문이다.

리눅스는 기초적으로 유닉스 파일시스템 으로서의 공유성 또한 'chmod'를 통하여 각 파일과 폴더에 대한 외부 접근 권한을 지정할수 있을 뿐만 아니라
데스크탑 os인 경우 애초에 ftp모듈이나 samba 모듈등이 설치 되어 있질 않기 때문에 외부 접속으로 파일시스템이 기초적으로 유출되는 일이 있을수가 없다.

허나 만약 당신이 어떤 새로운 데스크탑 배포판을 받았는데 'xrdp, samba, vnc-server' 등 모듈이 설치 되어 있고 동작하고 있다면 배포한 자의 의중을 의심해 보고 어떻게 모듈이 동작하는지에 대해 알아볼 필요가 있을 것이다.


다시 말하지만 서버 서비스에 관련한 이러한 패키지들은 '서버가 아닌 데스크탑 운영체제 배포판'에는 그것들이 처음부터 설치 되어 있지 않아야 정상이다.

뿐만 아니라 리눅스에서 제공하는 방화벽 모듈은 ip 대역과 포트 대역 방어가 가능하며 이것은 국지적인 친입 방지 까지 계획 할수가 있다.
예를 들어 어떤 나라에서의 ip접속은 이루어 지지 않도록 구성하는 것이 가능하다.
그리고 서버 서비스를 이용하는 소프트웨어가 아닌 경우 방화벽으로 모든 ip와 포트 대역을 하여도 다른 소프트웨어들을 활용 하는 데에는 전혀 문제가 없다.

또 한가지 중요한 것은 모든 소프트웨어는 기초적으로 콘솔을 첫번째 기반으로 동작하는데 여기서 리눅스는 소프트웨어 스스로 이든 외부의 원격 이든 간에 프로세스 스스로가 제멋대로 동작하는 것을 방어하는 시스템이 있는데 그 하나는 가장 유명한 selinux 이며 우분투에서 사용되는 apparmor등이 있다.

그것은 윈도우즈에서 사용하는 일일이 컴퓨터 전반을 감시하는 백신 소프트웨어들과는 현저히 다른 tty-cli를 차단하는 원천 방어 시스템이다.

마지막으로 로그(log)에 대해서 알아보자.

보안에서 로그 기록을 확인하는 가장 중요한 사항 이다.

가장 먼저 '/var/log/syslog' 파일을 통해서 시스템의 전반적인 동작 변화 사항을 쉽게 확인 할수 있으며

예를 들어 방화벽인 ufw를 사용하는 경우 '/var/log/ufw.log' 파일을 통해 기록을 확인 할 수가 있다.



도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


리눅스는 애당초 배포판이 데스크탑 os과 서버용os으로 나누어 진다.


다시 말해 외부에서 원격으로 제어 할수 있는 서버 프로세스 모듈은 애시당초 데스크탑 버전에 포함되어 있질 않다.
일반적인 데스크탑 os는 외부에서 rdp를 활용한 원격제어가 이루어 지지 않는다.
애시당초 rdp-server 모듈을 만들어내는 패키지인 'xrdp'가 기초적으로 깔려 있지 않기 때문이다.

리눅스는 기초적으로 유닉스 파일시스템 으로서의 공유성 또한 'chmod'를 통하여 각 파일과 폴더에 대한 외부 접근 권한을 지정할수 있을 뿐만 아니라
데스크탑 os인 경우 애초에 ftp모듈이나 samba 모듈등이 설치 되어 있질 않기 때문에 외부 접속으로 파일시스템이 기초적으로 유출되는 일이 있을수가 없다.

허나 만약 당신이 어떤 새로운 데스크탑 배포판을 받았는데 'xrdp, samba, vnc-server' 등 모듈이 설치 되어 있고 동작하고 있다면 배포한 자의 의중을 의심해 보고 어떻게 모듈이 동작하는지에 대해 알아볼 필요가 있을 것이다.


다시 말하지만 서버 서비스에 관련한 이러한 패키지들은 '서버가 아닌 데스크탑 운영체제 배포판'에는 그것들이 처음부터 설치 되어 있지 않아야 정상이다.

뿐만 아니라 리눅스에서 제공하는 방화벽 모듈은 ip 대역과 포트 대역 방어가 가능하며 이것은 국지적인 친입 방지 까지 계획 할수가 있다.
예를 들어 어떤 나라에서의 ip접속은 이루어 지지 않도록 구성하는 것이 가능하다.
그리고 서버 서비스를 이용하는 소프트웨어가 아닌 경우 방화벽으로 모든 ip와 포트 대역을 하여도 다른 소프트웨어들을 활용 하는 데에는 전혀 문제가 없다.

또 한가지 중요한 것은 모든 소프트웨어는 기초적으로 콘솔을 첫번째 기반으로 동작하는데 여기서 리눅스는 소프트웨어 스스로 이든 외부의 원격 이든 간에 프로세스 스스로가 제멋대로 동작하는 것을 방어하는 시스템이 있는데 그 하나는 가장 유명한 selinux 이며 우분투에서 사용되는 apparmor등이 있다.

그것은 윈도우즈에서 사용하는 일일이 컴퓨터 전반을 감시하는 백신 소프트웨어들과는 현저히 다른 tty-cli를 차단하는 원천 방어 시스템이다.

마지막으로 로그(log)에 대해서 알아보자.

보안에서 로그 기록을 확인하는 가장 중요한 사항 이다.

가장 먼저 '/var/log/syslog' 파일을 통해서 시스템의 전반적인 동작 변화 사항을 쉽게 확인 할수 있으며

예를 들어 방화벽인 ufw를 사용하는 경우 '/var/log/ufw.log' 파일을 통해 기록을 확인 할 수가 있다.



도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


리눅스는 애당초 배포판이 데스크탑 os과 서버용os으로 나누어 진다.


다시 말해 외부에서 원격으로 제어 할수 있는 서버 프로세스 모듈은 애시당초 데스크탑 버전에 포함되어 있질 않다.
일반적인 데스크탑 os는 외부에서 rdp를 활용한 원격제어가 이루어 지지 않는다.
애시당초 rdp-server 모듈을 만들어내는 패키지인 'xrdp'가 기초적으로 깔려 있지 않기 때문이다.

리눅스는 기초적으로 유닉스 파일시스템 으로서의 공유성 또한 'chmod'를 통하여 각 파일과 폴더에 대한 외부 접근 권한을 지정할수 있을 뿐만 아니라
데스크탑 os인 경우 애초에 ftp모듈이나 samba 모듈등이 설치 되어 있질 않기 때문에 외부 접속으로 파일시스템이 기초적으로 유출되는 일이 있을수가 없다.

허나 만약 당신이 어떤 새로운 데스크탑 배포판을 받았는데 'xrdp, samba, vnc-server' 등 모듈이 설치 되어 있고 동작하고 있다면 배포한 자의 의중을 의심해 보고 어떻게 모듈이 동작하는지에 대해 알아볼 필요가 있을 것이다.


다시 말하지만 서버 서비스에 관련한 이러한 패키지들은 '서버가 아닌 데스크탑 운영체제 배포판'에는 그것들이 처음부터 설치 되어 있지 않아야 정상이다.

뿐만 아니라 리눅스에서 제공하는 방화벽 모듈은 ip 대역과 포트 대역 방어가 가능하며 이것은 국지적인 친입 방지 까지 계획 할수가 있다.
예를 들어 어떤 나라에서의 ip접속은 이루어 지지 않도록 구성하는 것이 가능하다.
그리고 서버 서비스를 이용하는 소프트웨어가 아닌 경우 방화벽으로 모든 ip와 포트 대역을 하여도 다른 소프트웨어들을 활용 하는 데에는 전혀 문제가 없다.

또 한가지 중요한 것은 모든 소프트웨어는 기초적으로 콘솔을 첫번째 기반으로 동작하는데 여기서 리눅스는 소프트웨어 스스로 이든 외부의 원격 이든 간에 프로세스 스스로가 제멋대로 동작하는 것을 방어하는 시스템이 있는데 그 하나는 가장 유명한 selinux 이며 우분투에서 사용되는 apparmor등이 있다.

그것은 윈도우즈에서 사용하는 일일이 컴퓨터 전반을 감시하는 백신 소프트웨어들과는 현저히 다른 tty-cli를 차단하는 원천 방어 시스템이다.

마지막으로 로그(log)에 대해서 알아보자.

보안에서 로그 기록을 확인하는 가장 중요한 사항 이다.

가장 먼저 '/var/log/syslog' 파일을 통해서 시스템의 전반적인 동작 변화 사항을 쉽게 확인 할수 있으며

예를 들어 방화벽인 ufw를 사용하는 경우 '/var/log/ufw.log' 파일을 통해 기록을 확인 할 수가 있다.



도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


+ Recent posts