Cellular-Powered Water Quality Remote Monitoring

In This Webinar You Will Learn

  • How to quickly add cellular connectivity to your IoT product using the Blues Wireless Notecard.
  • How to easily integrate the Blues Wireless Notehub with the Losant Low-code IoT Platform.
  • How to build water quality visualizations and alerts in the Losant IoT Platform.
Start Building for Free Get Started with Losant University

Go Deeper With Even More Losant Assets

How to Guide

Build Easily With Losant’s How-To Guides

  • They cover any prerequisites
  • Provide step-by-step instructions
  • Provide code snippets
  • Provide additional resources
View How-To Guides
BluesWireles Dev Kits

Blues Wireless Helps Developers With Notecard Starter Kits

  • Feather Starter Kit for ESP32
  • Raspberry Pi Starter Kit
  • Feather Starter Kit for Swan
View Kits
NPE On Site Monitoring

Discover the Benefits of Industrial Equipment Remote Monitoring

  • Make future product improvements and decisions with real data from the field.
  • Get a competitive advantage by allowing your customers to monitor conditions and keep track of production from anywhere using an app.
  • Remote cloud monitoring can help reduce your customers’ maintenance spend and overall operational costs, reduce the frequency of service calls, and extend the life of your machines.
View Solution Overview
Take Your Losant Expertise To The Next Level

Webinar Transcript

Cellular-Powered Water Quality Remote Monitoring

Heath: All right, everyone. Two minutes on the dot. I hope everyone is having a great day. My name is Heath. Again, thank you all for being here. I couldn't be more excited to have you all here today. We're going to be talking a little bit about Losant, and water quality monitoring, and how you can leverage wireless communication to bundle up that IoT product. Today, we've got a few different speakers. Again, my name is Heath. I'm a Success Engineer here at Losant. Today, we have Brandon Cannaday, Losant's own Chief Product Officer. And from Blues Wireless, we have Rob Lauer who is a Developer Relations Lead. Before we go any further, I want to provide a couple bits of info on this webinar. This webinar is being recorded so that we can make the replay available to you in a few different ways. We're going to send you an email with the link to the replay, and the recording will also be made available on Losant's YouTube page as well as our Deeper Dive page on our website. Now, we love hearing your questions, and we encourage questions. So I would like to point out a few couple of key features in the Zoom conference. You can use the Q&A feature or the chat feature to post questions, and I'll be monitoring those throughout our time together. And then at the end, I'll moderate a Q&A session with those posted questions for Brandon and Rob to answer. Before we get deep into it, I want to talk a little bit about the Losant Enterprise IoT Platform. Losant is an industry-leading IoT platform. As an application enablement platform, Losant provides enterprises with the building blocks they need to create their own IoT products. The Losant platform consists of five key components to help customers achieve that. First, we have end-user experiences which allow you to build a fully functional web interface that lets your users interact with your connected devices. We have a visual workflow engine, the low-code brains of your connected solution. It's how you trigger email notifications, create events, send commands to those connected devices, and much more. Data visualization, which includes integration with Jupyter Notebooks, allows you and your end-users to see what those devices are doing. And we have devices and data sources which allow you to create a digital twin of your devices in the field as well as integrate other services that have the data that you care about. And lastly, edge compute, which is a suite of functionality that enables you to execute business logic right at the edge. Our customers and partners utilize all five of these components to create the robust IoT products that they put in front of their customers. Losant is a leader in the industrial telecommunications and smart environment spaces. We've offered this platform for all sorts of customers ranging from startups to companies in the Fortune 100. If you're interested in learning more, please reach out and we'll be happy to set up some time for much more in-depth conversation about how Losant can help you develop a connected solution. While Losant provides the software foundation for IoT, we've surrounded ourselves with a great ecosystem of partners that help create this IoT solution, just like we're doing today with Blues Wireless. This includes strategic partners that share go-to-market strategies, solutions partners who work with you to develop your end-to-end IoT applications, and technology partners just like Blues Wireless that help provide hardware connectivity and other services to round out that IoT solution. Again, I couldn't be more excited to have you all here today. I'm going to pass this virtual mic to Brandon Cannaday, and we'll get this started. Brandon.

