'2017/01'에 해당되는 글 7건

Study/Python

python에서 특정 함수를 일정 주기마다 실행하고 싶으면? threading.Timer를 사용해보자


기본 사용방법은 아래와 같다.


import threading

class AsyncTask:
def __init__(self):
pass

def TaskA(self):
print 'Process A'
threading.Timer(1,self.TaskA).start()

def TaskB(self):
print 'Process B'
threading.Timer(3, self.TaskB).start()

def main():
print 'Async Function'
at = AsyncTask()
at.TaskA()
at.TaskB()

if __name__ == '__main__':
main()

수행 결과, TaskA는 1초마다, TaskB는 3초마다 수행되고 있다.


Async Function

Process A

Process B

Process A

Process A

Process B

Process A

Process A

Process A

Process B


핵심은 아래 함수이다.

threading.Timer(1,self.TaskA).start()

함수의 의미는 1초 후에 TaskA를 start하라는 의미이다.

TaskA 함수안에서 threading.Timer를 사용한다면 TaskA는 정해진 시간마다 주기적으로 수행되는 함수가 될 것이다.



가장 중요한 점은, TaskA를 최초의 한번은 수행햐주어야 한다는 점이다.

def main():
print 'Async Function'
at = AsyncTask()
at.TaskA()
at.TaskB()




'Study > Python' 카테고리의 다른 글

python hex값을 hex string으로 변환하기, hexlify(), unhexlify()  (0) 2019.05.07
python Queue 사용방법  (0) 2017.01.25
Study/Python

Python에서 Queue의 기본적인 사용법은 아래와 같다.


import Queue

q = Queue.Queue()

items=list()

items.append('item1')
items.append('item2')
items.append('item3')
items.append('item4')
items.append('item5')

print 'start queue'

for i in items:
q.put(i)

while q.qsize():
print q.get()

print 'end queue'


put() 함수를 사용해서 q(queue)에  item1~item5 까지 put을 수행한다. get() 함수를 사용해서 q를 비운다.

위 코드를 수행하면 아래와 같은 결과가 나온다


item1

item2

item3

item4

item5

end queue


위 동작은 item1~item5 까지를 한번에 모두 Queue에 넣고 한꺼번에 get을 수행하기 때문에 전혀 문제가 없다.


그런데 여러 Thread 상에서 비동기적으로 Queue에 put과 get을 수행해야하는 상황이라면 문제가 생긴다.


put()과 get() 함수가 기본적으로 blocking 함수이기 때문이다.


흔히 발생할 수 있는 상황은, Queue에 데이터가 없는 상황에서 get() 함수를 수행한다면 데이터가 put() 될때까지 blocking 되기 때문에 해당 Thread에서 다른 동작을 수행할 수가 없다.


해결 방법은 get()과 put()을 non-blocking 함수로 바꿔야 하는데, 방법은 아래와 같다.


import Queue

q = Queue.Queue()

items=list()

items.append('item1')
items.append('item2')
items.append('item3')
items.append('item4')
items.append('item5')

print 'start queue'

for i in items:
q.put_nowait(i)

while q.qsize():
print q.get_nowait()

print 'end queue'



IoT Open House/ThingPlug


https://developers.sktelecom.com


강의 신청은 skt developer 사이트를 거쳐서 하셔도 되고, 아래 사이트에서 하셔도 됩니다.

http://wiznetacademy.com/


아래 강의에 대한 간략한 설명은 아래 글을 확인해 주세요.

http://1byte.tistory.com/15







IoT Open House/ThingPlug


안녕하세요


저는 위즈네트에서 WiFi 모듈 개발을 담당하고 있고, 'WiFi 모듈 사용 기초 방법'과 SK telecom의 IoT 플랫폼인 'ThingPlug를 쉽게 사용하는 방법'에 대해서 오프라인 강의를 하고 있습니다.

ThingPlug 강의는 무료입니다. 하지만 다른 강의들은 일반인 2만원, 학생 1만원을 받는다고 합니다. 


http://wiznetacademy.com/?module=lecture&act=dispCourseInfo&course_seq=175


Wireless(Embedded WiFi)의 커리큘럼은 3강의로 구성되어 있습니다.

기초, 중급, 고급의 구분은 딱히 없지만, 초급 중급 고급 순서대로 수강하시면 이해하시기 빠를것 같습니다.


강의의 내용은 아래와 같이 진행됩니다. 저는 초급과 고급 강의를 진행하고 있기 때문에 두 강의를 우선 소개해드리겠습니다.



