주신영대표 스마트쉐어 - visual c#...

43
Windows 8.1과 라즈베리파이를 연결하는 프레임 워크 - 주신영 대표 / 스마트쉐어 - Visual C# MVP 3월의 주제 사물인터넷과 Windows 8 앱의 연결!

Upload: others

Post on 12-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Windows 8.1과 라즈베리파이를 연결하는 프레임 워크

- 주신영 대표 / 스마트쉐어- Visual C# MVP

3월의 주제

사물인터넷과Windows 8 앱의 연결!

Page 2: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

사물인터넷(Internet of Things)

Page 3: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

IOT?

Page 4: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

느낌 아니까~

2008~2010

방송통신망 기반 IP-USN 통합 시험환경 구축 사업한국정보사회진흥원(NIA)

IP-USN 연계검증 선도사업(춘천, SKT M2M)

사물지능 통신 기반의 녹색도시 인프라 및통합관제시스템 구축(강릉, LGU+ M2M)

CDMA망을 이용한 USN센서의 웹 제어 화면 구축및 인증 프로세스 도입을 통한 범용 API개발(RFP)

Page 5: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Naming USN(Ubiquitous Sensor Network)

RFID-USN

IP-USN

WSN(Wireless Sensor Network)

사물통신

사물지능통신

M2M(Machine To Machine)

O2N : Object to Object Intelligent Network

사물인터넷

Internet of Things

Page 6: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

뉴스에서..

2008년 숭례문

2008년 백운사

4대강 살리기

원격의료진료

Page 7: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

이동통신사의 IOT(M2M) 플랫폼

Page 8: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

센서

• 감지기

• <물리> [같은 말] 감지기(여러 가지 물리량(物理量), 곧 소리ㆍ빛ㆍ온도ㆍ압력 따위를 검출하는 소자(素子)). ‘감지기’로 순화.

• 화재 감지기

• 그 기계에는 도난 방지를 위한 감지기가 설치되어 있다.

• 직접 피측정 대상에 접촉하거나 그 가까이서 데이터를 알아내어 필요한 정보(情報)를 신호로 전달하는 장치를 총칭해서 센서(감지기)라 한다. 인간의 감각으로는 측정할 수 없는수치(數値)도 잴 수 있어 위험이 따르는 작업 기계에도 많이 부착하게 되었다. 산업용 로봇에는 없어서는 안되는 장치. 응용 범위가 확대됨에 따라 최근에는 인텔리전트 센서 등정보나 수치를 스스로 계산, 판단, 처리하는 보다 높은 기능의 센서도 개발되어 실용화되고 있는데, 가까운 예로 냉난방 기구의 온도 센서, 방범용 센서 등을 들 수 있다.

Page 11: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

라즈베리파이(Raspberry Pi)

Device

Page 12: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

라즈베리파이

영국의 라즈베리파이 재단에서 기초 컴퓨터 과학 교육용으로

만든 싱글 보드 컴퓨터

여러가지 리눅스 배포판 제공

파이썬(Python) – 라즈베리파이의 파이(Pi)

GPIO (General Purpose Input / Output)

SPI , I2C, UART 통신 등

CSI (Camera Serial Interface), 터치 모니터

Page 13: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

모델 A 모델 B

목표 가격:[5] US$ 25 US$ 35[57]

SoC:[5] 브로드컴 BCM2835 (CPU, GPU, DSP, 그리고 SDR SDRAM)[3]

CPU: 700 MHz ARM1176JZF-S core (ARM11 계열)[3]

GPU:브로드컴 비디오코어 IV,[58] OpenGL ES 2.0, 1080p30 h.264/MPEG-4 AVC 높은 프로파일 디코더[3]

메모리 (SDRAM): 256 MB (GPU와 같이 사용)512 MB (GPU와 같이 사용) as of October 15, 2012

USB 2.0 ports:[10] 1 2 (내장 USB 허브 하나 제외)[53]

비디오 출력:[5]

컴포지트 RCA (PAL & NTSC), HDMI (rev 1.3 & 1.4),[59] 액정 디스플레이를 위한 디스플레이 시리얼 인터페이스[60][61] 640×350 부터 1920×1200 이상의 14개의 HDMI 해상도와 여러 PAL, NTSC 표준들[62]

오디오 출력:[5] 3.5 mm 잭, HDMI

내장 저장장치:[10] SD / MMC / SDIO 카드 슬롯

내장 네트워크:[5][10] None 10/100 이더넷 (RJ45)[53]

로우레벨 주변장치:8 × GPIO, UART, I²C 버스, 2개의 칩을 선택할 수 있는 SPI, +3.3 V, +5 V, 접지[58][63]

전력: 500 mA (2.5 W)[5] 700 mA (3.5 W)

전원:[5] MicroUSB에서 받는 5 볼트 혹은 GPIO 헤더

크기: 85.60×53.98mm[64]

무게: 45g[65]

계획중인 운영체제: Debian GNU/Linux, Fedora, Arch Linux ARM,[2] RISC OS[25]

Page 14: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

주변기기

• USB Hub

키보드 + 마우스

• 유선 인터넷 연결

• 무선 USB 랜카드

• HDMI to VGA

• 블루투스 동글

Page 16: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Single-board computer