Brandon: Thank you, Heath. So before Rob really takes us to a deep dive of the implementation, I wanted to spend just a couple of seconds just setting the stage, really trying to give everyone a picture of the type of applications that this webinar is really for. And the best way to kick that off is to really talk about the two types of IoT implementations. Either you're a consumer, an IoT consumer. That's a company that uses IoT as part of their own business processes. This is what we hear a lot of when we think of smart manufacturing, industry 4.0. It's a lot of companies using the technology to improve efficiency and reduce cost, really solving their own problems. And water quality definitely fits in this. There's a lot of use cases for manufacturers, chemical processing, [Inaudible 00:04:29] to think about water quality. But really, the best way to think about the content here is flipping that around where you become an IoT producer. These are companies that are providing, producing brand new IoT products and services. And from my perspective, I think this is really where Blues Wireless and their hardware and connectivity and cloud services really stand out. It really makes becoming an IoT producer a lot easier. And to really give yourself a picture of what I'm talking about—what does that mean to create a product—this is a product called The Airnote. This is actually provided by Blues Wireless and I thought this was a great kind of visual representation of what I'm talking about. It's got an enclosure and it's going to have the Blues Wireless technology. In this case, it's air quality sensors but the same concepts that we're talking about today, apply to water quality, also apply to many other types of sensors. Really think about this in your head. Use your imagination like, "If I wanted to create a cellular-powered remote monitoring IoT product and service, this is going to be some excellent content for you." And kind of jumping a little bit into the technical side, Rob, our guest today, is going to go much deeper than I will, but I wanted to provide kind of this picture of the landscape here. Everything on the left in that red box, that's inside the enclosure, inside the product itself. You've got your sensors. You've got a daughterboard. That's going to run your actual firmware. That could be any number of boards that you're comfortable with. And then you've got what Blues provides, is the Notecard for really giving you that easy connectivity. You've got the cellular layer that Blues Wireless provides. And then everything on the right, that's more of the software side of your product. That's usually what's going to be sold as a service. So you think about the business model between these things, everything on the left would be kind of an upfront charge, "Pay 250, 300 dollars for the hardware." Everything on the right is the monthly recurring revenue that you can get selling it as a service. And I mentioned a couple times, Rob's going to really go into these details, but I want to provide some details about Blues Wireless from a Losant perspective and my own perspective as a developer. I have used plenty of cellular modules to create cellular-connected devices, and Blues Wireless really lands on a sweet spot of some functionality to make that easier. The first is really that hardware/firmware integration. They provide this little Notecard. What you see on screen is a lot bigger than that actually is. It's pretty small. So the hardware integration just requires that standard connector at the bottom. And the best firmware you can write is no firmware at all, so the Blues Wireless people created a lot of the firmware to really handle interfacing with the cellular network and doing the hard work so you can just focus on what matters to you. The next bullet point there, really helpful, is that seamless cloud connectivity. Any time you're sitting down writing firmware, one of the first things you'll have to do is create an MQTT client or implement an HTTP client to get data from the device to the cloud. You got to implement the reconnecting logic, the air handling. It's a lot of work and Blues makes that very easy. You just talk to the Notecard. It handles everything else, getting that data up to the cloud. I really like its over-the-air functionality. I don't think Rob's going to be showing that today but definitely a bullet point to go follow up on if you're interested in OTA functionality. They provide a really nice mechanism for that where a new firmware binary can be sent down to the Notecard and then from there apply to your daughterboard. And the last one, from more of an operational standpoint, is excellent. There's no extra data plan or SIM required. You buy this Notecard and you just get the cellular data. We've all done this where we've got a cell module and there's a SIM slot, and then you got to go somewhere else and get a SIM card and get a data plan. Now you've got two vendors to manage. I really like that that includes all of this out of the box. So that was my time. I just really wanted to spend a couple minutes kind of setting the stage, really talking about who this webinar is for. And with that, I'm going to hand it off to Rob Lauer to do the deeper dive. Rob.

