메이커 페어 서울 2016 발표자료입니다.
- 전통과 현대의 만남 : 자격루 레고 디지털 시계
- 라즈베리파이와 레고를 활용하여 만든 작품입니다.
목차
- 프로젝트 시작 계기
- 프로젝트 제작 과정
- 프로젝트에서 얻은 경험
- 전체 소감
작업 후기 링크
https://blog.skcc.com/3271
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
[IoT] MAKE with Open H/W + Node.JS - 1stPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
[IoT] MAKE with Open H/W + Node.JS - 1stPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
[IoT] MAKE with Open H/W + Node.JS - 5thPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
Softbox arduino software education, softbox 소프트박스 제품소개서 봉조 김
피지컬 아두이노 소프트웨어 교육도구
피지컬 아두이노 소프트웨어 교육도구 소프트박스(softbox)
softbox 교육도구는 주변환경과 밀접한 7종의 센서입력부와 입력부를 처리하여 제어와 통신을 담당하는 제어통신부, 센서 입력을 읽고 분석하여 제어가 가능한 5종의 구동출력부를 인쇄회로기판(PCB) 위에 견고하게 모아 제작한 피지컬 아두이노 소프트웨어 교육도구입니다.
softbox는 가장 기본적인 “아두이노 피지컬 소프트웨어 교육도구”로서 학생들과 일반인이 처음으로 소프트웨어를 배우기에 적합한 도구입니다. 기본 교육 과정을 마치면 수준에 따른 프로젝트를 진행하게 되는데 이러한 프로젝트를 통해 창의적인 아이디어를 소프트웨어로 구현하는 과정을 배우도록 하는 것이 바로 “프로젝트 실습에 따른 코딩교육”이며 프로젝트를 실행하기 위한 다양한 소스코드와 메이커 활동에 필요한 콘텐츠를 제공합니다.
softbox 특징
•견고하게 제작되어 고장이 없고, 반복적인 사용이 가능
•점퍼선을 제거하고 모듈화 하여 소프트웨어 교육에 시간 집중
•아두이노 통합개발환경인 Sketch 환경에서 소프트웨어 교육
•블럭코딩을 지원하는 엔트리, mblock 환경에서 모든 입출력 제어 가능
•arduino UNO 보드와 환경이 동일하고 확장이 용이한 mega2560 사용
•센서입력부(7종), 구동출력부(5종), 제어통신부(2종) 3부분으로 구성
•USB 연결 케이블로 간단한 소프트웨어 교육환경 구성
•태블릿, 스마트폰을 사용하여 프로그래밍이 가능함(otg usb 케이블)
•연결선과 USB 통신 케이블로 간단하게 실습
•다양한 프로젝트 기반의 소프트웨어 교육 프로그램 지원
•메이커들의 창작활동을 돕는 프로그램 개발과 필요 부품 지원
•창의적인 아이디어를 즉시 테스트 가능
•단순한 융합 프로젝트를 즉시 실행 가능
[IoT] MAKE with Open H/W + Node.JS - 5thPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
Softbox arduino software education, softbox 소프트박스 제품소개서 봉조 김
피지컬 아두이노 소프트웨어 교육도구
피지컬 아두이노 소프트웨어 교육도구 소프트박스(softbox)
softbox 교육도구는 주변환경과 밀접한 7종의 센서입력부와 입력부를 처리하여 제어와 통신을 담당하는 제어통신부, 센서 입력을 읽고 분석하여 제어가 가능한 5종의 구동출력부를 인쇄회로기판(PCB) 위에 견고하게 모아 제작한 피지컬 아두이노 소프트웨어 교육도구입니다.
softbox는 가장 기본적인 “아두이노 피지컬 소프트웨어 교육도구”로서 학생들과 일반인이 처음으로 소프트웨어를 배우기에 적합한 도구입니다. 기본 교육 과정을 마치면 수준에 따른 프로젝트를 진행하게 되는데 이러한 프로젝트를 통해 창의적인 아이디어를 소프트웨어로 구현하는 과정을 배우도록 하는 것이 바로 “프로젝트 실습에 따른 코딩교육”이며 프로젝트를 실행하기 위한 다양한 소스코드와 메이커 활동에 필요한 콘텐츠를 제공합니다.
softbox 특징
•견고하게 제작되어 고장이 없고, 반복적인 사용이 가능
•점퍼선을 제거하고 모듈화 하여 소프트웨어 교육에 시간 집중
•아두이노 통합개발환경인 Sketch 환경에서 소프트웨어 교육
•블럭코딩을 지원하는 엔트리, mblock 환경에서 모든 입출력 제어 가능
•arduino UNO 보드와 환경이 동일하고 확장이 용이한 mega2560 사용
•센서입력부(7종), 구동출력부(5종), 제어통신부(2종) 3부분으로 구성
•USB 연결 케이블로 간단한 소프트웨어 교육환경 구성
•태블릿, 스마트폰을 사용하여 프로그래밍이 가능함(otg usb 케이블)
•연결선과 USB 통신 케이블로 간단하게 실습
•다양한 프로젝트 기반의 소프트웨어 교육 프로그램 지원
•메이커들의 창작활동을 돕는 프로그램 개발과 필요 부품 지원
•창의적인 아이디어를 즉시 테스트 가능
•단순한 융합 프로젝트를 즉시 실행 가능
메이커 페어 서울 2018 소개 자료입니다.
- 측우자격루
- 라즈베리파이, 아두이노, 레고를 활용하여 만든 작품입니다.
- 개발자용 소개 자료입니다.
목차
- 프로젝트 소개
- IoT 기술 소개
- 기능 상세
- 제작 과정
- 시연
- 느낀 점
작업 후기 링크입니다.
https://blog.skcc.com/3805
https://blog.skcc.com/3810
메이커 페어 서울 2018 소개 자료입니다.
- 측우자격루
- 라즈베리파이, 아두이노, 레고를 활용하여 만든 작품입니다.
목차
- 프로젝트 소개
- 제작 과정
- 기능 상세
- 느낀 점
작업 후기 링크입니다.
https://blog.skcc.com/3805
https://blog.skcc.com/3810
브릭인사이드 창작발전소 발표자료 - 해인사 오후 6시(레고+라즈베리파이)JongyoonWon1
브릭인사이드 창작발전소 모임 발표자료입니다.
- 대한민국 최대 레고 창작 전시회, '브릭코리아 2018'에 출품했던 '자격루' 제작 과정에 대한 설명입니다.
- 발표 후 질문 받았던 내용에 대한 답변도 있습니다.
- 출품하지 않았던 다른 작품 - '측우자격루', '거북차가습기' 설명도 포함되어 있습니다.
6. 1) 라즈베리파이 입문
1. 프로젝트 시작 계기
Raspberry Pi 3 model B(2016 Release)
8.56cm
5.65cm
- 영국 라즈베리 파이(Raspberry Pi) 재단에서 교육용으로 만든
신용카드 크기의 초소형/초저가 PC(2012년 2월 출시)
이미지 출처 : https://en.wikipedia.org/wiki/Raspberry_Pi
7. 1. 프로젝트 시작 계기
출처 : https://en.wikipedia.org/wiki/Raspberry_Pi
라즈베리파이 3 모델 B 사양
판매금액 US$35
시스템온칩 브로드컴 BCM2836 SoC
CPU 1.2 GHz ARM Cortex-A53 쿼드코어
GPU 브로드컴 VideoCore IV 듀얼 코어
메모리 SDRAM 1 GB (GPU와 공유)
USB 2.0 포트 4포트
비디오출력 HDMI, 컴포지트 비디오
오디오출력 3.5mm 잭을 통한 오디오, HDMI를 통한 디지털 오디오
외장 기억장치 마이크로 SD
네트워크 10/100 Mbit/s 이더넷, 무선랜, 블루투스 4.1
크기 85.6mm x 56.5mm
1) 라즈베리파이 입문
8. 1. 프로젝트 시작 계기
라즈베리파이 / 아두이노 비교
구분 라즈베리파이 아두이노
이미지
종류 싱글보드 컴퓨터 마이크로 컨트롤러
OS Linux(40여 종), Windows IoT 10 X
개발 환경 Linux, IDLE, Scratch Sketch
특징 하드웨어 성능 우수 초보자에게 적합, 많은 레퍼런스
검색 결과* 3320만 건 5930만 건
국내 도서* 27권 74권
* 2016년 9월 Google(영문으로 검색)/알라딘 검색 기준
1) 라즈베리파이 입문
9. 1) 라즈베리파이 입문
1. 프로젝트 시작 계기
초소형 PC 플랫폼 비교
GPIO*
센서 모터LED
* GPIO : General Purpose Input/Output
하드웨어
아답터
TV/모니터
공유기
키보드
마우스
HDMI Cable
유/무선
라즈베리파이 주변장치 연결
10. 2) 라즈베리파이 활용
1. 프로젝트 시작 계기
빔 프로젝터 TV
모니터 원격 접속
처음 띄운 라즈베리파이 화면
11. 2) 라즈베리파이 활용
1. 프로젝트 시작 계기
처음 만든 소스(C 언어)
#include <stdio.h>
#include <wiringPi.h>
#define LED1 23 // GPIO 23
int main(void)
{
printf("Hello, worldn");
if (wiringPiSetupGpio() == -1) {
return 1;
}
pinMode(LED1, OUTPUT);
while(1)
{
digitalWrite(LED1, 1);
delay(1000);
digitalWrite(LED1, 0);
delay(1000);
}
return 0;
}
LED 깜빡임
무한 반복(1초 간격)
33. 2. 프로젝트 제작 과정
3기(2016년 4월~2016년 10월) : 자격루 레고 디지털 시계 V2.0
34.
35. 2. 프로젝트 제작 과정
3기(2016년 4월~2016년 10월) : 자격루 레고 디지털 시계 V2.0
스터디 : 원격 제어
* WebIOPi - The Raspberry Pi Internet of Things Framework
공유기
핸드폰
시계
WebIOPi*
라즈베리파이
36. 2. 프로젝트 제작 과정
스터디 : 웹 코딩
3기(2016년 4월~2016년 10월) : 자격루 레고 디지털 시계 V2.0
37. 목 차
1. 프로젝트 시작 계기
2. 프로젝트 제작 과정
3. 프로젝트에서 얻은 경험
38. 2. 프로젝트 제작 과정
스터디 : 모터 제어
5V GND
Duty 변경에
따라 속도 조절
High/Low에
따라 회전 방향
변경
AAA * 6
(9V)
G22 G26
3기(2016년 4월~2016년 10월) : 자격루 레고 디지털 시계 V2.0
39.
40. 2. 프로젝트 제작 과정
스터디 : 소리 제어
//music_test.c
#include <stdlib.h>
int main(void) {
system("omxplayer cheer_up.mp");
return 0;
}
C 소스
3기(2016년 4월~2016년 10월) : 자격루 레고 디지털 시계 V2.0
41. 2. 프로젝트 제작 과정
크기 확장 및 조립
3기(2016년 4월~2016년 10월) : 자격루 레고 디지털 시계 V2.0
51. 4. 전체 소감
1) 10년 만에 다시 해본 전공 공부
학생 때와 달리 스스로 하는 학습이다 보니 흥미 있게 공부 진행
2) 새로운 프로그래밍 언어 도전
매니저가 되어가면서 정체되고 있는 개발 Skill에 대한 불안감 해소
3) 소프트웨어와 하드웨어의 융합
전공지식(하드웨어)과 실무지식(소프트웨어) 결합하여 시너지 효과 발생
4) 레고의 놀라운 확장성 확인
‘레고 테크닉’이라는 신세계를 발견하여 다양한 확장 가능성 확인