1. WizFi310으로 Embedded Wi-Fi 시작하기


해당 강의는 WizFi310(embedded WiFi 모듈)을 사용하는 방법과 기본적인 예제들로 구성되어 있습니다.

이 강의를 수강하시면, 기본적인 TCP/IP 통신과 MQTT의 기초까지 알 수 있습니다.

아래에 해당하시는 분이라면 수강 가능합니다.(초보자 대상)

    • TCP/IP를 들어봤다.
    • 서버와 클라이언트를 안다.
    • 스마트폰으로 WiFi를 사용할 수 있다.
    • 키보드가 잘 눌리는 노트북이 있다.


2. ThingPlug 더 쉽게 시작하기


이 강의는 SKT의 IoT 플랫폼인 'ThingPlug'를 쉽게 사용하는 방법에 대해서 알려드립니다. 해당 강의는 (중급) 강의에서 진행된 MCU(Cortex M3)로 WizFi310을 제어해서 SKT ThingPlug를 사용하는 강의입니다.

이 강의는 '세계 최초로 oneM2M 표준을 적용한 IoT 플랫폼인 'ThingPlug''의 구조와 사용방법, 그리고 더 쉽게 사용하는 방법까지 모두 '무료'로 알려드립니다.


이 강의의 수강 대상자는 아래와 같습니다.

    • 1번 WiFi 기초 강의 수강자 - 필수는 아니지만 WizFi310을 사용해서 강의가 진행되기 때문에 선행되었으면 좋겠습니다.

    • MCU에 대한 기본적인 이해가 필요하지만, C 언어의 if, for, while을 아신다면 수강하실 수 있습니다. - 부족하시다면 중급 강의도 수강해주세요.

    • oneM2M, ThingPlug를 들어봤다.




이 외에도 아두이노, ARM mbed 관련 강의도 있으니 관심있으신 분은 아래 링크를 통해 신청해주세요.


http://wiznetacademy.com/








IoT/News


인터넷진흥원(KISA)에서는 조사한  2017년 정보보호 10대 이슈.

정보보호 관련 이슈들의 현황및 트렌드를 아래 링크에서 확인할 수 있습니다.