Rob: Awesome. Thank you, Brandon. Let me get my screen shared here. And hopefully, you all can see it here. Thank again, Brandon, for the intro and especially to the Losant folks for having me here today. So my story really begins right here. This is my neighbor's hot tub. Now, I've always personally said that owning a hot tub is like owning a boat. You never really want to own one yourself, right, but you always want a friend or a neighbor to have one that you can use. But as I learned the hard way, a neighbor with a hot tub, who also has a few young children, well, that can lead to a body of water here that needs a lot of regular maintenance. So today really, for me, is about kind of learning about my journey to help my neighbor correct this problem in a mildly silly, yet also kind of useful, way. And that is by building what I called the Hot Tub Time (Series) Machine. So again, you already know my name but I'll say it again. I'm Rob Lauer, Developer Relations Lead at Blues Wireless. If you're a Twitter person, you can find me there: @RobLauer. And as Brandon mentioned, I do work for a company called Blues Wireless. And no we are not hawking cellphones at mall kiosks, but rather we are a wireless IoT company that is very strong developer-focused. So we provide the hardware and services that back up our message of really trying to make cellular IoT easier for developers and more affordable for all. So the core of what we provide, that Brandon just covered too, is the Notecard. It's also the core of this water quality monitoring project. Just to quickly understand the capabilities of the Notecard, it is a low-power cellular and GPS module. Let me emphasize as well that the Notecard does not live on the public internet. So the way it connects over cellular is to use private VPN tunnels to communicate with the cloud only when needed. It's a pretty key security capability and I think it'll all make more sense as we go along. As part of our laser focus on the developer, the Notecard's API is all JSON. And we provide SDKs for a variety of popular languages. And finally, different models of the Notecards support NB-IoT, LTE-M, and Cat-1 cellular standards. So again, everything is JSON in and JSON out with the Notecard API. As an example, if you want to get your Notecard's GPS location, you just call card.location and it will return the requested location. And the rest of our API is set up very similar to this. So to kind of map what I'm going to talk about today, I find this diagram pretty useful in terms of a brief visualization, and it's similar to what Brandon just showed you. But we are, of course, today especially, gathering water quality data with a variety of sensors. We're going to use a microcontroller today, but we could also use a single-board computer like a Raspberry Pi to process said data. But we then need to send that data over cellular to a secure proxy service that we call Notehub. Remember that the Notecard doesn't live on the public internet, so it communicates to the internet via this secure proxy that allows you to then securely route that data to any cloud service. Now, today, of course, that is Losant, but we are also using Twilio for SMS messaging of alerts. Now, back to my story. So remember I said I learned the hard way that a hot tub frequented by small children needs regular maintenance? Well, I contracted a disease called Pontiac fever from my neighbor's hot tub which is caused by Legionella bacteria that thrive in—you guessed it—poorly maintained hot tubs. And this is, of course, completely self-diagnosed and it definitely became a neighborhood joke. But the symptoms did actually fit, in my defense. But anyway, [Distortion 00:12:26] my head, after going through this, like, "Well, there is an opportunity here to build some kind of an IoT solution that could actively monitor the water quality of a hot tub or even a pool with a variety of sensors. I then need to process that data somehow, sync it with the cloud, and do something with it." And that's basically all I started with, just this idea. So what I'd like to do is start with the hardware and the services I used. So step one in this process for me, it was to identify exactly what I should be measuring in the water, and then determining what sensors would make the most sense from a logistical and, frankly, economical perspective as this is very much a consumer-oriented solution. So luckily, for this project, I was able to work with DFRobot, and they provided a handful of sensors to get me started. First of all, pH is really critical to measure as you want the pH to sit around 7.5. Apparently, that's where chlorine works best. Next, is a TDS sensor. Now, TDS stands for total dissolved solids. So you can think about dirt, debris, other organic material. In the case of a hot tub, it's small kids. I don't want to think about what else this could mean. The third is an ORP sensor. This stands for oxygen reduction potential. This is a measure of the water's ability to oxidize chemicals in the water. Finally, a waterproof digital temperature sensor. Now, on its own, temperature is not super valuable, especially in a hot tub. You generally know the temperature. But in order to calculate the most accurate measurement possible from these other sensors, you often need to know the temp. One disclaimer I'll mention is that these are all, again, very consumer-focused sensors. When you start talking about more robust and enterprise-grade sensors, there are far more expensive ones that are built to withstand being immersed in water for much longer periods of time than these. So with my sensors in place, I really needed a host to process the incoming data. I made a very self-serving choice when I picked our own microcontroller, the Swan. Yes, Blues Wireless also makes microcontrollers. Well, one, specifically. The Swan is the most extensible Feather-compatible microcontroller available that provides access to 55 pins and buses. It also supports Arduino and CircuitPython making it a very flexible MCU. Now, of course, I want it to relay data from my microcontroller to a cloud dashboard, and to do that I need some way of relaying that data. Again, since this would be an outdoor deployment, cellular instantly became the most convenient and really robust way of delivering data. Surprise, surprise. In an outdoor setting like this, I chose the cellular Notecard. The way I connected the Notecard to my MCU was through a Notecarrier. Now, these are effectively bridges between the MCU and the Notecard. In this case, the Notecarrier-AF provides a Feather-compatible socket and pins for connecting my sensors. Now, this Notecarrier also has onboard antennas, and LiPo and solar connectors. So the way this all comes together is the Notecard simply slides into that M.2 slot and the Swan MCU fits into the Feather socket. So with my hardware coming together, I had to pick a cloud service. Now, I already mentioned that Notehub exists as a proxy to securely accept and route data to your cloud endpoint of choice. But Notehub is really not meant to be the final resting point of your data. As you'll see today, as data comes into Notehub, its payload is optimized with JSONata, which is a language used to transform JSON objects—and I'll show you that in a bit—and then it's routed to Losant for my dashboard. Now, I also created a separate data route to send myself text messages—if any readings were way outside the bounds of normal—using Twilio. And after putting this project together, I also learned from the Losant folks that I actually could have handled this Twilio integration within a Losant workflow, which is great to know for next time. So to help kind of gel everything I just covered, let's say we have this pH sensor in the hot tub, I want to use the Notecard and my microcontroller to gather and send data to some cloud endpoint. Well, Notecard is going to send that sensor data to Notehub along with some metadata about the request. So like timestamps and cell tower location, and so on, but you may not need or even want that data to end up in your cloud. So Notehub will actually optimize your data payload per your requirements using JSONata, and then send just the data you want on to Losant. So this is where I get to the disclaimer parts. So I built a completely functional prototype, but as you'll see here, it was a bit messy. I started wiring up these sensors to my microcontroller. I also used some analog signal isolators on the three analog sensors, and this presented me with a bit of a dilemma. They are really critical for isolating the analog signals—per their name—and providing a clean and accurate reading. However, I learned they are massive power hogs. I burned through a nine-volt battery in under an hour. But I was able to clean up the build a bit. Clean up in quotes. [Inaudible 00:17:47]sensors here all connected to my Notecarrier. I supplied that supplemental nine-volt power through the breadboard, and that little battery power adapter thingy in the upper right. Another fun thing is that battery adapter on the breadboard there has its positives and grounds reversed, which was a very fun debugging process. And another important step before deployment of this project is actually to calibrate all the sensors. This was new to me. So for the analog pH, TDS, and ORP sensors, there are actually solutions provided that will give you a known value. So it allows you to manually calibrate your sensors and make sure everything's working properly. So you can guess in my house, now I have five or six bottles of these pH, ORP, and TDS calibration solutions if anybody needs anything. But this then became my final deployment. Still very ugly, I'll fully admit, but functional, again, at least for an hour or so before the censors killed the battery. But one of the lessons learned, of course, I should have supplied power from the house in this case, but I do like kind of having that all in one sort of package. And now what you may be thinking yourself is I went all the way through from this idea to deployment without covering any code or cloud services in any detail. And you're right. I purposefully, really wanted to get ahead of myself to show the completed hardware, before walking through the code and the demo, just to get a kind of visualization before I continue. And that's my cue to stop with the boring slides and focus on the demo here. So let me switch over. Just give me one moment. I've not perfected the awkward pauses between switching between screens here. First thing that I want to do is show off my little setup here. Oh, I'm getting an error that host has prevented sharing video. Heath, if you're able to turn that on quick, maybe? If not... [Crosstalk 00:19:48] If not, I can skip it. So I actually have a very limited implementation set up right next to me. I was going to show that off, but if not, you'll just have to trust me.

