39
Egy kihívásokkal teli IoT projekt tapasztalatai Horváth László, Mágedli Tamás, Takács Péter, Balássy György

A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Embed Size (px)

Citation preview

Page 1: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

A mi hackathonunk:

Egy kihívásokkal teli IoT projekt tapasztalatai

Horváth László, Mágedli Tamás,Takács Péter, Balássy György

Page 2: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

4 nap

6 helyszín

78 csapat

fakultatív részvétel

hardver, szoftver, költségkeret

díjazás

Page 3: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

A projekt legyen:

KreatívAmbiciózus

HasznosKirály!

Feature complete

3 percben demózható

Page 4: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

A csapatunkMágedli Tamás

JavaScript Warrior

Horváth László

Front-End Ninja

Takács Péter

Hardware Guru

Balássy György

Page 5: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Céljaink

JavaScript !

Nem is igazi, ha nincs benne...

böngésző !

forrasztás !

C# !

Page 6: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Meet.me: hatékony értekezletek

Pontosan kezdődik

Mindenki odaér az elejére

Véget ér időben

Készül feljegyzés

Page 7: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Funkciók

Figyelmeztetés a megbeszélés kezdete előtt

“Ott leszek / kések” válasz

A jelen lévők felismerése több helyszínen

Tájékoztatás a későkről

Hátralévő idő folyamatos jelzése

Figyelmeztetés a megbeszélés vége előtt

Feljegyzés diktálása

Archiválás, webes visszakereshetőség

3 perc!

Page 8: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Szoftver architektúra

MySQL

ActiveDirectory

Exchange Server

SMS Service

Meet.me Service

Meet.me Website

Meet.meDevice App

Page 9: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

A szerveroldal

Continuous Deployment

Page 10: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Balsamiq Mockup: értesítés

Page 11: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Balsamiq Mockup: dashboard

Page 12: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Hardver komponensek●Hálózat●LED (sok LED)●Kapcsoló●Hangszóró●Mikrofon●RFID olvasó●Bluetooth●Tápellátás és mérése

Raspberry Pi az egyszer biztos!

Page 13: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Az elegáns megoldás - RPi Shield

Page 14: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Pokoli torony

Page 15: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

RPi HAT - Hardware Attached on Top

https://github.com/raspberrypi/hats

Page 16: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

RPi és Arduino

Page 17: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

I2C, egy kis tuninggal

Page 18: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

I2C: Raspberry oldalstring selector = I2cDevice.GetDeviceSelector();

IReadOnlyList<DeviceInformation> i2cDevices = await

DeviceInformation.FindAllAsync( selector );

int ARDUINO_ADDRESS = 0x42;

var settings = new I2cConnectionSettings( ARDUINO_ADDRESS );

I2cDevice arduino = await I2cDevice.FromIdAsync( i2cDevices[ 0 ].Id,

settings );

byte[] MY_COMMAND = new byte[] { ... };

arduino.Write( MY_COMMAND );

byte[] response = new byte[ 6 ];

arduino.Read( response );

Windows.Devices.I2c névtér

Page 19: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

I2C: Arduino oldal#include <Wire.h>

void setup()

{

Wire.begin(66); // join i2c bus with address 0x42

Wire.onRequest(requestEvent); // register event

}

void requestEvent()

{

Wire.write("hello "); // respond with message of 6 bytes

}

Wire library

Page 20: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

A kis Arduino és sok LED esete

Page 21: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Windows IoT Core

“v1”

Page 22: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

WiFi

Ma:

● Official Raspberry Pi WiFi dongle

● TP-Link TL-WN725N

● Realtek 8191

● Realtek 8192

Hardware Compatibility List:https://ms-iot.github.io/content/en-US/win10/SupportedInterfaces.htm

Raspberry Pi 3-ban már benne van!

Page 23: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Bluetooth

Kétféle típus:

●CSR Mini USB BT v4.0 adapter

●Orico BTA-403 Mini Bluetooth 4.0 USB Dongle

Raspberry Pi 3-ban már benne van!

Page 24: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

BT LE API

var watcher = new BluetoothLEAdvertisementWatcher{ SignalStrengthFilter = new BluetoothSignalStrengthFilter { InRangeThresholdInDBm = -60, SamplingInterval = TimeSpan.FromSeconds(30) }};

watcher.Received += this.OnReceived;watcher.Start();

Megbízható?

Page 25: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Bluetooth Beacon Interactor app

Page 26: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Melyik legyen?

Headed

UWP UI használható

Csak egy UI alkalmazás

Sok háttérben futó alkalmazás

Headless

UWP UI nem használható

Nem lehet UI alkalmazás

Sok háttérben futó alkalmazás

Page 27: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Soft-reset

Operációs rendszer

Alkalmazás logika

Alkalmazás

A hardveres reset gombnál nincs jobb...

Page 28: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Hang: Text to Speechvar synthesizer = new SpeechSynthesizer();

synthesizer.Voice = SpeechSynthesizer.AllVoices.First( v => v.Gender == VoiceGender.Female );

var stream = synthesizer.SynthesizeTextToStreamAsync( text );

mediaElement.SetSource( stream, stream.ContentType );

mediaElement.Play();

Page 29: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Hang: audio kimenet

Fülhallgatóval oké!

Hangszóróval ?

Page 30: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Hang: Speech to Textvar recognizer = new SpeechRecognizer();

await recognizer.CompileConstraintsAsync();

var result = await recognizer.RecognizeAsync();

return result.Text;

Page 31: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Hang: audio bemenet

Logitech C910

Hivatalosan nem támogatott

Page 32: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Hang: audio bemenetSabrent USB External Stereo

Sound Adapter, Model AU-EMAC1

C-Media CM108 chipset

Page 33: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Hang: Privacy

Raspberry-ről vezérelve

Page 34: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

A menő doboz

Page 35: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Kell egy jó terv!

Page 36: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Under construction...

Page 37: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

Összefoglalás

Page 38: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

További információk

Windows IoThttp://www.windowsondevices.com/

Windows IoT Core Interaction Packhttps://github.com/balassy/iot-interaction-pack

Arduino Hardware Collection & sample codes for I2C shieldhttps://github.com/takacs525

Balássy Gyö[email protected]

http://balassygyorgy.wordpress.com

Takács Pé[email protected]

http://www.mirrorbox.hu

Page 39: A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai

IoT Workshop - Budapest

#IoTWorkshopBudapest

IoT-Workshop-Budapest

IoT Workshop Budapest