http://www.kisa.or.kr/public/library/etc_View.jsp?regno=022280


    강대국간 사이버 공방 심화: 사이버 전면전 위험 고조

    • 국가 간 사이버공간에서의 갈등이 심화되고, 사이버위협에 대한 적극적인 방어 의지와 선제공격 능력 배양이 강조 되면서 국가 간 국지적, 전면적 사이버戰의 현실화 가능성 증가
    • ’17년 미 트럼프 정부 공식 출범 이후 중국, 러시아, IS 등 다양한 국가에서 사이버갈등이 지속·확산될 것으로 예상
    • 국내도 ’17년 대선을 앞두고 북한 등 국외로부터의 사이버 공격 주의 필요


    사이버위협정보 공유와 협력 확대: 대응이 빨라진다

    • 각국 사이버위협 대응 기관·기업들은 보다 신속·정확한 공격 탐지 및 방어를 위한 사이버위협 정보공유 협력체계를 강화 중이며, 공동 연구협력과 기술교류도 증가 추세
    • 국내외 사이버위협정보 공유·분석을 뒷받침할 관련 법제도 및 인센티브 필요
    • ’17년 해외發 랜섬웨어가 기승을 부릴 것으로 예상됨에 따라 글로벌 대응공조 확대 예상




    돈을 노린 랜섬웨어 공격: 사이버범죄 주류에 등극

    • PC와 스마트폰에 저장된 파일을 암호화하여 금전을 요구하는 랜섬웨어 공격의 수익성이 확인됨에 따라 범죄 조직의 불법자금 조달 창구화 가능성
    • ‘No more ransom’과 같은 캠페인, 안티 랜섬웨어 기술개발, 강력한 법집행 등의 조치가 효과적으로 집행될 경우, ’17년 하반기에는 랜섬웨어가 감소하는 경향을 보일 수 있음


    빅데이터, AI, 클라우드 활용 사이버 보안: 패러다임이 바뀐다

    • 사이버보안 분야에서 빅데이터·AI·클라우드 등 새로운 기술을 활용하여 ’17년에는 사이버위협에 대한 예측 역량이 신장되고, 클라우드 기반의 ‘빌려 쓰는 보안서비스’ 시장 확대
    • 기존 단일 보안솔루션의 한계를 극복하고, 관련된 보안시장의 동반성장 예상


    분산저장기술 '블록체인': 이론에서 현실로

    • 블록체인은 데이터의 위ㆍ변조를 매우 어렵게 하는 데이터 분산저장기술로써 비대면 금융서비스의 안전한 거래를 위해 국내외 금융권에서 활발하게 도입 추진
    • 장기적으로 계약조건 기능 추가(블록체인 2.0) 등 기술 혁신에 따라 기존 은행 업무를 넘어 주식, 보험, 특허관리, 각종 소유권 보장 등으로 블록체인 도입 확대 가능


    다양화되는 바이오인증: 사용자 인증의 대세로

    • 바이오인증(지문, 홍채 등) 기술은 핀테크 산업의 성장과 더불어 다양한 금융서비스 분야에서 활용이 증가하고 있으며, 안전성을 제고하기 위한 기술 연구도 활발히 진행 중
    • 바이오인증이 상대적으로 안전한 사용자인증 수단이지만 정보주체의 거부감, 정보탈취의 위험 등이 여전히 존재 하므로 지속적인 보안성 강화 노력 필요


    보안 고려없는 사물인터넷(IoT): 커져가는 일상의 위험

    • IoT 기기 보급이 늘어남과 동시에 커지는 보안취약성에 대한 우려가 현실화
    • IoT 기기로 인한 사고발생시 제조업체, 벤더, 설치 업체, 서비스업체, 사용자간 책임소재 논란에 대한 대비책 강구 필요
    • 개발자간 치열한 경쟁 속에 개발기간 단축을 위해 오픈소스 등을 활용할 경우, 잠재적 보안 위협 발생


    활성화되는 커넥티드 카의 안전띠: 사이버 보안

    • 커넥티드 카가 전 세계적으로 빠르게 증가하면서 사이버보안 강화에 대한 논의 및 대책 마련 추세
    • 커넥티드 카의 사이버보안 강화를 위해 자동차, 통신, 장비, 보안 업체들 간의 협력이 중요
    • 인명사고 등을 고려하면 전자제어장치(ECU)의 작은 센서 수준까지 꼼꼼한 보안 필요


    잊힐 권리 보장: 강화되는 개인정보 자기결정권

    • ICT 기술발전으로 온라인 공간에 글이나 사진, 동영상 등을 올려 자신을 표현하고, 타인과 커뮤니케이션 하는 일이 일상화 되었으나, 자신과 관련하여 부정확하거나 밝혀지길 꺼리는 정보에 대한 잊힐 권리 보장의 필요성 역시 강조되고 있음

    • 잊힐 권리 관련 성급한 법제화 보다는 해외 동향 파악 및 사회 각계 각층의 의견 수렴 등을 병행하여 사회적 합의를 유도해 나감이 바람직하며, 잊힐 권리 구현 기술에 대한 지원방안 마련 필요


    개인정보 보호와 활용의 조화: 4차 산업혁명을 좌우한다

    • 빅데이터, IoT 등 새로운 기술과 서비스의 등장으로 사업자와 규제기관은 데이터 활용과 개인정보보호 사이 균형점을 찾으려고 노력중이며, 그 대안으로 데이터 비식별화 조치 부상
    • 비식별 조치가 프라이버시를 보호하면서 개인정보를 활용하고 공유한다는 상반되는 목표 간에 절충점을 찾아주는 중요하고 효율적인 수단이 될 수 있음은 모두 공감
    • 빅데이터 시대를 주도하기 위해서는 정부와 학계, 기업과 정보주체 간의 개인정보 활용에 대한 신뢰기반의 사회적 합의가 전제되어야 할 것임










IoT/News


아래 일정은 인터넷정보진흥원(KISA)의 레포트에서 발췌했습니다.





1~3월

국내 일정

  • 2월 평창동계올림픽 

  • 5G 테스트 이벤트 실시 

  • 2월 삼성, 갤럭시S8 발표 예정 

  • 2월 수도권 지상파 UHD 방송 

  • 3월 AI엑소브레인프로젝트 2단계 

  • 제4이통/풀MVNO정책정비(연초) 

  • 5G/IoT신규주파수 할당계획(연초)

해외 일정 

  • 1월 5일 CES 2017(라스베가스) 
  • 1월 17일 다보스 포럼(스위스) 
  • 1월 20일 트럼프 대통령 취임
  • 2월 27일 MWC 2017(스페인)
  • 2월 KDDI, SigFox기반 IoT서비스
  • 3월 20일 CeBIT 2017(독일)






4~6월