Heath: Yeah. I think we'll just have to trust you. I can't find that setting quick enough.

Rob: Okay. No worries. So picture it in your mind. I have the same Swan microcontroller, Notecarrier-AF connected to a single pH sensor. In that case, let me share some code here. And it is this one. There we go. That didn't take too long. I know there's probably a variety of folks here who are either really technical or not technical at all. So I'm just going to kind of gloss over some of the code here. This is sort of a minimal implementation of this project I put together just for this webinar. And I just want to show you kind of how really easy it was to put this together to read data from a sensor and get it queued up to send to the cloud. I have a variety of constants and library imports that I use here to use that pH sensor. I am connecting to the Notecarrier via the analog pin 3. So a relatively clean setup here with just a few wires going from the sensor to the Notecarrier. In my setup method as well, I'm initializing the pH sensor, initializing the Notecard as well. A key thing to know here about the Notecard—and this is the first example of one of our JSON-based API's—is anytime you initialize a Notecard, you need to associate it with a cloud project in Notehub, and that association is done through this product UID. So all I'm doing here, a one-time step of saying, "Which project are we associating this with? and "Which cellular mode do you want to keep it in?" So you can do a continuous mode, which is great for demos like this, but bad for power consumption. Most folks will put their Notecard into periodic mode, which will only sync periodically with the cloud to save on battery. And then I just get into my loop. And what I do is I gather all the sensor data on a cadence that is specified later on in the code here, but I'm simply gathering water temperature data and ambient temperature data. Obviously, just mocked values in here for this sample. Then I go through and actually get 40 samples of each measurement, each separated by a 100-millisecond delay. Now, why do I get 40 and not just one? Well, what I found with these analog sensors is you can gather 30 samples in a row that look fine, and then you'll have one that's way out of bounds. So what I do is I kind of cheat. I realize this isn't perfect, but I just gather all that data into one big array. As soon as I hit that 40 sample limit, then I average all the values in the array. So kind of quick and dirty, but it basically works. At this point when I get my accumulated data, I execute the sendToCloud function. And this is actually misnamed. I'm not really sending it to cloud immediately. I'm more queueing it to be sent to the cloud on the Notecard. So the Notecard can store a fair amount of data before it needs to actually sync that data up with the cloud. And in this case, for demo purposes, I'm just waiting two minutes between gathering the readings. And finally, just to look at this sendToCloud method really quickly here, I'm gathering the battery voltage off the Notecard. It's just a nice thing to have for my visualization on Losant. And then I am composing this request to add a note. Now, you can think of a note in Blues Wireless terms as an event. So I have a single event that I want to queue up that I'm adding to a note file. So a note file is comprised of one or more notes. In this case, I'm just sending all of that accumulated data. This code is just composing a JSON object really. And I'm sending that to my hottub.qo note file. Last but not least, remember I said I was sending a Twilio SMS message? If anything is way out of bounds—in my case, I'm saying if the pH value is less than 7 or greater than 8—I want to be notified of that immediately. So I have a separate data route that sends information to a hottub_notify note file in Notehub that allows me to trigger this SMS message to be sent out. So that's kind of a high and really quick overview of the code itself. Let me switch over to Notehub so you can see the next step in the process. So here's Notehub. Now, I obviously don't have time to cover all of the features we provide in Notehub. But I did want to just mention briefly that you do have the ability to view all of your connected devices here. In fact, this is—let me reload—this is the device that's currently connected right now sitting next to me. We do have fleet management features available. Actually, probably my favorite feature, if I'm pressed, is our environment variables. Now, I didn't use them in this project, but I probably should have. Environment variables, they allow you to create key-value pairs that are stored in the cloud. So you can easily send out new variable data to your entire fleets of devices if you want to. As a quick example, maybe you had an environment variable that was like, "gather_pH_data", and you had it set to every 10 minutes. If you orchestrated your app the right way, it would utilize this as a cadence to gather this data. But if you found out in the field, "Well, I'm gathering this way too often. This needs to be more like 60 minutes", you could just update that code here or update that variable here, and it would then be deployed to your entire fleet the next time your Notecard syncs with the cloud. Now, this obviously is very useful when it comes to managing a fleet and not having to recall devices to your home. So let me get back on task here and show our events. So our events pane is going to show kind of a massive list of all of these events that are coming in from my little sample deployment here. I can dive into the most recent event of my hot tub data and head to the JSON tab so you can see. This is the entire package that's being sent over cellular to Notehub. And this section here should look pretty familiar because this is the data—well, mostly mock data—but there's also the pH value that I actually am reading off of my pH sensor right here. And now we've kind of seen, we've gone from all these sensors to microcontroller over cellular to this cloud. But just to remind you, this is not where we want people's journey to end. It's only so useful to kind of see data in this kind of table-based format. We really want you to route data to some cloud endpoint like Losant, where you can do something with the data. And that's where the routes feature of Notehub comes into play. So what I did, was I created a route in Notehub that simply forwards data or syncs data or relays it— however you want to think about it—on to Losant every time that data comes in. Now, this is where my experience with Losant really started, and I found it to be—and I'm not just saying this—I found it to be a really easy and engaging experience. On the Notehub side, all I had to do is plop in a webhook HTTPS endpoint here, and really, that was effectively all I had to do. I did make a couple of changes down here where I only wanted certain note file data to come through. So I specified that hottub.qo is the only data I wanted to forward on. The other really cool thing—I've mentioned this in the past—is JSONata. So I wrote a very simple JSONata expression that would take that massive chunk of JSON and optimize it for what my endpoint was really expecting. So instead of sending all that extra metadata, I trimmed it down into just the sensor data, and then I appended a timestamp on here as well. You can go crazy with JSONata. You can write full functions in JavaScript, and have your data get processed on the fly. It's really pretty amazing what you can do. So at this point, I've got my data kind of queued up, ready to go to Losant. Let's head over to my Losant applications. We can see how that was set up. And again, relative to many of you, I know almost nothing about Losant, but even I was able to put together a pretty engaging dashboard here in no time at all. My process to do that was pretty simple. I started by creating, of course, a new application. This is really the highest level entity in Losant. I then set up a device. So I had a single device sending data through here. Called it Notecard. I did set up as a standalone device. And the only other step I had to take was to find some attributes. Now, these attributes are all the data elements that are going to come in from Notehub. So you can see, this is all the sensor data, along with the voltage registered from the battery. My next step was to create a webhook. Again, very simple process. I just needed to create a webhook. I needed something that was going to trigger my Losant workflow to populate my cloud dashboard. And then I had the ability to hop into workflows, which I have opened in a new tab here. So honestly, probably my favorite part of Losant was creating a workflow. Obviously, I could not have created a more simple workflow. But remember, I was just trying to prototype a solution as quickly as possible. Of course, as I got in here, I saw all the other nodes available on the left here, so clearly can get a lot more powerful workflows built. But for me, my workflow was very simple. I had a webhook node here that was going to kick off this workflow whenever that webhook was hit from Notehub. And that allowed me to use a device state node. And in the device state node, you can see here that all of those sensor variables are mapped from my device in Losant. So all the data that's coming in, is going to get processed here and mapped to the right values. And then I have a debug node that would simply let me use this debug pane to the right here to see data as it's coming in. In fact, we can inspect the most recent value. So we see here this is exactly what we saw in Notehub, right? The same data coming through and now we see it in Losant. So the final step for me was really just to put together a dashboard. And my hot tub dashboard... Again, this took, I don't know, 5, 10 minutes to put together. It was just a matter of dragging and dropping these blocks on here. I really got a kick out of the visualizations provided in the temperature and voltage options here. Again, a lot of this is mocked up data just for this demo in particular. And this time series graph here became a lot more engaging when you could see values change over time versus my mocked data. So this is my fault, not Losant's. And then I found this table at the bottom here, this grid, to be especially useful for me, as I was kind of debugging and sharing this project internally, because we could see data come in, practically in real-time, almost from my Notecard all the way through just to inspect data and see if anything was changing over time. You can see some of my older test data here has some zeros in here, but really a very engaging process for me overall. So that is about it for me. I had one more slide to share, and let me just drop it here. So if you're curious to learn anything more about what we're doing with cellular and wireless IoT, head over to blues.io. You can see all of our products there and grab your own starter kit. If you're curious about this specific use case, in any more detail, I did a pretty big write-up on hackster.io. That's available at bit.ly/blues-tub, if you want to see more of the nitty-gritty details and more of the code as well. But that's all I have. So I guess back to Heath.

