TechDays 2016 - Case Study: Azure + IOT + LoRa = ”Leven is Water”
29. var xdoc = XDocument.Load(request.Content.ReadAsStreamAsync().Result);
var reader = new LoRaReader(xdoc);
string time = reader.GetTime();
string payload = reader.GetPayload();
// Process payload
31. using (var client = new LoRaClient(Username, Password, SubscriberId, address))
{
var customers =
await client.GetCustomers();
var networkSubscriptions =
await client.GetNetworkSubscriptions(customers.subscription.href);
var deviceProfiles =
await client.GetDeviceProfiles(customers.subscription.href);
var devices =
await client.GetDevices(customers.subscription.href);
}
Mobiel en alarmhanger niet altijd voorhanden, helpen niet bij bewustzijnsverlies of als iemand hulpeloos op de grond ligt
Bewegingssensoren/camera’s stuiten op privacy problemen
GGD: per jaar worden ongeveer 300 mensen dood gevonden in Amsterdam (> 14 dagen)
Een TV blijft aanstaan, de verwarming slaat aan, tijdsschakelaars en sensoren op lampen.
Frontend is het zichtbare gedeelte van het systeem, waar deelnemers en contactpersonen zich kunnen aanmelden
Installatie gebeurt met twee klemmen, er wordt niets IN de waterleiding geplaats, enkel er OP.
Sensor registreert watergebruik door geluid/trilling. Hoeveelheid waterverbruik wordt niet gemeten.
Actie geïnitieerd door sensor! Wanneer backend niet bereikbaar is komt het bericht uiteindelijk toch binnen. Bij beslissing in backend direct doof voor alle huishoudens. Wanneer sensor uitvalt ‘slechts’ 1 huishouden getroffen, Backend constateert dit en sensor kan vervangen worden.
Laag stroomverbruik -> zeer geschikt voor IoT. Tot 15 jaar zenden op 2 penlites / AA batterijen
KPN: november 2015 eerste dekking in Rotterdam en Den Haag. Vanwege belangstelling versnelde uitrol begin 2016. sinds eind juni landelijke (outdoor) dekking.
Hierdoor was Nederland het eerste land ter wereld met een landelijk dekkend LoRa netwerk
Verdere verdichting voor verbeterde dekking en localisatiefunctie.
EUI is uniek binnen alle LoRaWAN netwerken, worden gemanaged door IEEE
Network Session Key == shared key tussen device en LoRa netwerk
Application Session Key == shared key tussen device en applicatie. Bij developer portal ook gedeeld met LoRa netwerk
Sensor alleen is niet voldoende. Backend moet actie ondernemen.
LevenIsWater kan daardoor ongestoord groeien, zonder concessies aan de beveiliging van data en de privacy van deelnemers.
Services van KPN stonden ook nog in de kinderschoenen.
Client voor communicatie met KPN LoRa
Reader: XML Data lezen uit events van het LoRa network
Stub voor gebruik lokaal/test, stubt de KPN LoRa services
EventHub voorbeeld implementatie
Client voor communicatie met KPN LoRa
Reader: XML Data lezen uit events van het LoRa network
Stub voor gebruik lokaal/test, stubt de KPN LoRa services
EventHub voorbeeld implementatie
Client voor communicatie met KPN LoRa
Reader: XML Data lezen uit events van het LoRa network
Stub voor gebruik lokaal/test, stubt de KPN LoRa services
EventHub voorbeeld implementatie
Demo:
Reader & unit tests
Client & unit tests tegen stub
Leven is Water
Meerdere waterbedrijven interesse in pilot met meer dan 10.000 huishoudens
Zorgsector ook geinteresseerd, sluiten i.v.m. budgetten graag aan bij waterbedrijven
Event Hub meer gericht op hoge throughput en verwerken events dan bijvoorbeeld Service Bus
Destijds voegde IoT Hub alleen deviceregistratie toe, en deze wordt al geleverd door KPN. Geen dubbele administratie, dus EventHub.
IoT Hub ondersteunt IoT specifiek protocol, niet benodigd met KPN LoRa
Retentie per throughput unit: max 84Gbyte/day, 24h bij volledige data inname
Max 20 throughput units per Service Bus namespace
NET core was nog in beta, dus veranderde relatief snel
LoRa van KPN was (en is nog steeds) groeiende, dus ook daar moest de juiste weg gevonden worden
Services van KPN evolueren met het gebruik mee, waardoor de services volwassen worden.