국내 일정

  • 4월 NB-IoT 상용화 예정
  • 4월 종편 재승인 심사 예정 
  • 인터넷전문은행 출범(상반기) 
  • 테슬라 국내 진출(상반기)

해외 일정 

  • 5월 도코모, 5G Trial 사이트 구축
  • 6월 애플, 세계개발자회의 개최
  • 6월 구글, I/O 개최
  • MS, 윈도우10 홀로렌즈 지원(상반기)
  • 일본 5GMF, 5G종합실증실험(상반기)





7~9월

국내 일정

  • 9월 ITU 텔레콤 2017 개최(부산)
  • 9월30일 보조금 상한폐지 시행
  • 9월 LG, V30 출시 예정

해외 일정 

  • 8월 3GPP, 릴리즈15에서 5G 1차 표준 개발 시작
  • 8월 인텔, 개발자포럼 개최
  • 9월 애플, 아이폰8 출시 예정 
  • 딥마인드, StarCraft2 대결 예정
  • 소프트뱅크, NB-IoT 서비스(여름)




10~12월

국내 일정

  • 10월 네이버, 개발자 컨퍼런스 개최 
  • 11월 카카오, 비즈니스 컨퍼런스 개최
  • 완전 자율주행차 판교제로시티 시범주행(연말) 
  • 로봇산업육성 법제도개정안(연내)

해외 일정 

  • 10월 구글, 안드로이드8 출시
  • 10월 ITU, 5G 후보기술 접수
  • 버라이즌, 5G 상용화 예정(연말)
  • 테슬라, 전기차모델3 출시(연내)
  • 매직리프, AR HMD 공개(하반기)






IoT/News


매년 인터넷진흥원(KISA)에서는 인터넷 관련 주요 이슈를 선정해서 발표하고 있다.

특히, 2017년을 혁신과 진화가 공존으로 ICT 기술의 패러다임의 전환을 말하고 있다.

2017년 인터넷 시장의 혁신 기술은 어떤 것들이 있을까? KISA의 보고서에서 요약한 내용은 아래와 같다.

