On .NET Live - Developing for the Meadow IoT Platform

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] [Music] live hi everyone welcome to this week on.net live my name is russell phillips and today today's a little bit different because we're usually not on a wednesday but i had to do what i had to do to get brian to come on to talk to us about building meadow and iot and so brian you know i you're the only person you're one of the few people let me say that that i actually move my shoulder so i had to do it because i thought it was really important to be able to get you on i learned about some of the new things that you've been doing with meadow and you know with iot and dotnet in general so definitely really excited to have you on them thanks for having me on board and thanks for uh thanks for let you know being flexible with your schedule sure sure so why don't you you know just for the folks that may have not seen you before or maybe you haven't seen the previous show that you were on before why don't you tell us a little bit about like who you are and and even a little bit about wilderness labs and what does wooden snaps do yeah for sure so uh as you mentioned my name is brian kostenich and i am co-founder and ceo of wilderness labs and um some of you folks may actually know me from xamarin i helped build um i helped build uh that a bit back um it's been a while now and uh i was uh i created the education division over there i built xamarin university which some of you are familiar with in the docs team and about five years ago started a new company um after we got acquired by microsoft and and just how xamarin brought the.net developer ecosystem to mobile we're doing something very similar we're bringing that net uh ecosystem to embedded development so this idea now that you can put computing in anything anywhere and we're enabling you know folks with net skills to build real hardware awesome so i definitely want to dive deeper into into that because i know for a lot of dotnet folks iot is kind of like like this interesting little toy thing where we have raspberry pies and sensors and you know we check the temperature of the room and you know we see how much moisture is in the soil but i feel like the industry is way deeper than that and i feel that there's a lot more and a lot bigger applications that we're not even really thinking about so that's definitely something i would want to make sure that me and you get a chance to talk about as we go into it but before we do that i definitely want to take a moment to as always we always give a quick shout out to the folks that are inside of the chat um you know you know this is a live show and you know one of the good things about being live is that you know it allows us to be able to access folks from like all over the place now me personally folks may know like i'm from the caribbean but right now i'm in florida um i know inside of the chat i'm looking already we have some folks here from brazil i see india i'm seeing folks from africa um let me see what else we got here we got south america and tons of other places so if you don't mind go ahead and drop a link in the chat let us know where you're from let us know where you're watching from let us know what country you're from um just so we can always you know give you folks a quick shout out now so ryan before we kind of move forward with your piece what i want to do is i want to share a couple of links just to you know kind of kind of do some some housekeeping i guess and let's talk about some of the fun things that have been kind of going on in the world.net so i'm going to share my screen really quickly as soon as i remember the buttons to press here we go all right so a couple of links that i want to share with everyone um so first and foremost since this is iot month on.net live tv i want to show you this iot for beginners curriculum that's freely available on the microsoft github org right now today so if we kind of scroll down so my team actually worked on this a lot of our developer advocates put together this curriculum over a long time over a period of months you know folks like you know jim bennett and tons of other folks um you know they pretty much take you from zero to hero with um like this 12 week 24 lesson iot basics curriculum so if you're interested in learning about iot if you've never touched iot before if you don't know how to get started if you don't know what you know um any of that stuff is or what iot even means this might be a great place for you to start just so you can get an idea about like what are some of the things that you can expect and what do you need to do now i know um some of you all have different levels of experience i believe this is written at least from the code perspective i believe this is primarily c plus plus and python so you are going to need to know a little bit of code this is not like a you know computer science exam or anything like that there's nothing that serious but you are going to need to know a little bit of code to be able to go through this so we can definitely um you know but again this is definitely something cool for you to check out and i know brian before we came on stream seti on cecil is there's no there's no metal stuff in here he's right there isn't but you know what that's always a good opportunity for folks in the community to send us pull requests you know if this is something that you're interested in seeing if you'd love to see uh you know a metal for beginners thing with like some c sharp code or f sharp code or something like that definitely let us know because you know without your feedback like we're not going to know what are the things you want us to work on we even support vb.net oh wow vb.net i'm curious i'm curious if anyone's interested in writing iot apps with vb.net i'd definitely love to hear that too if that's something that you want to do you know i gotta say like you know we all love to we all sort of love to laugh at bb.net but it's a serious language and this actually has some there's some things in vb.net that you still can't do in c sharp and yeah um you know the vb.net community just is really in love with it and we actually have customers building and vb.net you know and it's it's kind of like you know maybe we should stop picking on it maybe i'll be honest with you i was a big fan of vb um before like i actually got a job working as a developer i remember um back when i was in college actually before before i came to the united states and mike knows till in antigua we had this um one extra course that we did and it was it was all about like creating you know um uis and it was vb.net but it was literally all drag and drop right it was when you had went into visual studio you dragged and dropped controls and you know you had like the um what's it called like the grid and the little ruler and you positioned it and then you double clicked on the control and then that gave you like the handler for the for the uh for the event like oh this is easy put a button double click the button here mr button please do this for me and then you move on right you just keep clicking and adding buttons to it so that was pretty cool so again i'm a fan of vb so so seriously if folks are interested in building and doing things with vb definitely let us know um definitely love to hear about it looking in the chat really quick jose is saying i use vb in 1998. uc sharpened f sure all right see well i mean i'm not the only one that started with vb so that's that's definitely very cool i think we've all spent our our time in vb for sure i mean honestly vb and basic is what sort of built uh microsoft in a way right that was a huge huge part of microsoft's growing up and and and attracting developers i mean vb6 made made app developers out of anyone yeah i mean it looks like we have someone in the chat here as well that says i spent years with vba than vb5 and vb6 so so there you go i know there's tons of folks that have you know started their career built their careers you know using some of these types of tools yeah and the great thing about meadow is it you know it's it's it's net language agnostic you know we have full support internally and we have full support uh first class for in our in our tooling for c-sharp f-sharp and vb.net and that means that means like we have templates for all of those as well you know so you can file new uh meadow app and and create it in any of those languages that's really i didn't know you all had vb templates too that's definitely cool to know yeah it was actually um a request from uh more than one customer that is anything yeah and it makes sense i mean i mean for us meadow is is is you know the mission behind wilderness labs is to make hardware as easy as fast and easy as building web or mobile apps right and and so it makes sense for us to have something like vb.net which is super approachable i mean that's all you know that's it it it's sort of part and parcel and really aligns with that mission i think yeah no i definitely agree with you uh what i feel so people's folks are saying vb6 was my first language in high school so again like there's a definitely a lineage here of folks that i know for sure even though you might not be doing vb today you've done vp at some point in time in your in your in your journey to become a software developer so definitely got to give it some respect um moving forward really quickly so uh i want to give a quick shout out to my buddy uh brian minnick ryan uh writes a lot of really cool blog posts and he wrote this one on the dot net blog where he pretty much just gives us an introduction to the new dotnet maui toolkit so if folks don't know what maui is dynam always stands for multi-user multi-application multi-application user interface i think that's what i think that's what it stands for multi-application user interface and pretty much dotnet maui is kind of being positioned as like the successor or the next version of xamarin forms so xaveron forms had its own xamarin forms community toolkit now what you're seeing here is that you know that's going to be updated to be able to support maui applications and so brian kind of you know goes through brandon kind of goes through here and shows you you know what's in it and you know what can you do what can you expect from the toolkit and all these types of stuff and just as before it is open source right so you can you know head over to github you know you can click on the link and you know you could check out the code add it to your apps and kind of see what it actually feels like to use the toolkit in some of your applications so if you're interested supporting maui and meadow actually oh you can you can do that so the um you know our flagship board the f7 uh the main microcontroller in there is uh it's an stm32f7 and that has um uh hardware accelerated 2d graphics so you can actually drive displays and whatnot you know pretty seamlessly we've got we've got to build in some of the support for the direct there's it's called dm a2d and it's direct memory access and we've got to do some of the plumbing there but yeah once we get that stuff in we should be able to drive those at speed and and and run something like that i mean obviously you wouldn't run a 1080p uh app off of a microcontroller but like interfaces for small industrial controls and stuff no problem yeah and i think that's a good example too of you know what are some of the applications of iot right i can't like we were talking about earlier right like like what are some of the things that we could do as developers and if we could kind of plug some of the knowledge that i already have with maui and have that integrated with meadow i think that's going to be a really interesting uh definitely really interesting use case yeah i agree all right so let's take a look at this last link that i want to share with folks i feel like i've been talking about this every week for the last month but dotnetconf november 9th through 11th dotnetcomp is like our free virtual developer conference um this is where dotnet six is gonna be released um you know and 6 if folks don't know it's going to be our lts release so long term support which means it's going to be around for a long time it's going to be supported for a long time so you could you know build and you know deploy your apps with confidence knowing that there's going to be someone that you could call on the phone and be like i need help right um so definitely make sure that you go ahead and click the button save the date for.net conf um the agenda and all those types of things are almost done i believe so i think if i click this little agenda link you know it's it's not all there yet but it's getting flushed out i've seen some of the sessions that it looked really exciting so if you're interested in learning about some of the new.net six things some of the new azure things some of the things that the community is doing um definitely make sure you come over and check it out as well okay now that's enough of me i'm gonna disappear boom my screen's gone so this is where i always say no this is no longer the central show this is this is gonna be the brian show right and so brian first thing i want to talk to you about right first question off the bat we we've had you on the show before we've spoken to you and other folks about iot before but i feel like we've always seen like these very simple use cases which is important right you got to show the hello world before you show like you know the big mega application but i know for a lot of folks it's not always easy to know okay now that i have this power right like now that i have the ability to build these things what do i do with it so i think it'll be interesting for you if you could shed a little bit of a light on you know what are folks doing with iot exactly like outside of like you know checking the temperature or you know the amount of water that's in the soil right like like what are folks doing what are what are big enterprises doing you know what does it mean for me as a developer like is this something that i could you know focus on for my career going for like should i should i really dive into this thing like is it going to be like that mobile revolution where now everyone is a mobile developer like like what can we expect from this going forward yeah that's i mean such a great question and um it's really interesting you know we're set we're still at kind of the beginning of this new revolution and when we talk about use cases it's interesting to like sort of put the iot market into perspective a little bit so um so so the iot market is is just enormous and we'll and i'm sure we're going to talk about that in a bit but if you sort of break it down there's three there's there's three pieces of the iot market and when people think about iot the first thing that they think about is like smart thermostats and smart ovens and fridges and things like that and and these are um that's what we call consumer iot and if you look at the overall market you see there's this little tiny sliver of the market and somewhere around 10 and that's consumer iot and then the rest the rest ninety percent um is divided up into these um other two uh sections and um there's commercial iot which is somewhere around 30-ish percent and then there's this massive section which is about 60 and that's industrial iot and and consumer iots are things like medical technologies um smart buildings asset tracking basically that's sort of like commercial think of like consumer iot but but commercialized so things that you would buy for um you know in a in a package but in consumer use and then this other massive section of iot which is where the vast majority of all development is happening right now is industrial iot and that is like transportation logistics ag tech you know it goes on factory stuff and um in industrial automation and stuff and that's really we sort of our customers generally sort of play in those two in those two markets they're they're building either industrial iot or commercial iot and so we've got folks on the commercial side they're building we have we have folks building medical devices we have folks building um we have a customer a big customer that's doing smart windows so the idea behind this is that um your building the windows would open and close for passive heating and cooling and then you go your building panel and you know open and close windows or you can open from your phone you know pull up the bluetooth and control it that way and then in like the industrial house we have people doing stuff in agriculture so not just you know not just a soil um sensing and and chemistry and whatnot but on large scales right where you have an interconnected network of devices doing interesting things and talking to each other and making decisions and then uploading to the cloud etc um and that's really like i said that's really where most of our our folks are are building we also have a number of folks doing things like in industrial automation so they're attaching um they're they're doing bolt-on solutions where they're adding intelligence to existing machinery they're automating factory processes or they're they're getting insights from things that are happening within a factory floor or maybe they're doing logistics work where they're doing doing tracking and they're you know maybe they've got maybe there's maybe they're doing something with containers and and uh gps tracking and like sensing uh the humidity and temperature of the bananas inside a container and then also always knowing where those are at so that's really kind of um our our customers are generally folks doing that they're they're they're folks for whom you know security is super important because that's a big part of our play um and also ongoing maintenance being able to uh um deploy applications and then maintain them in the field and and send over the air updates and whatnot so that's kind of you know that's really where we play we play in those like those those industrial and commercial use cases generally okay now i yesterday i know there was an announcement from amazon and they released like a ton of devices like there's like smart thermostats and security cameras and all of these types of things still commercial i suppose like these are for your house but from a developer perspective you know i'm just thinking in the back of my head you know i'm sure i'm gonna have to log in with an account i'm sure i'm gonna have to set some stuff on my phone i'm sure i'm going to have to you know set up wi-fi and all these types of things and in my head from a developer perspective i'm like that must be where like the iot part comes into play i'm assuming right because now i am again like there's sensors and gauges and um all kinds of stuff in those little devices but now i have to kind of i have to connect that to like the world that i'm familiar with right i have to connect that to my phone or my browser or some other thing right that's gonna allow me to interface with this device at least to set it up right so now i can just kind of let it do its job um another case that i think about um and you could let me know if this is iot or not maybe it is maybe it isn't but i think a lot about um e-vehicles right like electric vehicles you know um the self-driving cars all these types of things you know you know most cars today or a lot of folks that have cars today um you know i guess it depends if folks some folks drive and some folks don't drive um and i know there are cars where they can sense when other vehicles are next to them or cars that have um cameras and stuff like that inside of them or you know whenever they're parking like they use you know gps's and other types of sensors to figure out well is the car straight or not like can i parallel park myself or not is that iot or is that like something something completely different sure yeah no i mean i think the interesting thing about iot is it's such an overloaded term you know the the idea that something is is a thing and it's connected right that's iot um and and even it's funny because we even use iot for things that are not necessarily connected maybe it's not really the inner maybe it's just the ot but it's such a it's really it's really a broad category but all those things that you um all those things that you you uh talked about this and this is actually a really good and a really interesting segue into understanding this revolution because like all those things that you talked about those are sort of the hero experiences of iot but the hero experiences of iot represent such a tiny fraction of the market so so the first things that that you talked about were like the amazon stuff and amazon came out with uh some really interesting things the other day right they announced some interesting things and but those are almost all consumer iot and then you know uh cars are sort of interesting and and use cases there and things are you know more and more things are connected but if you look at it's this is really fascinating so the market the overall market for iot is just so enormous and and the things that we see are just a it's just that it's the very tip of the iceberg of what's happening here and in fact today there is no larger single market in tech than iot it's three times bigger than mobile it's already enormous it's three times bigger than mobile it's five times bigger than big data and ai combined in terms of like spend and then if you do you talk about devices like compute devices by the numbers there are trillions of microcontrollers out there in the world and many of those are now connected right so and what's interesting is that if you look at this from like a if we if we step back and kind of take a hundred thousand foot view of this um you know you look at humankind's technological uh progress through time and and it started with you know the first compute was like you know the first real compute was like mainframes right these big giant uh vacuum tube machines that took up entire rooms and then that miniaturized and then we had the desktop computing revolution and famously bill gates had this uh mission in the 80s which was to put a computer on every desk in every home right and then we're like so far beyond that now but but that you know and then the web and and and what happened is that was like a 15-year thing like you know desktop computing was everything um and then the web hit and the web was just this massive new epoch right and and everything was web everything was web apps web apps web apps and then web sort of turned into mo uh into cloud and then um mobile hit and so like kind of the last decade everything's been all about mobile right we've been talking about mobile we eat breathe mobile you know we just talk about maui and a big you know the driver of maui was xamarin forms and xamarin forms mobile and blah blah right but what's happening now is that we're now entering this new epoch right this new era of computing in in which we've moved from a computer on every desk to being able to put a computer in almost everything everywhere right and and it's really interesting because you look at one of our boards and and this is our f7 this is our f7 developer board and the micro the main micro controller on there is an stm32f7 as i mentioned before that is effectively a pentium that's a pentium you know it's got the processing power of a penny and plus all of the hardware stuff and so the idea that we can put a pentium in everything is driving this this new revolution and that like i said the interesting thing about this revolution is that the revolutions that came before had hero experiences right so like mobile is a really good example of this you know 15 years ago now when when steve jobs got up on screen and you know he's like showing this this piece of glass and it's and he's sliding and doing animation and stuff and it was cinematic and you thought oh my god this is the future right this is the thing and then everyone um you know and then android hit to fill in that market and now nearly in the majority of human beings on the planet have a mobile phone a smartphone right and what's interesting is that as big as that was we really felt it because of that hero experience like can you i mean look just as a as an exercise as a as a thinking exercise you know remember navigating in your car or where whatever pre google maps and after google maps right it's coming like it really changed our lives and the thing about iot is that it doesn't have quite the same hero experience i don't like that that that mobile had but it's still this massive revolution in just a few years it's expected that there will be ten times as many non-mobile connected devices on the planet as human beings that is like those numbers we don't even you know like we that's 75 billion uh a 70 like uh was it 75 billion 25 billion devices and um and though no 75 i'm sorry 75 billion devices and yeah even like they i i struggle with numbers because how do we how do we we don't even we don't have the the frame of reference to even understand that but one thing that's clear is like that's really gonna tr drive a massive um shift in how we interact with the world and and and and cultural right because because just as navigating with before google maps and after google maps like this revolution is really going to change the world and so um it's it's massive it's happening and it's so important because i it's funny when we started xamarin i remember i used to go around and tell people look if you're not doing mobile if you're not learning mobile you're going to miss out and now i you know 10 15 years later i'm i'm going around saying look if you're not learning embedded if you're not learning iot you're missing out because if you want to continue to be competitive in um in as an engineer as you know as an architect etc like this is where uh you know a majority of efforts are now moving and and what's interesting is that there was a couple of years and this was two years old and this has only gone up since then idc released a report on iot and they found that nearly every single company of any of any size you know like above like 50 employees nearly every single company um was investing in iot and most of those projects were actually failing they were failing early which is good but they're still failing which is bad um and in part of this because they don't you know like iot was this brand new thing and no one knew how to do it and it was all embedded c which is like a really heavy you know like i can't write an embedded see i you know i'd i'd rather go grind my teeth on the curb or something you know and so you know like all of a sudden everyone is is having to do iot projects and um you know like there's just a lot of those aren't aren't going anywhere but but the revolution is here and it's happening and there's lots of money being spent on it and stuff and so that's you know ultimately that's why we're around that's awesome so i know i'm just looking over in the chat really quickly so a lot of folks have questions about meadow and it looks like corey is already in here answering some of those but for those of us that are on video right like let's let's see if we can dive into some of these sure so the first one so martin's asking um what vices devices are supported by meadow and i guess before we answer that question let's let's let's take one step back and i know you have boards and i know you have an operating system like is metal the combination of the os and the board or is is metal platform the os and then you could just run on x amount of supported boards like how do we how do we kind of frame that picture yeah so today meadow runs on on our boards and it's you can kind of think of it as almost like almost like the iphone like we control the experience it's very up level we want it we will make sure that like everything works really really well with that hardware and you don't have to fight with like this or that thing um but it's also plug and play in the sense that like you can add things to those boards um you know you can go to sparkfun or adafruit and you can buy sensors or displays or whatever plug them in and you just have an api and it's beautiful and it just works out out of the gate and we've been able to do that by sort of like controlling the hardware longer term we'll have a whole fleet of devices that will be you know meadow enabled but today it's um the meadow the meadow boards and um when you look at like okay so what meadow is there is there's the hardware aspect um but then there's the software stack right and and and the way that that sort of shakes out is that we have a thing called meadow os and meadow os is is is kind of a pancake right at the bottom of the bottom of the pancake stack is a micro real time operating system designed for microcontrollers called nut x and we've got a heavily modified custom version of nut x and then on top of that we have a dot we have the.net runtime and that enables net applications to run in this context in the context of a microcontroller with no real like no desktop os right this is this you know in the sense that in in in in microcontroller the the embedded world basically instead of having a heavy os you have a very light os and then your application is the thing there's just an of os to support your application and the services that your application needs you know it's not like multi-user multi-window it's nothing like that it's very lightweight and then on top of that we have our meadow core apis and the meadow core apis are the way that you access the hardware so things like digital ports and analog ports and spi and i squared c and and all that great hardware stuff is exposed via these.net these beautiful.net apis that make it super super easy and then on top of that we have this thing called meadow foundation and meadow foundation is this massive open source library of peripheral drivers industrial control frameworks and libraries so that so that really when you do grab a sensor off a spark phone or whatever and you plug it in then there's a driver for it there's a beautiful api and it just works out of the box so you can focus on building your application rather than fighting with cmake and you know trying to get like version of this working with version of that and blah blah blah it just works the idea here is that this is productivity out of the gate so it's kind of like what you said because you control the experience now you could make sure that like the you control like the hardware os experience you can make sure that the developer experience is that much better exactly that also makes me think a lot about kind of going back to your xamarin days right like it makes me think about xamarin forms which you know kind of we're talking about maui a little bit how for me xamarin forms made it easier because now i could use what i'm familiar with like my tooling and visual studio and these types of things but i could deploy to these other devices that are technically foreign to me right like i don't i might not have known objective c or swift or you know java or and i think some folks write um c plus plus with a little bit more high performance controls and things of that nature for those mobile devices i might not know how to do those things but i know.net right and i know how to drag and drop things on on a designer and i understand how that world works so would is it fair to say meadow provides somewhat of a similar experience at least in terms of like how you approach iot allowing us to be able to again reuse our skills to deploy to like this new world yes exactly that that's exactly it you know the idea here is that with meadow um you know there's still a there's still a learning curve you're still you know you know you still have to learn how to put some hardware together etc it's it's a lot like being a c-sharp developer and learning xamarin right there's still things you have to learn but what you don't have to learn is dot net because you already know that you already know c sharp you know how to program you know how to code and even if you don't really know that like c sharp and net is just such a it's it's such a welcoming environment it's such a such a lovely place to develop in the tooling the framework the platform everything right um so so yeah absolutely the idea behind meadow is 100 bring your existing skills and and and get up you know be welcomed into embedded development with them okay all right so next question i want to pull up so this one's from our friend uh jose jose is here like every week multiple times a shout out week jose for sure um what is the size of the dot net runtime on meadow iot um i know folks still feel like dotnet is this big heavy thing and i feel like well i mean i i feel like people ask these questions because again it does have that lineage right like you go back to you know net framework 20135 like 40 megabytes at a minimum yeah right right you're talking about you're installing gigs of stuff when you include visual studio and the tooling like you need you need gigs of space before i could even do hello world right but now the core is a little bit smaller right and i can imagine for these embedded devices it's even that much more important for it to be small for to be able to run in some restricted space and also to be performant in that space so i'm guessing um i'm guessing you have a fairly light weight footprint right for running.net and metal iot yeah absolutely so it's a great question and that actually begets um by the way hello jose i know you had a number of other questions and and i i hope to unpack them here as well um so you know dot net really has matured over the years and part of the maturation is like is also editing and curating and cutting things down and throwing things away and making it smaller right and and our uh the the runtime that we use is it's actually incredibly small um so that so the actual run time on device i think is two megabytes uh which is you know almost nothing yeah yeah it's very very small and then you know then there's like ms core lib the the core the core um class library and things like that and um you know that adds another i think of four megabytes or something three or four megabytes and then your app stuff um but the great thing about that is is that and this is something we've been working on um there's two technologies here uh and really hats off to the work that xamarin did on this by the way there's two technologies that are super important which are linking and aot compilation and those are those are um the features that we're working on integrating right now um in that so linking also known as tree shaking takes your takes all your assemblies right and and a typical uh a typical hello world uh um meadow app i think might be like eight ten megabytes or something and the idea is that with linking you know you shake the tree and all the stuff that you're not using goes away and all of a sudden now that gets very very small um and and with aot you know it takes that from a performance perspective it'll take that and we've actually been working really hard on aot for our microcontroller which means you know a thumb to back end and there's a lot of a lot of heavy duty work there that i actually don't even understand i see a lot of assembly code uh come through the slack channel and it's just like okay of my pay grade um in any case uh you know the idea that with that is that we can actually compile straight down to the metal we can go right to llvm and then thumb two back in and now you have like 100 performance you know and you have inlining and all that that magic stuff there and so um we've done a lot of work to optimize that and we also just we're standing on the shoulders of giants right we're standing on um we're standing on uh all of the work that that microsoft and xamarin have done to uh to make that possible and and and and to sort of further that you know jose you also had another question about like the run time and stuff and what do we support so so today what we what we support is um we're sort of core compliant so we we fully support net standard 2.1 um and as dot net six matures we'll switch over to that as well so sometime in the new year we'll get full net six support it's not quite ready yet because it's it's missing some of the things that we need for embedded and then we've got to do once it's like ready then we have got actually a bunch of work to do behind it to take the stuff all the great work that the microsoft and the and the mono teams you know have done um and and sort of extend that but today it's full.net standard 2.1 apps it's not you know uh jose you asked if it was based on like the micro framework or nano framework it's not it's none of that legacy stuff this is full.net right this isn't like so and the great thing about this is it means that if you want to go to nuget and get grab nuget packages for x y or z you can get modern nuget packages nothing has to be super specially made it's it's um you know it is it is full.net it's a full.net experience and we've got um uh fantastic tooling you know so we support visual studio uh for windows visual studio for mac vs code um and then if you wanna script or or integrate into other things like jetbrains with meadowcli actually all of our extensions use the meadowcli under the under the hood so you have a command line interface for deploying deploying to meadow and it's very smooth it's very fast it's actually faster to deploy to a meadow app than it is to deploy arduino apps i mean it's literally like seconds to you know if you've got there's a first deploy it takes a little bit of time because we have to push up like the ms core live and things like that but like subsequent deployments we just squirt over the changes and it's like seconds nice so i know we've been talking a long time about like iot and meadow and like you know then things of that nature do you think it would be possible because we're like 40 minutes in now do you think it would be possible for us to take a look at maybe like a quick demo and see what does it actually look like to like build something with with metal on i don't know like visual studio and using the cli and stuff like that yeah absolutely why don't i yeah this is a great opportunity so um i'll share uh something i got up right now which is uh so this is visual studio for mac and um this is a new feature by the way uh i want to show a new feature that we just um we just released in the last beta which is sqlite and the idea here again remember this our mission is to make hardware development as fast and as easy as making um uh web or mobile apps and so part of that is like okay so so you're integrating with some sensors you're reading some data etc um you want to save it locally and then you want to maybe at some point you want to squirt it up to the cloud maybe also you want to make it available via a bluetooth service and have a companion app or maybe you want a restful web server on there so that you can actually go in and view uh data over time right so that's in order to do that you have to save that locally so so this like i said this is a new feature as of this last beta we have full sequel light uh full sequel light um uh support and not only that but we actually made sure out of the gate we had full sqlite.net support which means you can use frank krueger's um sqlite orm to actually save uh to the database um without ever writing any sql code so here's a model here's a sensor model and it's just this is kind of dubbing data we have an id here primary key and then a time stamp of when it when the sensor data came in and then like some value right and and and this by the way is from um this is our our meadow uh core samples in our metacore samples repo and i'll i'll actually add this link i can put it in our chat and then you can paste it to folks um so you can actually see this code this is uh sql litecode and and there's a this is a sample and it's just showing like all the different things and you see configure database insert dummy data blah blah but if you look at this this looks exactly like just regular sqlite code unlike xamarin or anywhere else right so here's a database path and we've got these nice data directories um so meadow os file system data directory so it you know talks about this is gets the data directory use this for you know um and so we created a sqlite connection um and then we added any of our tables if the tables already exist of course sqlite doesn't you know won't delete them or anything and then to uh add data it's database.insert uh insert that data and it's it's you know like i said this is there's nothing special here this is all just regular dot net code if you know how to write net in c sharp you already know how to do this um you know and then all of this stuff like i said you know uh getting uh getting uh updating a data from the from the database exactly the same way and um i mentioned that this was you know the the user experience here is just incredible right so we plug in a meadow board into visual studio or visual studio for mac it it shows up in the drop down here as if it was if doing like xamarin development you know you're choosing your phone you hit your play button and it deploys and it takes just seconds and then here we are we're inserting some records into the database now it looks like it's slow um but it's actually because we're doing thread.sleep in here to get um uh new new datetime values but uh it's it's you know there it is we've we've inserted some rows and then we're look at that we read back the data the data is so fast this is coming again from a microcontroller um and then we're doing a bunch of operations and and and as i said if you can you know if you if you can write c sharp code you can write um uh meadow code and and one of the things that we've we've done here is that we've invested tremendous amounts of effort into getting started and learning and being successful on hardware right because we understand that this is a new thing and and i probably as well as anyone understand that there's a learning curve here you know like xamarin university didn't come out of nowhere you know there was a reason why we had to create that and so we have um we have gone to great lengths to provide tutorials and content around doing exactly that so you know let me i'm going to show you real quickly so if you you know when you pick up a meadow board you'll come to developer.wildernesslabs.co and that's this is our doc site you know there's a fantastic getting uh a getting started guide and it'll walk you through everything how to put together your your dev kit there's even a soldering demo if you you order it unsoldered um and then you know like there's there's fantastic documentation on on how to get started and i want to show you um by the way this is this is our this is a picture of the meadow the latest meadow board is just absolutely gorgeous but i want to show you um meadow foundation so one of the things that i said earlier was that the idea here is that it's a it's a plug and play experience so meadow foundation is this massive um massive uh open source library of peripheral drivers um industrial control algorithms etc and you can you can actually find the source at wilderness labs on github meadow foundation but if you look at the um the library list here there is so many sensors and displays and motors um circuits things like that that we support out of the box and again the the documentation for these is just absolutely incredible so here is bme 280 which is a really popular temperature pressure and humidity sensor if you're doing climate um monitoring basically everyone uses this uh this sensor and and here it is here's you know code how to use it and there's a you know a lot of different patterns we this is actually something that's really interesting you can use um and actually while i'm on it we can talk about this you can use classic events to listen to um you know to listen to sensor changes or you can use a modern eye observable pattern where you can pass in a filter and you say look only notify me if the temperature has changed by so many degrees so there's really like it's really nice uh working with this with these things and they all like all the sensors in meadow foundation are super very curated and very consistent so every single sensor um that's like reading stuff has follows this pattern it's read start updating stop updating so the idea here is that if you want to do a one-off read and then go to sleep then you call read if you want to do like automatic um um updates where where it automatically um listens for it you know reads a sensor every every minute or every few seconds or whatever you just start it and then uh forget about it and we do automatic over sampling which means um like you know it takes a bunch of reads and then it averages those values so you don't get a bunch of noise um all this stuff is just built in and we make it super super easy you know like the idea here is that if you want to build hardware we really do massively simplify it and and we think about like the you know we're all developers on you know in at wilderness labs and so we all think about this from a developer first perspective like how can we make this easier how can we make this streamline how can we make it faster and more productive and so that's really what we've been you know we've been focusing on and so quick question um coming in from youtube so nicholas is asking how does one secure a metal device um so i'm gonna guess that's so i'm guessing he's not talking about like how do i secure the hardware no no this is actually really so nicholas is a really good question because security is a huge part of our stack and this is something that we're sort of you know we're still in beta and we're rolling out these features but meadow is the idea with meadow is that unlike you know most iot out there today which is just kind of wide open for hacking meadow intends to be secure by default and i mean that from from from the hardware on up right so when we provision a meadow device for instance it automatically creates a private uh public key pair stores the private key and a secure enclave and then it has identity right so from there on out that meadow has an identity and you can it can sign messages it can sign payloads um other actors can take the public key encrypt payload to that um you know to the meadow etc and then we also uh we're gonna enable uh flash encryption so everything on the device will be fully encrypted um so it won't so even if you were like in there and you're trying to read you know you're listening to like um you know talking to the hard drive of the meadow um it'll all be encrypted and then we're working on over-the-air updates which we're almost done with and the idea there is that if there's security updates you want to push out a new application um then you'll be able to manage that you know through the cli or through the cloud and push that down and and so we really like security is a huge part of our our of our play and we're thinking about it from from top to bottom and as you as a as a commercial or industrial you know developer um the idea here is that let's say you want to go out to um the market you've built this you built this awesome widget and you have you're shipping 10 000 of these right so you would order meadow from us and it would actually already come provisioned you could upload your application your meadow package to the cli or to our to our cloud app and then you would have those boards when they by the time they got to you they would actually already be secured encrypted and your application along with configuration data would already be loaded on there so you can put it directly into your circuit directly in your product and go and not even not even worry about that right and we're also thinking about this in terms of like components that are security related you know making sure that there's no default username and password if you're doing you know like we're thinking about putting those you know how how how we can craft those and make those ins and put those in build them into the platform so that you get them for free um as well as documentation and education right because security is like more than just it's more than just encrypting your flash or you know having good uh public key infrastructure um it's it's it's really more than that so we're really thinking about um we're really thinking about this from a very holistic perspective gotcha that makes a lot of sense so we do have a few minutes left um it's been a really um interesting conversation to say the least now a lot of folks have been in the chat and they've been saying all the boards are sold out i can't get a metal board and this is what happens right where like we entice them we entice them with oh look at this really cool stuff that you could get but not quite yet because the words so but i think that's a good problem to have right what it shows that obviously there is definitely demand for metal boards you know if you as a developer are thinking about oh is this something that people really care about or not i definitely think it is because if that wasn't the case then brian would have tons of stock of boxes of boards that he that he wasn't selling right but that's not what's happening at all people are definitely very interested in this and so so brian what do you want to tell folks that are interested in purchasing a metal board and started to play with it yeah so let me let me start with the story so we um last week so we've been working on this new version of the meadow board we we did some upgrades to it based on feedback from our customers that were actually going out building production uh iot and we made some some some pretty awesome changes we added um actually i'll show you a picture of the new hardware which is let me find that um so we upgraded the um we upgraded the board and we um here it is just clicking around here don't mind me sure so this is our new meadow board um that we just launched this is the meadow f7 v2 and it's um it got it it's a it's honestly it's a it's a beautiful it's a piece of technical art i have to say hats off to our electrical engineer sheldon for uh this thing and and and whatnot um so we did some and it's also going to be available by the way in this core compute module which is for folks that are going out to high volume um you know production and and this uh the module is uh at scale will be considerably cheaper so you'll be able to get that for 30 bucks um but we did some big upgrades and the f7 v2 um includes uh a new uh we doubled the flash we upgraded the antenna so now it's actually better we get better service on our board than we do in our iphones um and the big thing a big change that we did is that it's now um fully smt compatible so smt is surface mount technology and the and the version one meadow had some capacitors underneath on the bottom and it and it had just through-hole um these holes for headers this new one has these cast-elated um it has these and you can see it better in this photo it has these castellated headers so you can actually solder this straight down onto your board which is more it's that's a better compatibility with um like high volume production and we did some other things there and we announced this last week and uh we got our first shipment of boards from the new production and we announced it and with hours we sold out um so we we didn't expect to sell out i would say this is a pleasant a pleasant surprise but we sold out within hours and we're like oh my gosh so if you want to get a a meadow f7 um they are back on back order right now but if you sign up for our newsletter and i just pasted a link for you um to share if you sign up for our newsletter you will get notified when more come back in stock and we should have them in a we should have another batch in about a month about a month or so okay so like ryan said so i'm showing the link right now um in the bottom of the window right over here where's my camera there we go right over here somewhere so um go ahead and sign up for the newsletter if you're interested in getting a new board um um from wilderness labs now last thing i want to ask you about brian so we talked about obviously we talked about the industry we shot a little bit of code and then we you know talked about the new boards and things of that nature what are some other things that we can look forward to in terms of meadow and just wilderness labs in like the next couple of months sure yeah so um you know it's been a fun journey and we've been in beta for a long time with meadow and uh we're super excited as we uh this last you know release was feels really good we know like it feels this is the first really like it feels production ready and we've got almost all of our v1l features uh launched now we've got a couple of minor things a couple features left and they're like almost ready and so we're getting really close to v1l and v10 means production ready means that if you uh develop a meadow application you can deploy it out to the world in production code and be able to update it over the air without having to go and you know plug in a usb and all of our core features will be there and and polished and um will lock the api right so one of the things is it as in as we've been in beta um one of the things is like as we designed these apis and the metacore apis and the sensor apis and stuff we've been really cognizant about okay today a lot of these things work this way because maybe in 1972 some hardware engineer decided that that's the way that a serial uh port was gonna work right and then there was seven other designs that came after that because those were maybe not the best decisions or maybe that was an early decision and and then had to change right and so we've been thinking about all of these api um decisions and in the shapes of the api and whatnot from a from a from a like a a fresh perspective of like okay we know that this is how it works today is that how it should work is this really the best way to interact with hardware in this way and so we've like really rethought a lot of the ways that that you build hardware and i think that we made a lot of things a lot better and but that required iterative you know change that required breaking apis it required rethinking and taking feedback from our customers and seeing how they're using it and and reintegrating that and as we you know when we hit v10 that's sort of like you know that sort of stops we don't you know that's the basically we're giving a contract that says okay these apis are stable they're polished you know there's going to be issues there's going to be some bugs here and there but this is going to be production ready so that's um that's uh that's a you know that's a big thing um the other thing and we're going to announce this uh tomorrow but the here listeners a little sneak preview we're going to run our wildly successful dev camp again this year last year we ran dev cam 2020 was our first conference and we're actually going to do that right after dot net conf it's going to be on uh november 18th i think it is um and we're going to have a full day of sessions and building hardware and you know real world hardware and iot and so that will be a lot of fun um so yeah those are you know kind of the big things that are happening right now v10.net conf and we're just you know like we're we're we're pumping out new releases all the time we've got really good uh r d velocity right now as especially as we especially as we sort of approach this um you know production release so i'm i'm really interested about that um like that metal cap that you mentioned so do i have to wait until tomorrow or can you tell us like how do we how do we sign up for it like what is it like like what are for folks that weren't there last year like what what kind of experience that can they really expect from the from the camp yeah so we'll um we'll send out links tomorrow the eventbrite page isn't quite done uh we're finalizing tonight but then we'll send out you know so uh follow us on twitter so we're just wilderness labs on twitter um and uh that's a great place to get information also our newsletter our newsletter is really like that honestly the newsletter's awesome that's where we blast stuff out all the time and um so we will we'll send out a link it'll be a virtual conference um as as things are in the in the age of this thing but it'll be a full day and we'll walk through uh um all kinds of stuff you know intro to meadow intro to meadow foundation we'll probably do a little hardware design maybe even show building a circuit um spinning a custom pcb board which is turns out is actually incredibly easy these days um and so we'll do you know kind of like a lot of real world um meadow stuff look at industrial protocols and and whatnot and yeah it'll be it'll be fun and we'll do some show and tell uh our customers have built some really interesting things so we'll get the show they'll get to show some of those things off also here i want i gotta say um and and jorge our developer advocate is uh just reminded me um another place to check out some really cool stuff is our hackster page so i just i just pasted that um our hackster page has a pile of honestly it's it's a work of art i i jorge has been working on these diligently for for the past couple of years and you can see these are um a bunch of things that you can build um with meadow today um and actually um one of my favorite is the hack kit pro hacks um if you if you get a hack kit um we've we put together these hat kits which has a whole bunch of components out of the box so you don't have to go and like find this or that it has everything you need it has buttons and it has displays it has motors as servos and rotary encoders and all of these hacks can actually be built with a hack kit and hack kit is a very good deal um and yeah there's just a pile of things that you can build with it so um you know check them out check out our hackster stuff and uh yeah and so hackster i'm looking at this so this is a community for folks that are interested in learning about programming hardware right so that's right so this would be another interesting place if i i know nothing about iot like i can come here and not only just learn about meadow but if i want to learn about i don't know other sensors that i could plug into my metal device and into my metal board like this would be a cool place that i could do that yeah absolutely hackster is a great resource great all right well brian hey this is this has been amazing um definitely thank you for coming on um shout out to jorge because i've seen him in the chat like posting and messaging folks and answering questions definitely appreciate that and definitely shout out to all of you that are stuck around and watch with us i know i missed some countries earlier and i don't want anyone to get mad and be like oh cesar you didn't call my country out but i see i see we got folks here from the uk from the ukraine as well from belgium from france um colorado definitely got some u.s folks in here definitely shout out to you guys and um yeah tons of other places so again thank you all for watching brian thank you for being here this has been another episode of on.net and i hope you all join us again next week where we'll have more awesome guests talking about cool things in the world of dotnet so see everyone bye adios thanks for having me [Music] do [Music] do [Music] the
Info
Channel: dotNET
Views: 831
Rating: 5 out of 5
Keywords:
Id: br1mSCcbQiA
Channel Id: undefined
Length: 65min 37sec (3937 seconds)
Published: Wed Sep 29 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.