Heath: Yeah. Awesome. Before I get started, Rob, is blues.io the best way to get in contact with you. Do you have an email or anything like that that works better?

Rob: That's a great point. If you want to email me, rob@blues.com is the way to go.

Heath: Awesome. All right. Well, I really appreciate it. Thank you both. Both Brandon and Rob. And, Rob, I'll take the screen back from you when you get a chance. Yeah. That was awesome. I love to see just how we can really package up cellular technology in Losant to develop an IoT product. So before we jump into Q&A, I do have just a few more things. We love to hear what you are saying and thinking and that you're enjoying the Losant IoT platform. But the stories don't only matter to us. If you're enjoying your experience with Losant, we would love for you to head over and write a review on Capterra and G2. Now, we also have another upcoming Deeper Dive on March 22nd. We're going to be taking a close look at how you can incorporate BACnet devices into your smart environment. Rob and Brandon talked a little bit about some of these, but I wanted to give some additional resources before we wrap up. Brandon and Rob relayed a lot of information and mentioned some things that we didn't quite have the time to dig into. So if you're looking for more information on implementing, say, a multi-tenancy model, or building an application experience to then deliver this dashboard and these workflows, and this information that Rob has put together to your customers, I highly recommend that you take a look at Implementing a Multi-tenancy Model, the Deeper Dive replay, where we discuss what kind of multi-tenancy models are out there and how you can replicate those in Losant. And then we also talk about how to build an application experience and really deliver the data and the resources that you've given. As always, no feature in Losant is released without being fully documented. So if you also have any questions or would like to learn more information, here are all the resources available to you. To check out more Deeper Dives, like I just mentioned, we make those replays available on our website. You can head to the website. The website is losant.com/deeper dive. And if you're looking to hone your skills, you can take a look at Losant University. It's a project-led, video-led university class for you to learn more about Losant. So we do have a few questions in the chat. The first question that, Rob, I'm actually going to dish to you, "What are the cellular data limits for the built-in communications of the Notecard?"

