0:00
Hi everyone and welcome to a new episode of AdashApp.net
0:03
And if you are a C-Sharp developer, which we assume you are, and if you want to get into the field of IoT
0:08
then this episode is definitely made for you. We are joined by Sravanan, who is a C-Sharp Content MVP
0:14
a community rockstar you can find in speaking at conferences, meetups, and in writing blogs and whatnot
0:20
And today he's going to talk about on how you can get into the field of IoT if you come from a C-Sharp or .NET background
0:26
Hi Sravanan, welcome to AdashApp.net. Yeah, hi Sravanan, good evening. It's great to be a part of this show
0:34
And thank you for giving me this opportunity. Yeah, thanks Sravanan. Yeah, once again
0:39
Thanks to you. Yeah, we are always happy to host you whenever
0:42
I know you have a busy schedule, so whenever you have time, we cannot just wait to host you
0:47
And this is a very exciting topic, not just for me, and I think for everyone, because IoT is very exciting in itself
0:52
And for a .NET developer who would like to get into the IoT, I believe this is a session that everyone should watch
0:58
So I'm not gonna take much of your time. The moment you get into your slides
1:03
I'll add it to the screen and then you can get started. Yeah, sure
1:09
Is it visible? Yes, it is. Yes, it's visible. Okay
1:23
Can I go ahead? Yeah, yeah, it's visible, Sravanan. Yeah, good evening, everyone
1:32
Today we are going to see about how we can use .NET in our IoT applications
1:37
And before starting, I need to thank Taiman and Srisha for giving me this wonderful opportunity
1:42
to share this session with you all. So why I'm using this topic means actually
1:47
whenever I go for a session or whenever I want to take some things into
1:52
data-driven IoT, people, first of all, will ask me what makes me an IoT developer
1:57
I pick programming language I need to choose, actually. So this session will be for them, actually
2:03
who really wants to know which kind of programming language they want to choose from in IoT
2:08
and actually, and they want to know the, which kind of frameworks they need to use it
2:16
if they are a .NET developer who are going to work in an IoT project sector
2:21
And I guess that this session will be really useful for them. So on this basis, I have been choosing this topic
2:27
to give some tips and an idea for the persons who wants to know what are the libraries
2:38
and what are the frameworks available in .NET which will be useful for IoT applications
2:46
So if you see here about me, I am Sravanan Ganesan, and I'm having around 10 plus years of experience in IoT
2:55
and I'm currently working as an assistant consultant in IoT data consulting system in system AI
3:01
I have been, if you want to know about my pre-shopped .NET profile
3:07
actually, you can be able to see here. So I am having around the
3:14
like, just a minute. This is my pre-shopped .NET profile that I have been trying to do since I was 92
3:22
I have been written around 30 articles and 10 blogs which is related to Azure .NET
3:28
and a lot of things and other stuff, such that I'm proud to be always a part of
3:32
the pre-shopped .NET community and being one person among the pre-shopped .NET family
3:37
as well. So this is about myself, and I have been marking my LinkedIn profile
3:44
as well in this slide. So if you want, at the end of this session
3:48
I'll be showing the same. You can connect me and you can have
3:53
if you want any cloud application related to .NET, frameworks, you want to build a mobile application
3:57
you can make yourself. Yeah. So today's topic. How I can do it, actually, in the Internet of Things
4:05
If I actually, if I have a simple board and I have a sensor that I can attach to it
4:11
how I can program it and how I can send the data to my cloud platform
4:16
which I've been using either AWS or Azure or something, actually. So from my point of view, actually
4:21
if you see, if you're doing it for a new, you're a .NET developer, actually, it's been my suggestion
4:27
for an alternative applications, please go ahead with using .NET as a pre-shopped programmer
4:32
you can go ahead with the Azure IoT services platform. So what is really important for IoT needs, actually
4:40
can be QSM. We can be able to build an IoT apps, which is a pre-shopped and .NET
4:45
which is learning on some single board computers, like Raspberry Pi, Hummingbird
4:51
Google Chrome, TinyHT64, and many more, actually. And so, so that the libraries and the frameworks
4:57
which are mobile, so this is a main important point to note on here, we can be able to interact with the specialized hardware
5:03
such as sensors, the AMD Visual Converter, CNCD devices, NIC2C communication devices, et cetera
5:09
So next slide, actually, if you're going to see, it's kind of a spread line
5:14
which describes about what are the .NET IoT libraries we have, and we have some two more
5:22
I have also been, I have chosen a framework called Nano Framework
5:26
that is being used, it's a free and local source platform that is used to write
5:33
these pre-shopping applications for number of devices. And also we chose one
5:40
IoT platform called Nido, that it can be able to send the data from
5:46
.NET to .NET-based applications to this IoT platform, which is fully designed for our industrial IoT
5:55
So this is about the different types of .NET IoT libraries, and it's a glimpse about it
6:01
that have been given here, we are in .NET IoT library, and the framework which we can be used
6:08
on the IoT platform to be really compatible with the pre-shopped .NET programming language
6:15
and the framework, actually. So if you see here, yeah, first of all, I'm going to discuss
6:22
regarding the .NET IoT libraries, actually, which will be, what's the purpose of using this .NET IoT libraries
6:28
in fact, these two libraries can be able to build apps, which are quickly
6:33
which can be done on the IoT devices, and the other hundreds of sensors
6:39
displays, and input devices, that which have been used in TPIO, SPIO
6:44
to see PWM and say for communication back. And also this .NET IoT libraries
6:51
which are all, which is a open source IoT library, can be leveraged to
6:57
for the full support of temperature and humidity sensors, and also it can be used for
7:01
a lot of IT models, gas sensors as well. So these are about the .NET IoT libraries
7:07
and this is about two libraries, we have system.device.tpio, and IoT.device.tindex. What is the purpose of these two libraries here
7:18
which I have been mentioning here, means actually it supports various protocols, for interacting low level hardware
7:23
things to control devices. For example, if you take your, in Raspberry Pi
7:28
you can see some GPIO pins, which have been attached, that you need to fix your sensors actually
7:35
So to communicate with this, we will use the, I can see you
7:40
I can show you, so it will be easy for you guys. So these are GPIO pins actually
7:46
which will be used to take the data by means of, take the data from these sensors
7:54
that are connected to it. So this IoT, this library system.device.tpio can be able to interact with these IOTs
8:06
and also to the inter-integrated circuits, and the serial peripheral interfaces, SPI
8:11
and serial port as well, to establish a communication, between those low level hardware pins
8:18
we have a .NET programming. And next one is called IoT.device.tindex, actually
8:26
So if you see here, what is this IoT.device.bindings actually, it will be used to streamline your lab development
8:33
by adapting the, this device.tpio, for example, this IoT.device.bindings will be used as a wrapper
8:42
above your code, to make the support, or make the methods of this GPIO pins
8:49
to be compressed into it actually. So, what are some of the device bindings
8:54
we can include here in this, we can make use of this RGB LED matrix
8:58
and LCD type displays, of two most commonly used device bindings, we have been used in the
9:04
which can be made use of this IoT.device.bindings, on library, that we have
9:10
which can be used in a stretch of the .NET code, to leverage the functionalities
9:16
from it actually. So next we are going to see about nanoprimers, nanoprimers is nothing but
9:21
it's the kind of framework, that we can use, C-Sharp programming to take place
9:27
in your system actually. So, yeah, first of all, you see actually
9:31
it's free to use, open source, and it is easy to build
9:36
and moreover, it's really easy, it's a certified hardware, and it also makes your Azure IoT library integration easy
9:44
and to send the data from your devices, which runs on nano-primer
9:50
to the Azure IoT Cloud actually. Okay, so these things actually, if you see
9:57
if you have a minimum, or also if you have a good C-Sharp knowledge actually
10:01
so we can make use of this framework, to be able to take it, it can be taken on any number of boards
10:08
like Raspberry Pi, or we will be able to take those things
10:13
then you can send those codes, to the Azure IoT Cloud services
10:19
So next I'm going to tell about Nido. What is Nido? Nido is a kind of a simple IoT platform
10:25
which runs actually, completely on .NET standard applications, on number of microcontrollers
10:32
So if you're running any, actually, any IoT-based C-Sharp .NET applications
10:41
in your low-level reports actually, so what it will do is, it will build, connect, and deploy
10:48
So if I am, it will name, it used to put dotted platform
10:52
and two links, just like Raspberry Pi, hardware device, to paint the screen, in IoT solution
10:56
This platform, what it will do, it will connect to your device, and it will be
11:00
it helps to build your code, and connect the code, your code to your Wi-Fi or internet
11:07
and to send the sensor data, to your cloud directly, and it also used to deploy the code
11:12
which have been built actually, in a previous state. So for these purposes
11:17
without any, actually, with some minimal knowledge, actually, if you are taking some codes
11:22
in a single-board computer, or microcontrollers, actually, it can be used to build it
11:30
and connect and deploy it, to your particular platform, and solution. So this is about
11:37
the types of, the, things which are related to .NET, I want to show
11:44
And then, then these things, the trainings are very much important, in building your C Sharp .NET based applications
11:53
as well. And see, if you see, yeah, first of all, these are some of the tutorials
11:59
we have to learn .NET, because, first of all, if you are very good in C Sharp programming
12:04
and understanding about the .NET frameworks, it will be very useful for you guys, to come up in this
12:08
and to, put some interactive code, with your single-board computers, and microcontrollers
12:14
by making use of this, IOT libraries, and these things like, more than actually
12:22
the IOT platform, and the nano-frameworks as well. So, these very things
12:28
we can be able to do, by means of using the .NET framework. So
12:33
in that actually, these makers of, basically, C Sharp programming language. So, yeah. So
12:41
if you see here, the .NET code samples, actually we have some
12:47
pretty cool, GitHub, the repositories of that, where we can get this .NET
12:54
it's basic .NET IOT code samples, to build your some, some actually, the
13:03
cool IOT projects, taking this, temperature sensor data, by which is, just
13:09
just connected to your, Glass 3.5, like that actually. So, if you see actually
13:14
I have been, going to show a small demo, actually, and this is a
13:18
set up of demo, that in this, in this Glass 3.5 actually
13:22
we have been connected to one LED, and actually we have been connected to a
13:26
DMC238 sensor, that it will be, sending a temperature and humidity data
13:31
in your room to these, what they'll actually have in Glass 3.5. So
13:39
this is a demo we are going to see now actually, if you see here, if I take it here
13:50
yeah. It take to this, code samples, which I will have here
13:55
this is the, example I have been speaking about, that actually in this Glass 3.5
14:00
we are going to, I am using, the dotnet for IoT as well
14:04
we'll be sending a data to Azure IoT app, and Azure cloud storage for some, these
14:10
storages actually. So, for this prerequisite, we've been, getting a device registration certificate
14:17
in our, which can be used to authenticate, if you are in IoT app, just there in
14:23
Azure cloud, and also if you see actually, we will be having the, DMC280 temperature pressure sensor
14:28
and in Glass 3.5 as well actually. Okay. So once, these are the
14:34
prerequisite hardware we require, and these are the prerequisite packages, that have been filling
14:38
they're actually, IoT.device.binding. for device bindings, and system that do is, a GPU library
14:44
to interact with your GPUs, and Microsoft Azure device, that client is
14:48
it's a kind of package, which have been used to send the data, from your, Glass 3.5
14:52
to your, Azure IoT app, and just there in, Azure cloud platform
14:57
and this is the, pictorial representation, and this is a real representation
15:00
which I've shown in the picture. So once, these are done actually
15:05
we have been, this is a code, format actually, which we have been using it here
15:12
just a minute. So this is a code here actually, that we have been
15:21
using the system.device. and GPIO, and Azure.device.client, and then, these are some of the
15:29
libraries which have been, used for our, reading the sensor values, and this is a
15:37
library which is used to, have a, IPC communication, and then if you see
15:43
in this code actually, we have been written, we have been taking the device ID, from your Azure IoT platform
15:49
and it's an, IoT program, broker address in a sense actually, we've been replacing with the
15:54
IoT app name, which we created in our, the Azure cloud environment
15:59
and these are the things, which have been used in our, which have been used to
16:05
get the data from your, temperature sensor actually. So, once we have done with it
16:11
we have been writing some code here actually, in this method, called
16:17
the main method itself, where actually we have been, setting up the
16:22
setting up the connectivity for our, temperature and, the pressure sensor, and also it has been
16:29
ready to create a, object to authenticate our device as well. So once these things are done
16:35
actually we will be, sending the data to our IoT app client, if your IoT app
16:39
if the, device is not registered, or if the device is not sending any data to
16:45
in IoT client, or you will be designed in IoT client, it will be, failing to create a device client
16:50
but if you keep it, found actually it will be creating a successful
16:54
device client that's been created. So once it is done, the data will be slowly
16:59
yeah, used in the, will be read actually, in from your temperature sensor
17:05
and then it will be sent to an IoT app, actually means of, in the form of data
17:10
by having an encoding of, beauty of it actually. So, this is how actually
17:15
it's a simple program to read the data of your, DLP, to age of just nothing but your, DHT, level
17:23
level temperature, pressure, sensor in advanced version, to send it and so we can also
17:30
on which time, time basically we need to send the data like, a steep time of some different number or something
17:35
they support your, in the requirements. So, this is how, what was this
17:40
the simple demo I wanted to show, actually for your, to go forward with your
17:48
increasing of those, my open libraries to, read the sensor data, using the Raspberry pens
17:57
to send it to an IoT app actually. So, that's it actually
18:01
And I also want to tell actually, what kind of advantages we have
18:05
we are actually using it in our, in this, what are the
18:10
kind of advantages and use cases, by being useful means actually, it's a kind of
18:15
C sharp.net is nothing but it's on, .net core is in open source one
18:19
and it can run on any kind of, platforms, either on windows and Linux
18:24
it's a kind of independent, platform programming language and framework, so that you can make
18:33
we can able to flexibly, make use of this programming language, to be used in your microcontrollers
18:40
and many types of, IoT gateways, and all which is running on both internet and
18:48
in the IoT core, windows 10 and IoT core as well. So
18:56
this is about, and actually the performance wise, we are using a .net based
19:01
C sharp programming means actually, the data, pulling up data from various sensors
19:07
the performance wise, it will be really great, and we can be able to see
19:13
there was not any lagging of data, or any, missing of the libraries
19:18
which have been used, to send the data to the IoT hub as well. So
19:24
in that case, we have a lot of reference documents, for these things to do
19:30
just by using the C sharp .net, and any kind of issues
19:35
if you are in this process, that there is always a support from Microsoft
19:39
to take care of these things actually, and make sure that they should know it actually. So
19:44
that's what from my side, and it's been a great pleasure for me, to present this simple topic to you all guys
19:51
and making aware of that, we can be able to code C sharp
19:56
code in numbering devices, and single book from computers, by Microsoft's C sharp programming language
20:01
and .net framework as well, and we can send those data to our
20:05
any type of IoT platforms, like Azure, et cetera. So, that's it from my side
20:10
and again, thank you so much, Simon and C sharp, for once again
20:14
for giving me this opportunity, to share this information, and then, I'll be handing over the stage to Simon now
20:20
Thank you. Thank you so much, Simon, that was absolutely great, and for anyone who wants to connect with Simon
20:25
you can also find all his details, and all the resources that he has shared in the description
20:29
actually his social handles, so that you can connect with him, and learn more about, he shares a lot of good posts on LinkedIn and Twitter
20:35
and also on his blogs. Thank you so much Simon, once again, and we will see you all
20:39
in the next episode of dash of .net, until then, bye bye