UDOO (http://www.udoo.org)

라즈베리파이 4대 + 아두이노 듀

인텔 갈릴레오(Intel Galileo)

Quark, Edison

아두이노(Arduino) + 라즈베리파이 대세

아두이노 호환보드

아두이노 IDE(Sketche) 사용

Linux, Android OS 기본 제공

Page 17: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

OS 설치

RawImages 다운로드

또는 New Out of Box Software (NOOBS)

http://www.raspberrypi.org/downloads

Win32DiskImager

SD카드 4GB 이상

Raspbian(Debian)

USB 키보드, 마우스

HDMI

Page 19: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

카메라

• CSI (Camera Serial Interface)

• UDOO

• 인텔 갈릴레오

• IPCamera, Streaming Server

Page 20: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

GPIO & Dev

Things

Page 22: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

I2C 통신 설정

sudo nano /etc/modprobe.d/raspi-blacklist.conf

sudo nano /etc/modules

sudo apt-get install i2c-tools libi2c-dev python-smbus

sudo adduser pi i2c

sudo reboot

sudo i2cdetect -y 1

Page 23: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Python

IDLE (Python 2.7.3)

IDLE 3 (Python 3.2.3)

New Window

Run -> Run Module

GPIO는 Root권한 필요

sudo python name.py

Page 24: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Python Sample

import RPi.GPIO as GPIOimport time

GPIO.setmode(GPIO.BCM)

GPIO.setup(23,GPIO.OUT)

GPIO.output(23,True)

time.sleep(1)

GPIO.output(23,False)

GPIO.cleanup()

Page 25: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

WiringPi

sudo apt-get install git-core

git clone git://git.drogon.net/wiringPi

cd wiringPi

./build

gpio readall

GPIO는 Root권한 필요

gcc -o name name.c –lwiringPi

sudo ./name

Page 26: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

WiringPi Sample

#include <stdio.h>#include <wiringPi.h>

#define LED1 4 // BCM_GPIO 23

int main (void){

if (wiringPiSetup () == -1)return 1 ;

pinMode (LED1, OUTPUT) ;while(1){digitalWrite (LED1, 1) ; // Ondelay (1000) ;

digitalWrite (LED1, 0) ; // Offdelay (1000) ;

}return 0 ;

}

Page 27: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

WebIOPi

https://code.google.com/p/webiopi/

Download WebIOPi-0.7.0.tar.gz

tar xvf WebIOPi-0.7.0.tar.gz

cd WebIOPi-0.7.0

sudo ./setup.sh

sudo /etc/init.d/webiopi start

sudo update-rc.d webiopi defaults

Page 28: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

WebIOPi Sample

http://라즈베리파이IP:8000

ID : webiopi

PW : raspberry

Page 29: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

VisualGDB

http://visualgdb.com/tutorials/raspberry/

Visual Studio

Page 30: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

C# & Mono

Page 31: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Mono

ECMA(유럽표준기술규약)에 공개된 마이크로소프트의

.NET Framework 문서를 기준으로 구현된 오픈소스

리눅스, BSD, Mac OS X, 오픈솔라리스,윈도우 지원

Xamarin – iOS, Android, Mac (Store)

Unity – iOS, Android, Windows, Mac, Linux, PS3, Wii, Xbox 360

MonoGame – Windows, iOS, Android, Mac, Linux,

Page 32: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Mono 설치

Raspbian(Debian) 기준

sudo apt-get install mono-runtime

sudo apt-get install monodevelop

dmcs name.cs

mono name.exe

Page 34: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Mono (Hello World)

Mono Basics(http://mono-project.com/Mono_Basics)

Page 35: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

WiringPi.Net

https://github.com/danriches/WiringPi.Net

WiringPi 라이브러리 Wrapper

cc -shared wiringPi.o -o libwiringPi.so

cc -shared wiringPiI2C.o -o libwiringPiI2C.so

cc -shared wiringPiSPI.o -o libwiringPiSPI.so

Page 36: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

WiringPi.Net Sample

GPIO.pinMode(LED1, (int)GPIO.GPIOpinmode.Output);

while(true){

GPIO.digitalWrite(LED1, 1); // OnThread.Sleep(1000);

GPIO.digitalWrite(LED1, 0); // OffThread.Sleep(1000);

}}

}}

using System;using System.Collections.Generic;using System.Text;using WiringPi;using System.Threading;

namespace gpiotest{

class MainClass{

const int LED1 = 4; // BCM_GPIO 23

public static void Main (string[] args){

if (Init.WiringPiSetup() == -1)return;

Page 37: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Service

Page 38: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업
Page 39: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Azure

BizSpark, DreamSpark 무료 사용 가능

Mobile Service

Data, Push, Authenticate,

SDK(Windows Store, Windows Phone, iOS, Android)

Web Site

Database, noSQL, blob

Virtual Machine

Hadoop

Media

Page 40: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

ASP.NET

Page 41: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

ASP.NET WebAPI

Open API, 모바일 서비스

RESTful (대세!)

XML, JSON

Self-hosting

Request, Response

디바이스 제어는?

Page 42: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

ASP.NET SignalR

Real-Time Messaging

Push Notifications

WebSocket, Long Polling, Forever-Frame 등

Node.js

Windows Store, Windows Phone, Android(Native), Mono(Xamarin) SDK 제공

Self-hosting

Page 43: 주신영대표 스마트쉐어 - Visual C# MVPdownload.microsoft.com/download/9/4/7/947BBA81-E07B-46D9-BDAC-BC527B… · 방송통신망기반ip-usn 통합시험환경구축사업

Demo