Rob: Yeah. That's a great question. So the Notecard comes prepaid with 10 years of cellular service and 500 megs of data. And that's for the lifetime of the notecard, whether you use 500 megs on day 1, or you divvy that out over 10 years. It is possible to top up the data as well. We don't have a self-service implementation of that yet, but it's coming soon.

Heath: Okay. Perfect. And kind of in that same stride, in that same [Inaudible 00:36:02] about the Notecard, "Does the Notecard automatically sleep to save power, or does the firmware developer need to tell that device to sleep and then wake up?"

Rob: Yeah. So everything is basically automatic to a certain extent. So we built the Notecard to be a power miser by default. So everything with the hardware and the firmware is all the settings are basically, to be power-aware. We assumed folks would be using these in outdoor battery-powered settings. So we want to be very aware of that. However, the API allows you to customize how often and how you maintain a connection. As I mentioned in my demo, you can maintain a continuous cellular connection if you want. You can sync data immediately almost in real-time. Obviously, the more real-time and often you sync, the more battery you're going to use. But you just got to weigh the pros and cons for your application.

Heath: Awesome. Yeah. And one that I just saw come in, "Is the notecard capable of providing cellular services to, say, a Linux host? Or is it only using your dedicated backhaul or local API?"

Rob: Yeah, that's a really great point. And we get this question all the time. So Notehub is required, because of the way that the Notecard is built as a system on module, it does need a secure proxy to receive data from a cellular network, so Notehub is required. But we do have an open-source version of Notehub you can use if you want to stand up your own server. I would caution you that that takes a fair amount of developer resources to do. I would also say that we find a lot of folks are able to stay within the bounds of our free tier. So we do provide a completely free tier on Notehub, which is like 5000 events per month. We are not here to monetize individual developers. We want to be there to grow with people's businesses, and as they're successful, we're successful. So that's kind of where we stand on that.

