SignalR and the IOT Real time, Real world Jared Rhodes Senior Consultant, MCSD Web Magenic Atlanta Atlanta What’s Driving the IOT trend • Costs are falling. The costs of the Internet of Things components such as microchips, cloud services, GPS devices, accelerometers, connectivity, and other technologies have fallen and are now within reach for most organizations. In addition, processing power is becoming more affordable, and cloud computing services are increasingly available, vastly expanding the capability to crunch very large data sets. • Connected device demand is accelerating. As more companies and consumers realize the value of connected things, the market is swelling into the billions and beyond. Atlanta What’s Driving the IOT trend • Device options are expanding. Everything from light bulbs and washing machines to point-of-sale terminals is becoming connected, and that connectivity is also greatly improved, whether it’s wired, wireless, Wi-Fi, Bluetooth, cellular, or something else. And components are becoming more powerful—tiny microchips are now capable not only of connectivity but also of running much more advanced software than ever before. • More machines are talking to each other. Machine-to-machine (M2M) solutions are going mainstream. Vodafone forecasts that 50 percent of companies will have adopted M2M communications technologies by 2020. Atlanta What’s Driving the IOT trend • Software is more advanced than ever. Today’s rich, dynamic business software is putting high-level data analysis capabilities into the hands of companies around the globe. • The economic benefits are enormous. The Internet of Things has the potential to create economic impact of $2.7 trillion to $6.2 trillion annually by 2025, according to McKinsey Global Institute. • Microsoft’s Internet of Things White Paper Atlanta What’s Driving the IOT trend - Jared’s take • Cost of Hardware • Cost of Data • Cost of Operations • Sunk cost end of life Atlanta Microsoft Azure Intelligent Systems Service • Currently in private preview • Allows for ease of integration of remote data into Windows Azure • Handles everything from connectivity and authentication to data store Atlanta Microsoft Azure Machine Learning • Predictive analytics – Fraud detection – Forecasting (Healthcare/Warehousing) • Integrate with data in Azure and easily use other Azure services – SQL Azure – HDInsight – Virtual Machines Atlanta Microsoft’s focus • Retail and Hospitality • Healthcare • Manufacturing • Automotive Atlanta Key Attributes • Identity • Security • Connectivity • Manageability • User Experience • Analytics Atlanta Windows Embedded • Offers the same rich, multi-touch experience as Windows 8 and Windows Phone 8.1. • Supports Windows Apps according to your needs, different licensing Atlanta Windows Embedded – Retail and Hosptiatlity • Point of Sale • Kiosk • Handheld device (barcode scanner) • Digital Signature Atlanta Windows Embedded – Manufacturing • M2M Connectivity – Connecting factory floor machines to each other and • • • • the enterprise. Analytics of factory floor data needed to improve processes Increased interoperability with older devices (including PLCS, DCS) Windows Embedded works at the real time speeds needed for factory floors Data input more effective with touch input for factory floor where safety equipment is prevalent Atlanta Atlanta Windows Embedded – Healthcare • Data access across silos, mobility, and data security. • Secure sign on with peripherals and key cards already used in the hospital • Ease of integration with peripherals with use of Windows 8 Atlanta Windows on Devices • Intel Boards – Quark – Galileo • Visual Studio Development (C++ Only) • Arduino Libraries • Free stuff from link Atlanta What is SignalR? • ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of adding real-time web functionality to applications. • SignalR handles connection management automatically, and lets you broadcast messages to all connected clients simultaneously, like a chat room. • You can also send messages to specific clients. The connection between the client and server is persistent, unlike a classic HTTP connection, which is re-established for each communication. Atlanta Why SignalR? • Clients include: – Javascript – C# – Android (SignalA) – IOS (Signalr-ObjC) Atlanta Transports • HTML 5 Transports – WebSocket - WebSocket is the only transport that establishes a true persistent, two-way connection between client and server. However, WebSocket also has the most stringent requirements; it is fully supported only in the latest versions of Microsoft Internet Explorer, Google Chrome, and Mozilla Firefox, and only has a partial implementation in other browsers such as Opera and Safari. Atlanta Transports – Server Sent Events - Commonly used to send message updates or continuous data streams to a browser client and designed to enhance native, cross-browser streaming through a JavaScript API called EventSource, through which a client requests a particular URL in order to receive an event stream. (if the browser supports Server Sent Events, which is basically all browsers except Internet Explorer.) Atlanta Transports • Comet Transports – Forever Frame - (for Internet Explorer only). Forever Frame creates a hidden IFrame which makes a request to an endpoint on the server that does not complete. The server then continually sends script to the client which is immediately executed, providing a one-way realtime connection from server to client. – AJAX long polling - Long polling does not create a persistent connection, but instead polls the server with a request that stays open until the server responds, at which point the connection closes, and a new connection is requested immediately. Atlanta Architecture Atlanta Open Source Sites • JabbR (https://jabbr.net/) – JabbR is an open source, real-time web chat system built using ASP.NET and SignalR. Source code is at https://github.com/davidfowl/jabbr. • ShootR (http://shootr.signalr.net/) – ShootR is an open source, real-time, multi-player HTML5 space shooter game, using SignalR for real-time server-client communications. Source code is at https://github.com/NTaylorMullen/ShootR. Atlanta Temperature Sensor Light Sensor Distance Sensor SignalR Client SignalR Service Mobile Workstation Atlanta WebPage Atlanta Atmel Hardware • Atmel – – Atmel Studio 6 – AtMega168 • Wireless – Xbee ZB Pro • Arduino – – Arduino Leonardo – Arduino Uno Atlanta Today’s Demos • Topshelf Windows Service • SignalR Hub on Windows Azure • Web page using Telerik Gauges • WPF Application Telerik Gauges • Windows App using Telerik Gauges • Windows Phone App using Telerik Gauges • Andriod Xamarin App • Unity Game (One scene) Atlanta Windows Embedded – R&H Case Studies • Bravo outdoor advertising – Digital ads integrated into Ireland’s transit systems. Used GPS to target the advertisements. • Family Dollar – Changed POS system to a system that utilized Windows Embedded to better collect data and provide a more modern look and feel. • Orleans Parish Communication District – Used Windows Embedded systems with Windows Azure to coordinate all in field units and keep them up to date with central. Atlanta Windows Embedded – Manu. Case Studies • State Grid Corporation Of China – Largest power delivery company in the world. Developed a rugged data acquisition and supervisory control system for production process automation and equipment monitoring. • Kuka - Designed a solution that controls 246 robots and supports 1,444 nodes that can connect with approximately 60,000 devices on the shop floor to produce 700 car bodies each day. • CHILO - Implemented a solution that sends data from Motorola handheld devices to an ERP system used to control costs and manage production, sales and shipping operations. Atlanta Windows Embedded – Healthcare case studies • University of Colorado Hospital - Deployed more than 5oo thin clients— available at the bedside and throughout the hospital—built on Windows Embedded. • Henry Mayo Newhall Memorial Hospital - The hospital implemented an intelligent single-sign-on system from HealthCast that connects mobile devices as well as thin clients running Windows Embedded • Great River Medical Center - Replaced manual processes with an automated solution that connects medical dispensing equipment with peripheral devices, electronic medical records and billing. Atlanta Windows Embedded – Automotive Case Studies • Ford - Developed SYNC with mobile-device integration, connected services and user experiences driven by simple voice commands, powered by Windows Embedded Automotive. • Kia - created a voice-activated infotainment system, called UVO, built on Windows Embedded Automotive and Microsoft Tellme speech platform. • Nissan - Replacing a Linux-based product with a solution powered by Windows Embedded and Visual Studio, Dongfeng Nissan implemented an infotainment system that offers multimedia entertainment, satellite imagery navigation and support for multiple applications and peripheral devices. Atlanta C++ for .NET developers I will presenting C++ for .NET developers at the Windows User’s Group on October 6, 2014. Synopsis - First; let’s take a look at the difference between native code and .NET native. Next, go over new C++ language features that are similar to our favorite in C#. Then, explore properly calling native code from managed code. Finally, look at passing workloads to graphics cards natively using C++ Amp. Atlanta Contact Info • Blog – http://blog.qimata.com/ • Email – JaredR@Magenic.com – MarshallCStewart@gmail.com Atlanta