Windows IoT #1: Basics Windows IoT introduction before you start coding (Getting Started Series)



hi everybody and welcome back to another episode of visual studio tool box I'm here with my guest who is hinted from the clatter bucket team hi Suze welcome to the show thank you so much I'm so excited to be on visual studio tool box this is awesome great well we're happy to have you and we're actually going to do a series on Windows IOT development and this is our first episode so let's jump into it what are we going to talk about today in this episode yeah today we're gonna start with the basics so we'll be talking about what Windows IOT core is because that's what we will be using for this this whole series and just how it differs from like regular uwp development and also just like how you can get started with it yeah that's awesome and I think one of the reasons we wanted to do the series is because as a visual studio developer you have just a lot of power to do this very easily right the the tools are integrated you can deploy from it you can debug from it you can do all these capabilities so as a visual studio developer this is super relevant to you I think that's how I viewed personally right yeah totally and I was really surprised when I first used Windows IOT core with Visual Studio because this is probably the best debugging and like feedback cycle that I've ever had when developing an app just for hardware in general because it makes it so easy to actually like run apps and make changes and continually kind of debug your application okay that's awesome so give us a little bit about your background like how how did you come to this world of IOT what did you do sure so I've been a developer for around 12 to 13 years now and IOT was always a hobby for me for a long time and then I just started getting more and more interested in it and I came to Microsoft to focus on IOT within the cloud developer advocate team so I get to do a lot of really cool stuff in a show to do with IOT okay that's awesome all right well let's jump into it so what are we gonna show today yeah show so we're gonna talk about what I Windows IOT core actually is because technically it still Windows 10 right but it is a little bit different right yeah so it's it's it's basically the Windows core it's it has a build number you know we're talking about this before we started recording like this is Windows running in a small device and maybe we can show the device in particularly we're going to demo today and we start there so what device we're gonna be running everything against yeah you're not like there's no emulator for Windows IOT like that was one of the things I remember thinking through as I was learning I guess there I'm used to the emulator thing in the windows development space here to buy something specific that's right yeah so the the most common device that we usually recommend for people to get started with is a Raspberry Pi and you can get a Raspberry Pi or a version 2 or a Raspberry Pi version 3 so over here we actually just have a Raspberry Pi version 3 I have it all plugged into a bunch of stuff that we're going to go into more detail about soon so I do actually have like a little HDMI mini screen and that's just running the default Windows IOT co-op right now that's just plugged in like I said via HDMI and we have it connected to the Ethernet so it has internet access and then we have this rather scary looking breadboard here but I promise that it's going to be super fun and that's got some extra pieces of hardware that you can start controlling from Windows IOT core so I think as much as I think this series of episodes is going to be focused on development I really want you know Visual Studio developers to walk away feeling comfortable with the hardware we're looking at like this has been a hobby of mine as well not not as many years as you I am such a newbie to this to this but I feel like they gave me a perspective like when I started learning and I was like okay first emulator okay no emulator you got to get a board so I bought a board and actually bought a bunch of boards over time and and one of them isn't compatible with Windows IOT core yet I found out so like always when you're buying hardware you've got to be very specific in this space you can't just like order something randomly expect it to work Windows IOT there's documentation there's a list of like articles that say these are the boards that are supported and we have a board here that's obviously supported we've tested it this is the one we're going to use and then it's connected to a bunch of other hardware and the point is that like what I've learned is that think of the board is your PC that's that's what's running into and everything it has the stack of networking as USB support has HDMI out so it's a little mini computer in your hands it's powered by a little bit of wire right it's just a regular micro USB adapter yeah and then it has different a port on it so it's really easy to get started but then the breadboard is kind of scary so maybe you can talk about the breadboard a little bit because every number getting getting that as a gift I got like a package I had a Raspberry Pi might my team give this to us like a while back that's what started my obsession and I took out the breadboard and I was staring at this for a long time and it has pins and stuff it's kind of intimidating if you've never done hardware before so tell us about it yeah it is really an but once you actually get used to using them they're really really cold so this breadboard here is a really really long one so it's got a generous amount of room to play with but the idea is that you do have these kind of holes or these pins that you can put things into and it means that if you don't know how to solder you can just play around a lot without actually creating any permanent damage or without ruining your devices so a breadboard is really just a way of testing out ideas and it does it in a way that's very very convenient so every single little sort of like hole that you see is connected to copper underneath and so it is connected in a very specific way which makes it really easy to get started with it so if you'll see along the top and the bottom of this breadboard not all red boards have this but the one that we're using today does we have these kind of this red and this blueish lines that are running along and this is just like a really nice easy power rail which is what we call it and if you have a look at the the top row of of these holes that actually connects in just a straight line all the way along underneath so you can think of anything that you put along this top row are all connected together so you can actually create like a source of power for all of your devices rather than having to just use the one source of power that's on your Raspberry Pi which is really cool and then the bottom row which is the blue with that little minus sign or the little negative symbol that's actually your ground so again you usually have devices always plugged in to ground and power and you you want to be able to have enough room to plug them all into the same source so that's a really nice part of a breadboard the rest are not actually sort of running horizontally like the power rails are they actually run vertically so if I saw it at the first row and go downwards the all of these holes that connected to the one sort of copper line underneath and so if you wanted to have different things plugged in to each other you can actually just use that same line without having to literally join them together and solder them which is really cool and so you do get used to it it is a little tricky to kind of get the hang of but if you look at pitches of breadboards online and have a look at what's actually underneath those holes it really starts to make sense and I think what helped me you kind of think about this breadboard is like this this is like you says it's a platform from experimentation and there's a bunch of stuff you can buy as a developer like in this episode I'm not assuming you know any of this as an audience member right here you're watching this you're like okay I kind of get what that is now this lets me add more devices or more widgets or lights or something that then it can be controlled by my Windows IOT chord which is the Raspberry Pi itself and that's why the breadboard is hooked into the Raspberry Pi with a big cable and then Raspberry Pi has all these options where you plug stuff in and then you can magically with code control that stuff that's plugged in or get data from it etc right totally but you don't have to know any of that in the beginning in fact what I found really cool is that because it has USB on the Raspberry Pi itself you can do things will show this in one of the episodes like the life camp right like yeah I literally found my old cam it's like dusty I pulled it out I plugged it in and I had an I had video and I could capture video and I could write code that used video and do something but it like that's all very possible now you have to know what is written compatible device wise with the Windows IOT core platform the drivers to need it there like there's no magic magic in that sense but there's some magic with the breadboard right because you can actually write stuff against it so this is more advanced in anyway but I just want to open up people's minds like you can get a piece of hardware you can plug into the Raspberry Pi for the board and then you can write some generic code which even if there is no driver per se in Windows if Windows doesn't know what this thing is you can still send commands to it and get data back from it we talked about a little bit of that yeah absolutely so in electronics we tend to try and have some kind of standards just so that it's easy to kind of develop against devices so we have a few communication protocols that are really common and we do have the implementations of that in Windows IOT core and in uwp which is really cool so one of those for example is I squared C which is into integrated circuit bus right and that allows this common API where a lot of different devices speak that particular protocol and because we support that in Windows IOT core you can literally pull up a datasheet which might seem really scary at first but once you get used to it it's pretty cool and you can very easily grow you know once you understand the protocol how to write those generic drivers and so that's super empowering when you come across a device you want to use but it's not necessarily something that is like certified to work but if you know what protocol it speaks and you know that that protocol supported in Windows IOT core you can pretty much like write whatever drivers you want yeah it's really empowering it's it's fairly it doesn't feel as intimidating one to learn a few of the sort of the hops over again this we're not going to cover that necessarily in super super detail but I found it accessible like I searched for something I bought a piece of hardware at home I plugged it in and I realized oh man there's no like driver inherently not like the LifeCam not like some of the other things but I was able to find a sample because somebody else of course did the work for me already and you know some c-sharp code and just it just worked it was kind of magical this device just started sending me data back back to my Windows IOT core and then I can do whatever I want with it another thing to remind people is that this is all c-sharp right like this is uwp it's c-sharp it's windows development it's Visual Studio we're not going to cover anything we're if like oh you need another tool like all you need is a Windows machine as your developer environment visual studio community or above if you know c-sharp you're good to go if you know you WP even better I'll give one of my experiences that I found I I looked at the windows the BP sample library up in github and I found out that Oh a bunch of these samples just run really well like the sample that says you know show video and save it to disk like that sort of thing actually just works because it's just you WP right yeah I was really pleasantly surprised by that because I wasn't really sure what to expect from Windows IOT core because I know it's like a more sort of optimized version to run on you know like slightly less processor and so I think I just immediately assume there'd be limitations but even just plugging in a webcam by USB like you said if you're scared of breadboards at first I just used the same like media capture you know like classes and things like that that I would normally use on my full laptop it was really really cool yeah and there's also a bunch of like add-ons again this is the hacker space so is you're kind of experimenting there's more than one way to get things done and I bought a board that kind of plugs in right into the PI it's actually designed for the PI and then it has a bunch of sensors attached to and then it comes with an SDK and that just magically works because that's against just me running c-sharp code against this SDK library and it just kind of works so there's there's like multiple ways as you kind of look around the internet and look at samples you might be like oh they're not using your breadboard what is that that also works via there's more than one way to do it some people plug things directly into the PI like those connectors that the GPIO yeah the GPIO port like that can be connected directly to it as well so I've I've done that too like I had a screen they connect it directly to it and that worked as well I also found stacking works like there's there's some boards you can stack on top of the pie yeah I think it like code hat so something yeah and then you can pass pass GPO through so there's like there's so many ways to do it so don't get intimidated a D&C knows you're watching this I found it just fun and I just want to point it out and they also when I mentioned that this is arm right that's a yes different thing right so so talk a little bit about that like what does it mean for you as a developer you the VP developer you can just kind of just just kind of works right cuz there's a studio you can build to arm yeah exactly so um is a pretty common like build target for Visual Studio you just have to keep in mind that if you've been developing just for like desktop for a while there might be certain things that unavailable when you're building for that target but what I really like about visual studio is it'll meet it'll immediately tell you it will work yeah exactly I think the best thing about building with Windows IOT core is the fact that you don't have to learn a new language a new program and things like that because I feel that the electronic spot it tends to be intimidating enough and so you can just focus on that being the new thing you need to learn and then Visual Studio kind of keeps you safe in those regards where if you try and use something at or a totality that you can't so usually my advice is to just play and just try and write your app like you normally would and just kind of see what supported and what isn't supported okay that's awesome and what I found works today on Korres obviously the BP platform like you couldn't if somebody gives you something that was built for x86 it just won't run like you'll try to run it you can like I copied some code over I tried to run executable and so it doesn't support this platform right as the error windows will give you when you run something but you WP bill farm works because that's that's the scenario we're going to be showing there's also some yours in there is coming out so for example I found that like.net core to that one hour see like preview for for sure definitely work so you can build that I mean it's like we're going to preview space but you have a lot of people in the audience that love that not core right so yeah you can ouster running that in this core in this because dad make or not that developer is DK but the runtime is DK can target arm now yeah it's really awesome it really just made it feel like it was just regular wit no its development yeah another thing I want to point out to folks again think things that I just very recently learned so they're fresh in my mind you can run more than then an interface app like yes you can write a either BP app that's a foreground app that you that has you know buttons on it or something you interact with but you can run things as a background app as well so the the platform is pretty flexible is plenty of scenarios where you just want to run something in the device that's running in the background and then you might want to you know have that be something that's sending telemetry or using some hardware or whatever other times you might have a screen attached like we have and and there's screens that support touch as well like this one could be configured for that we don't have it there's something even easier that you can just bolt right on and touch will just work out of the box so you could have this thing be a display I've seen people make like a little tablet out of it you know it's really high stuff but if you want a tablet buy a tablet don't make this your prime it is way more fun than buying it so that's kind of cool and yet I think I think and it's very accessible lots of ways to do it and we'll walk through every detail like this episode wasn't meant to be the very deep dive individuals to do part yet but we felt that if we can explain all this we jump right in and you'd be like hardware like this this is weird right it's not as natural and and you're gonna put up a github repo right which will say exactly every single piece of hardware down to the version number so that people if they want to reproduce this 100% they can and I found that difficult from past videos people will show something ass and I'd be like which pot like you said PI but PI 2 pi 3 y 3 be like there's really important yeah yeah yes so we have this thing in electronics that we call like a B om or Bill of Materials and so if you are a responsible person you actually list those things out so I only used pots that are easily accessed and some of those parts are actually in some as a certified kits that we also offer as well so I tried to make it as easy as possible for everyone to get their hands on this stuff so that they're not hunting down weird obscure eBay websites and things like that yeah make it make it I see these people all right so is retails we wanted to cover in this introduction episode no I think that was it I'm kind of excited to dig into the hardware nitty-gritty side of it next sir okay awesome well this will tell the secret to the crowd we're going to record all these today right but we're gonna space them out as we really mmm it takes time folks to get these things finalized the public I'm gonna make sure you get to see all of them but they'll be a bunch of episodes this is the first one so I'll close by saying that we plan to do six if all goes well today in the studio please please don't kill us if we make five or something hopefully all the technology will work but the six will cover and we'll put into the abstract some information about what the episodes you can expect in the future and then we'll we'll ship them every week after we should the first episode to get it out there I think the goal is just mean you have like we want to demystify you know the hardware to software to debugging life cycles we want to make sure that you can start you know the hardware you can understand why you have this hardware you can bug to the hardware and then we'll start adding sensors and IOT support with the cloud that's 80 and we'll do a bunch of other cool stuff we'll even look at like fabrication if all goes well and how you can make this a little bit more real for your tinkering world so lots of exciting episodes yeah I'm excited to break it into pots so that we can just look at detail at everything so that we don't leave any sort of stuff behind so that people feel empowered to like get Sado straight away so alright yeah sounds good alright so as well thank you for being in the first episodes and we're back with future episodes and thank you folks for watching we hope you check out the whole series and thank you for watching visual studio 2 bucks we'll see you next time bye bye