Heath: Definitely. I really appreciate it. "Is the Swan MCU carrier and Notecard—kind of that whole stack you talked about today—FCC and IC end-device certified?"

Rob: Yeah. I'm going to look it up here for you. We do have our certifications on our developer site. I'm going to post a link as soon as I find them. But if I try and recite them now, I'll probably get it wrong. But I will post a link here.

Heath: Perfect. Yeah. That's great. And while you're doing that, Brandon, I actually have a question for you kind of as we wrap this up. Is it possible to send commands down from Losant to the Notehub? Is that done through an API call? Do we do something in a workflow? How does that look like?

Brandon: Yeah. Rob did a great job of showing kind of the integration from Notehub to Losant through webhooks, that's pushing data one direction. But Notehub does have a full API. So you can check that out on their developer pages. So what would happen is if you do want to send a command back to Notehub, and then Notehub would take care of sending that down to the Notecard. In a workflow, whenever the workflow deems it necessary to send the command, you would use an HTTP node. Or you can wrap it up in a custom node and make that a little simpler. An HTTP node to invoke the Notehub API.

Heath: Perfect. Okay. That's all the questions we received. That does it for us. I really appreciate again, both Brandon and Rob, your time. And to all of you here watching this, I really appreciate you guys being here. This has been wonderful. We will talk to you again and see you again on March 22nd for our next Deeper Dive. Thank you so much.