http://www.kisa.or.kr/notice/press_View.jsp?mode=view&b_No=8&d_No=1517

    인공지능(Artificial Intelligence): 음성 비서를 통한 생태계 구축과 서비스 혁신으로 AI First 구현

    • 2017년 인공지능은 음성비서 서비스를 선봉으로 제품, 메신저, 커머스, 콘텐츠 이용에서 인공지능이 핵심적 역할을 수행하는 ‘AI First’화를 이루어갈 전망이다. 사업자 간에 음성비서를 중심으로 한 홈IoT, 커넥티드카까지 연결하는 생태계 구축 경쟁이 본격화 되고, ‘개인화’, ‘예측’, ‘셀프’라는 새로운 서비스 패러다임이 주목 받을 전망이다. 더불어 스마트 헬스 등 신규 융합 산업과 사업효율화 측면의 B2B를 주축으로 한 성장도 기대된다.


    차세대 네트워크 5G: 상상하는 모든 것을 가능하게 하는 Intelligent Network

    • 5G는 LTE 대비 전송은 약 270배, 지연 속도는 30배 이상 빠른 차세대 이동통신이다. 2017년은 미래의 핵심 인프라가 될 5G의 국제표준 토대가 마련되는 해로, 5G 주도권 선점을 둘러싸고 세계 각 국의 사업자들은 우호세력 확보를 위해 치열한 합종연횡 경쟁을 펼칠 것으로 예상된다. 또한 2018년 평창에서 선보일 5G 서비스와 단말의 개발도 본격적으로 진행될 전망이다. 




    혼합현실(MR, Mixed Reality): 디바이스, 플랫폼, 콘텐츠의 합작으로 완성될 MR 대중화의 원년

    • 2017년은 MR 시장의 대중화를 알리는 다양한 제품과 서비스들이 등장할 예정이다. 현재 MR 시장은 사업자들의 초기 시장 선점 경쟁으로 분주하다. 향후 MR 시장은 자체 컴퓨팅이 가능한 고글형 HMD가 주를 이룰 것으로 보이며, 홀로그래픽 기반 UI와 함께 윈도우즈가 주류 플랫폼으로 부상하는 한편, 기업용 시장의 주도권이 일반 소비자 시장으로 확대되며 새로운 전기를 맞이할 것이다. 


    자율주행차(Autonomous Car): 자율주행차 시장은 B2B 시장을 중심으로 개화

    • 2017년 자율주행차는 상용화를 앞당기기 위한 관련업체의 노력으로 기술력이 한층 강화되고 구체적인 개발 움직임에 가속도가 붙을 것으로 예상된다. 자동차 업체, ICT 업체, 부품·장비 업체 등 자율주행차 개발 업체들은 차별화 된 기술력을 확보하기 위해 업체 간 긴밀한 협업과 투자를 추진하고 있다. 자율주행차의 안전성과 보안성 확보가 핫 이슈로 떠오름과 동시에 자율주행차 시장은 B2B 시장을 중심으로 우선 개화될 것으로 보인다.


    생체인증(Bio Authentication): 내 몸이 나를 인증한다. 생체인증 시대의 대중화

    • 생체인증 기술은 사람의 신체적, 행동적 특징을 카메라, 터치패드, 스피커 등과 같은 자동화 된 장치로 추출하여 개인을 식별하거나 인증하는 기술로 최근 개인정보보호에 대한 관심이 높아짐에 따라 활용도가 증가하고 있다. 향후 높은 보안 성능을 기반으로 다양한 생체인증 방법이 주도권 경쟁을 할 것으로 보인다.


    핀테크 2.0(FinTech 2.0): 협업으로 금융을 재설계하는 핀테크 2.0

    • 핀테크 1.0이 ICT와 금융의 결합으로 송금, 결제, 펀드, 자산관리 등에서 파괴적 혁신을 통해 기존 금융서비스의 해체 및 재해석에 주안점을 두었다면 핀테크 2.0은 혁신적인 기술을 통해 기존 금융기관과 핀테크 기업과의 다양한 협업으로 모바일 환경에서 소비자중심의 새로운 가치 창출 및 금융 서비스 제공을 목표로 한다.


    O2O(Online to Offline): 온·오프라인 어디서든 이루어지는 ‘나’를 위한 최적의 소비

    • O2O는 온라인(Online)과 오프라인(Offline)이 결합하는 현상을 의미하는데, 온라인과 오프라인을 넘나들며 최적의 조건에서 쇼핑을 즐기려는 소비자들이 빠르게 증가하고 있어 O2O는 커머스 영역의 핵심 경쟁요소로 부상하고 있다. O2O는 서비스 연합을 통해 플랫폼으로 진화되고, ‘개인형 O2O’와 온오프라인 경험을 통합한 옴니채널화가 대세를 이룰 전망이다.


    데이터 커머스(D-Commerce): 빅데이터와 커머스의 만남, 큐레이션 커머스 시대의 도래

    • 빅데이터 분석을 통한 맞춤형 상품 제공 및 구매를 유도하는 데이터 커머스는 커머스 시장의 새로운 트렌드이다. 최근에는 단순 상품 추천에서 진화하여 개인 라이프스타일에 맞는 단말, 시간대, 콘텐츠별로 상품을 추천하고, 기업과 연결시켜주는 중개 플랫폼으로 진화하고 있다. 여기에 ‘스마트 렌탈’도 새로운 소비트렌드로 급부상하면서 빅데이터를 활용한 맞춤형렌탈도 등장하고 있다.


    산업인터넷(IIoT), 소물인터넷(IoST): 산업인터넷 및 소물인터넷 시장 선점을 위한 경쟁 본격화

    • 2017년 사물 인터넷은 산업인터넷(IIoT)과 소물인터넷(IoST)을 중심으로 한 다양한 경쟁이 나타나는 한 해가 될 것이다. 소물인터넷 분야에서는 LoRa와 NB-IoT 간의 경쟁이 부각될 것으로 보인다. 이후 산업 인터넷 플랫폼과 서비스 제공과 관련된 경쟁이 더욱 중요해질 것이며, 산업 영역에 대한 이해 및 보안/분석 솔루션의 보유와 성공 사례 확보 여부가 주요한 이슈로 부각될 것이다.


    플랫폼 경제(Platform Economy): 제4차 산업혁명의 핵심, 플랫폼 서비스

    • 디지털 기술을 기반으로 상품 및 서비스의 거래가 네트워크를 통해 이루어지면서 사회, 정치 및 경제 전반에 있어 다양한 기술적 확장과 상호호환성 확보에 대한 필요성이 증가하게 되었고, 네트워크로 기업과 소비자를 연결하며 제품과 서비스의 수요·공급을 담당하는 플랫폼이 경제를 주도하고 있다. 플랫폼 경제는 제4차 산업혁명의 원동력으로 작용하면서 새로운 가치와 시장을 창출하고 ‘업의 전환’을 통해 기업의 성장을 견인할 것이다.











1
블로그 이미지

IoT 개발자 블로그이고 싶다.

1byte