21 Comments

  1. nuovovideo said:

    It is impossible to install. Two days already i am trying to do it. Noobs also doesn t work

    May 23, 2019
    Reply
  2. Yves Poulin said:

    What i hate about Java and Python no real GUI support. Happy of Windows 10 IoT and Visual Studio. Hope you will cover on how to do the SetUp for Pi

    May 23, 2019
    Reply
  3. Yves Poulin said:

    I am into electronic with a very solid about I/O and Arduino. I can't wait for some more.

    May 23, 2019
    Reply
  4. Sebastiano Gazzola said:

    Hi, can you give me the link of the display you're using on the demo? I would like a lcd touchscreen compatible with windows iot to play around with my raspberry pi 3…thank you!

    May 23, 2019
    Reply
  5. Rafsan Ahmed said:

    wasnt she in some silicon vally episode?

    May 23, 2019
    Reply
  6. Jay M said:

    Is it possible to interface to MS SQL Server from Window IoT?
    (without it, Linux seems to be the better option)

    May 23, 2019
    Reply
  7. K giri varma said:

    Could u please tell me how many episodes does this series is going to be?
    It is really really interesting.
    When does this series going to end?

    May 23, 2019
    Reply
  8. João Paulo said:

    Very cool. I used Raspberry Pi 3 and Windows IoT along with a web system. I recorded two videos about the project, which I used as a Final Paper at college. You can check it by the following links (I'm from Brazil so both videos are in portuguese, but I think that it's simple to understand what is happening ^^):
    https://www.youtube.com/watch?v=_cWA1uIe3oQ
    https://www.youtube.com/watch?v=X1d-yIOQOvU
    Website: https://dingsec.azurewebsites.net/
    PS: To develop the project we only use Microsoft technologies.

    May 23, 2019
    Reply
  9. richardsilvag16 said:

    No se demoren tanto en sacar un nuevo episodio :0

    May 23, 2019
    Reply
  10. Dmitry Lyalin said:

    Thank you for everyone's support, we'll have a new episode out each Tuesday and have already recorded the first four episodes of this series so they are being finalized.

    May 23, 2019
    Reply
  11. cowpatsmellgood said:

    please help me with my license

    May 23, 2019
    Reply
  12. Khaled Yabroudi said:

    can I use python instead of c# with windows 10 IOT ?

    May 23, 2019
    Reply
  13. Ben Hayat said:

    This is going to be a great series.

    Can you talk more about ww.up-board.org and which board is best for W10 IoT Core development? Or for initial phase should we stay with RPi3 B+ ?

    May 23, 2019
    Reply
  14. Drake Lambert said:

    Can we see iot core development on non-windows 10 machines?

    May 23, 2019
    Reply
  15. Sergio Silva said:

    awesome!!!

    May 23, 2019
    Reply
  16. Vaibhav Hayaran said:

    Love IoT… Thanks for this series ♥️😍

    May 23, 2019
    Reply
  17. Eugene Wolff said:

    I am really excited about this series, please don't space then out to far. When is the next episode? Thank you for posting this.

    May 23, 2019
    Reply
  18. Floris said:

    Thanks for this series. I'm already looking out for the next episode

    May 23, 2019
    Reply
  19. apk said:

    OMG it's noopkat!!

    May 23, 2019
    Reply
  20. Ali Harsini said:

    thank you

    May 23, 2019
    Reply
  21. LANCE TAWANDA said:

    vs the best

    May 23, 2019
    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *