How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating Safety
Session date: Aug 11, 2020 08:00am (Pacific Time)
SeaBits is a platform which provides information about marine electronics, boating projects and general technology. SeaBits collaborates with technologists around the world to ensure they are providing their community with the most relevant technologies to enable safe and fun boating and sailing. Signal K is the open marine data standard used to extract sensor data from individual boats and to improve data sharing between boats to aid in navigation and resources. Discover how SeaBits uses Signal sigK, InfluxDB and Grafana to collect, visualize and analyze real-time network and IoT metrics from boat systems.
Join this webinar as Steve Mitchell and Teppo Kurki dive into:
- Signal K's ability to collect data from a boat's disparate data sources
- SeaBits' approach to gain insight into boating and weather conditions
- How a time series database is used to improve boating safety
Watch the Webinar
Watch the webinar “How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating Safety” by filling out the form and clicking on the Watch Webinar button on the right. This will open the recording.
[et_pb_toggle _builder_version=”3.17.6” title=”Transcript” title_font_size=”26” border_width_all=”0px” border_width_bottom=”1px” module_class=”transcript-toggle” closed_toggle_background_color=”rgba(255,255,255,0)”]
Here is an unedited transcript of the webinar “How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating Safety”. This is provided for those who prefer to read than watch the webinar. Please note that the transcript is raw. We apologize for any transcribing errors.
- Caitlin Croft: Customer Marketing Manager, InfluxData
- Steve Mitchell: Founder, SeaBits
- Teppo Kurki: Committer, Signal K
Caitlin Croft: 00:00:04.122 Hello, everyone, and welcome to today’s webinar about visualizing your boating data using InfluxDB and Grafana. I’m super excited to have SeaBits and Signal K here to present. We have Steve Mitchell who is the founder of SeaBits, and we also have Teppo Kurki who is the Committer for the Signal K open marine data standard. So once again, please feel free to put any questions you may have on the Q&A box or chat, and I will hand it off to Steve and Teppo.
Steve Mitchell: 00:00:44.692 Thanks, Caitlin, and thanks very much for helping get this put together for us. I think both of us are big nerds and love talking about technology and sharing this sort of stuff, so it’s nice to be able to have an opportunity to do that with folks. So I think we’ll just do a quick introduction. I’ve kind of been in boating and technology for most of my life. I have a background in network design and analysis and all sorts of things along those lines. But I’ve always been a boater and been interested in trying to network boats and do things with the data on boats for as long as I can remember. I live in Seattle. I currently have a 46-foot powerboat. I had hoped to join you from that today, but it is leaking. So it is out of the water and being worked on, but looking forward to chatting about Signal K and how we’re using it with Influx.
Teppo Kurki: 00:01:50.389 Yeah. Hi, everybody. Here from Helsinki. I was really delighted when Steve contacted me about joining this webinar. We’ve been sort of in touch for - I don’t know. How many years? You were very early on the Signal K Slack and implemented it on your boat very early. I guess this is your third boat, right, that you have Signal K on?
Steve Mitchell: 00:02:16.763 Yes.
Teppo Kurki: 00:02:17.514 Yeah. So I’m a software professional by trade, but this is my hobby. And well, we’ll get to the nitty-gritty details, or probably more like an overview during the course of this webinar. So it’s going to be probably Steve, mostly, and me just interjecting and filling in the Signal K part here.
Steve Mitchell: 00:02:45.897 Perfect. So here’s just kind of a high-level review of what we’ll be working through today. We like showing real examples, so we’re not going to get stuck in slides all day or all hour, I should say. And as Caitlin mentioned, if you have questions about anything we’re talking about, please post them in the Q&A or chat. I’m actually looking forward to that more than anything else as part of today to see what kind of questions and things you have. So we’re going to talk a little bit about what problem we’re solving, talk a little bit about boat networking as well and show some examples of that, go through the implementation of how Teppo put the pieces together of Signal K and Influx, and then how I installed it and I’m using it on the boat. And that kind of goes into the results. And we’ll actually show a few other examples as well, and then a little bit behind what we’d like to see next, what each of us is working on. And then, of course, questions and answers at the end.
Steve Mitchell: 00:03:56.742 So what were we really trying to solve? What was the biggest boat problems? And I think we all know what boat problems are from the simple or more dramatic of having a leak to different types of challenges on a boat. For me, I wanted to record everything. And I think, given my networking background about anything on a boat that has some sort of digital information in it, I should be able to record that and do something with it later. Right? Once I’m at an anchorage, I should be able to look at my engine performance. Why I can’t do that without having to use some of these proprietary software was always kind of a problem for me, and I wanted some way of doing that that was easy. I didn’t want to have a different way of doing that for every single device or thing on the boat. So that’s really where I was coming from. Tep, would you want to talk about what you were trying to solve?
Teppo Kurki: 00:04:52.036 Yeah. Close to 10 years ago, or actually, a bit over 10 years ago, we bought a 35-footer sailboat. And the first season, I wrote some software to get access to the data and record it and be all nerdy about it. And for the second season, I bought new instruments or replacements for the first ones. And all of a sudden, the software that I had written the year before was not working. I was going like, “Wow. Maybe somebody else has this problem.” All of these systems speak different proprietary language or one standard, and the next year, it’s going to be a new one. So I wanted to solve the problem of getting access to all the data that I have on board independent of the source, so that all the software sort of downstream would not need to change even if I switch out one center and replace it with another one or get some new stuff there. And when you think of all the gauges that a normal boat has, it’s just instantaneous real-time data most of the time. So you’re looking at what’s the speed now, what’s the battery voltage now. But if you didn’t look what was it a moment ago, what happened? Did we go faster? Are we going slower? Is the battery going up or down? I don’t know just looking at that instantaneous data. So I wanted to have access to the historical real-time-series data. So I wanted to see what’s going on.
Steve Mitchell: 00:06:48.521 Yeah. And to your point, these are some of the things that we’ve both heard and experienced ourselves and seen from other people who have used Signal K and many other things including Influx to kind of help with that. So were we faster in the starboard or port tack, right? What was the wind like for the last hour? Mine, the third one down this, actually happened to me a few weeks ago. I got a high-temperature alarm, but didn’t - why did that happen that one point in time? Was it something that was a bigger trend? It turns out that it was. Other things like, are your solar panels’ as well as they were before? And then, of course, battery. Everyone that’s on a sailboat, or even on a powerboat, your battery bank is probably the one thing that you always kind of fret over and try to make sure that you’re treating well, but also how things were going. Tep, I think this is an example of one that you had too.
Teppo Kurki: 00:07:50.796 Yeah. It came up last week in one of the faithful groups that I follow, and this was sort of a perfect example when thinking about this upcoming webinar. So that’s a real-world case study of what you need a time-series database for.
Steve Mitchell: 00:08:11.984 Right. And you can see, folks are using Raspberry Pi to do that. What are they using for that? How do they go through that? So these are some of the challenges we were trying to solve, right? And part of the root of that is boat networking or the lack thereof in a lot of ways. So if you’re not familiar with boat networking - I suspect a lot of people who are watching today are, or at least are experienced with the parts that they don’t like or the pieces and portions that are connected to anything else - there’s a ton of different technologies that you would find even on modern boats. Most older boats will have, usually, some sort of serial or NMEA 0183 protocol which is a whopping 4,800 baud. So super slow and very predictable. It’s still used, even today, in modern equipment to communicate to tablets and phones, surprisingly enough. And then more modern boats or most boats, probably, for the last 10 to 15 years have what was a ROOT from CAN bus, which - CAN bus was created in 1983 for cars. So that’s how cars communicate their status between all the different pieces on board.
Steve Mitchell: 00:09:36.386 There’s a marine version called NMEA 2000, has some slight changes. As with most equipment uses today, it’s slightly faster at 250 kilobits per second, which is still slow in today’s world. There’s a lot of Ethernet Wi-Fi on things. There’s a lot of proprietary stuff. And then you have the whole challenge of trying to get to this somehow remotely. So boats are not really connected well. I mean, you’ve got a bunch of different disparate things, but they’re not usually connecting well that allows those things to talk to each other. And there are tons of products out there that you can buy to connect these things together, but they’re still kind of like the closed island kind of situation.
Steve Mitchell: 00:10:28.874 This is an example of a NMEA 2000 or NMEA 2000 network. You’ve got a PC that has to have a dedicated interface on it. You’ve got multifunction displays, instruments, autopilots, GPS and NAS all connected, but it’s a single backbone. It’s got crazy terminators on it that, if you get wrong, don’t work right and very finicky from that perspective. You don’t see a lot of things like the Wi-Fi point in here. You can add those, and there’s different ways of doing that. But just in general, it’s still quite old in terms of the technology, yet there is a huge wealth of information on this. Right? And we’ve talked about, as you’re moving, you can see the current, wind, the depth, where you are, how fast you’re moving, what orientation the boat is, but you can only see that for that one moment in time. You really can’t see anything beyond that in terms of historical information.
Steve Mitchell: 00:11:31.432 This was one of the ways that Signal K kind of showed the disparity between some of those things. So you’ve got the NMEA 2000 network on the bottom left, and then you have older NMEA 0183 sources as well, and you want to be able to see that on your mobile device or out into the cloud remotely. And there are a decent amount of technical barriers to getting that all in one place, as well as legal barriers. NMEA is kind of a closed source - you have to petition to be part of that group - and they keep very close tabs on what kind of devices are approved for good reason. You don’t want your boat to have an autopilot problem and make a turn and run up on the land. It’s generally a bad thing, so. So there are some challenges with boat networks.
Steve Mitchell: 00:12:26.185 This is my boat network, currently. And you can see, there is a lot of lines and interconnectivity. But the point here with this isn’t to try to test your eye quality. It’s to show how many different types of networks and things there are. Primarily, you’ll see there is an NMEA bus. That’s an NMEA 2000 bus, and you’ll see a lot of things there. But most of that data is without Signal K and without these other things tracked on that bus. And then you can see in the kind of middle section here, that’s where my Signal K system is, and we’ll talk a little bit about that. But this is probably a - not necessarily an extreme example. I’d say a moderate to high example. I’ve seen plenty of large boats that have - when I say large, 40 feet and bigger that have even more complex networks than this. And many people have no visibility into that long-term side of things with their network, which is obviously why we’re talking today.
Teppo Kurki: 00:13:34.686 Well, the network on my boat is a bit simpler than that. [laughter]
Steve Mitchell: 00:13:43.624 You have a lot of data that you want to see over time, though.
Teppo Kurki: 00:13:47.386 Sure.
Steve Mitchell: 00:13:48.438 Yeah. So obviously, over time, there’s been other companies and different approaches to trying to look at historical information about how your boat has performed, and my background is in playing around with those technologies and trying to explore them and write about them. And I’m thankfully able to have access to a lot of the technology that usually is on very expensive boats, at least well-written, and they have very good user interfaces and [inaudible] to go through. But to be able to look at historical information is one of those clouts that I’ve really never found a great solution for. Most of the software that’s out there is using older technologies. For instance, this one on the right is one of the more popular super yacht/expensive boat solutions from Maretron. It’s called N2Kview, and it costs multiple thousands of dollars for the software and the access. And it’s using Adobe AIR, which I had thought was retired. But apparently, it’s still living. And that’s a very old technology, but very reliable, which for boats, obviously, is also something that a lot of people prefer.
Steve Mitchell: 00:15:15.720 Most of the software that’s out there is Windows only, and it only really deals with one bus. So this particular piece of software only works with NMEA 2000. They’re extremely difficult to customize. They store their date in ways that you really can’t access and, of course, are expensive. And you’ll notice, there aren’t graphs or dashboards here that allow me to look at long-term performance of my engines and things like that. There are plenty of pieces of software out there that do that. They’re usually specific, as an example, in terms of looking at engine performance. You can get software from Cummins or CAT or any of those kinds of manufacturers to do that, but they’re specific to those engines. They usually only work with more modern engines, and they cost a lot of money.
Steve Mitchell: 00:16:05.912 So we wanted to do something a little different. And what we’re going to talk about today in more detail, obviously, is Signal K, how Teppo connected that to Influx, and how Grafana on top of that allows for some pretty neat ways of looking at the data from the boat. So all three of these are being used to do this. And I should probably talk a little bit about what Signal K is. I’ll do that high level, but Teppo’s obviously going to show you a little bit more detail. And I’ll open up my Signal K service and see some real data. But if you’re not familiar with Signal K - you should be - it’s a free open source universal marine data exchange format, and it’s using really super modern, standard web technologies, JSON, WebSockets, HTTP. You can run it on a Raspberry Pi. You can run it on bigger machine. You can run it on Linux, on Windows, and it basically is that one, unified place for all these different disparate data types to be able to have that go-to one place, and then do all sorts of cool things with it, which we’ll show you some examples behind.
Steve Mitchell: 00:17:30.562 On the Signal K side, there’s a bunch of different types of data sources that it is capable of dealing with right out of the box, for lack of a better term. That does not mean these are the only data sources it can handle. You can easily write your own plugin to handle whatever you would like, and plenty of people have. But as an example, you’ve got the two NMEA protocols, I2C, 1-Wire, Modbus, VE.Bus, MQTT. There’s a concept of then taking that data, either using a new type of data source to pull more data in, or to take that data and use something with it. After all, I mean, the point isn’t just to gather that. It’s to take it, put it into a database like InfluxDB, or do something with it, transform it, send it back out with the different buses. And that’s done using different plugins. So there is a whole, huge list of those. You’ll see some of those in the quick demo I will do of Signal K. But these are some of the ones that I just kind of picked out of the list.
Steve Mitchell: 00:18:35.330 The one that is absolutely super cool to me is Node-RED. So being able to do all sorts of conditional stuff based on data that’s coming in and out, and so on and so forth. You can interface with Victron equipment, Fusion equipment, Raymarine autopilots, tons of different notifications. And then one of the more important pieces that I think people look for is what you see on the right-hand portion of the screen, which is an application or app called WilhelmSK. It’s written by another person who contributes a decent amount to Signal K, and that application, basically, is talking directly to the Signal K server and allows you to configure just an endless amount of gauges and graphs and information that you can have on your phone or tablet. And I use that all the time as a real-time display on the boat, so it’s a fantastic companion to Signal K. From most people I talk to, one of the primary reasons they install Signal K is they don’t have the ability to see four different data sources worth of data in one place. And WilhelmSK helps you do that using Signal K as that unifying backend, and then that’s the app that does it for you. Teppo, do you want to talk a little bit about this?
Teppo Kurki: 00:20:06.414 Sure. A few slides ago, there was this overarching theme of what Signal K is. But what does it actually do? So it provides a data model. So what is this datum called? You can see at the top right, there’s a standard name for all the, let’s say, well-known themes on a boat. So there’s environment, wind speed apparent. So it’s apparent wind speed in human speak. And then there’s a value for it. Lots of numbers there, but what does that mean? What unit does it have? It defines sort of all these well-known names for pieces of data that can appear on a boat, and everybody is supposed to call apparent wind speed with that name. And the standard unit for that is meters per second, so no need to carry that in each and every message or encode different ways of presenting data on different units. So that’s one part, and that’s sort of really abstract. It doesn’t really say what the structure of the message should be. It’s just sort of like, this piece of data has this name and this unit.
Teppo Kurki: 00:21:43.900 But to actually use it, you need a set of protocols. So how do I get access to my data? What kind of code do I need to write if I want to connect to a Signal K server and start streaming updates or retrieve the latest value for wind speed or something like that? So what protocols do I use, and how do I use them, and how do I authenticate, and how do I do that? So there’s the part that’s sort of like names for different pieces, and then how do I use them? And actually, this is probably the first time that I added the third part, which is community. We have a pretty friendly community where people help each other. You can reach out to our core developers sort of like, “How do I do Y, or how do I implement this? Is this something that others have done? How have you done it? I ran into this problem.” This is actually really, really important, about being open, because we’re constantly adding support for more and more stuff. There’s three fundamental additions that I should be reviewing right now. And then there’s just the fun part. “Hey, I got this whatever working. See? Ah, I’m really happy with it.” So there’s also that part that drives a lot of people forward.
Steve Mitchell: 00:23:28.637 And I think that community is one of the most important things. I mean, having worked in Marine Electronics for almost 20 years, it’s a very closed world. It’s a smaller market than you would think, and the NMEA is very close for a reason. They’re trying to keep things reliable. I’m not saying that that’s good or bad, but that can cause problems for folks like us who want to work with this data where you can’t even understand what the data is because it’s encoded in a weird way. And being able to reach out to people and say, “Hey, has somebody done this already?” and figure out, “Oh yeah, the temperatures are recorded in Kelvin, which I’m not going to get into the debate as to why that is. But that’s one of the best things about Signal K, in my opinion, is being able to talk with folks. And we have that in the end, and the resources, and what have you. But there’s the whole Slack structure for Signal K, and you can reach out and - probably should not click into random in a webinar, but you can see other people working on different problems with who knows what - some sort of protocol - and interact with people. And it’s been one of the best parts of Signal K, in my opinion, so.
Steve Mitchell: 00:24:51.517 Let me show you my Signal K server. The boat is in the boatyard, but it’s still alive. So we’re going to be getting some data. So this is the dashboard in Signal K. And I have my computer, a little Linux machine. It’s an i3 NUC or Next Unit of Computing. It’s an Intel product that is connected using the Actisense NGT USB to NMEA 2000 interface. I’m also using a plugin called Drive data that’s changing some things on the on the fly and converting some things. And I am connected to my Victron power system on board, and I’m sending my data up to the cloud. So we can see, even without the engines on, without the boat moving, that I’m seeing about 300-and-some-odd deltas a second into my Signal K server. And then I have a bunch of different plugins and things activated down here including InfluxDB writer, which is the meat of what we’re going to talk about today. If I go into data browser, you’ll see a little bit about what Teppo was talking about. Let me find one that’s interesting here. The electrical stuff isn’t going to be interesting since the boat’s plugged in. Here we go.
Teppo Kurki: 00:26:07.668 Yeah. There’s a filter at the top. You can search for what you’re -
Steve Mitchell: 00:26:11.719 I just work going down, right? Yeah. You can see, the wind speed’s changing a little. So this is the data that’s coming in. Probably, I should have checked if there’s anything private there in the site. People can look that up. So you can see the data flowing in right now into my Signal K server, and this is kind of that structure that Teppo was talking about that is coming into Signal K. And now, we can do different things with that, right? We can convert it. We can save it somewhere else. We can look at it with Node-RED and do something with it and communicate with a different bus or anything along those lines. So this is kind of a raw view of that. And Teppo was saying, you can - oh no. I don’t want it to go off itself. But we can search for something you wanted to do, or there won’t be any depth since I’m out of water. And then we mentioned it a little bit, but there is a ton of plugins available. These are just the ones that I have installed. And you can see there’s all sorts of them for anything from RuuviTags, which are these little meta tags. And then I even got a bunch of them installed, one for windy to send my data out to - windy for a weather station style stuff, and then some gauges and things along those lines.
Steve Mitchell: 00:27:47.688 And then, of course, as you install these, you can configure those and set them up. If we look at, for instance, the one we’re talking about today, it’s pretty simple to set that up. I’ve got Influx running locally, and I have the data that’s called Rendezvous, which is the name of my boat. And that plugin is active, and so it’s recording all the information directly into that database, which we’ll look at here in a couple of minutes. And you can configure other plugins in here as well. And there are some plugins or apps that actually have front ends. Right? So we’re not going to go into great detail with these, but Instrument Panel is what I’ve used for ages. And I’m sure some of this is disconnected, but you can come in and pick from a list of many, many data sources that are found, at least on my boat, and create your own dashboard and change the sizes of instruments and things like that. So you can have a real-time display of data that you can look at from your computer or tablet or wherever you’d like, so.
Steve Mitchell: 00:28:56.058 That’s a very, very high-level view of what Signal K is. There’s a lot more to it, obviously, and the power of it is - excuse me - in taking all those disparate data sources and the people who have done the work of figuring out what do these different messages mean on these different buses and pulling them all together so you can convert it, store it, send it somewhere else, and do something with it and make an action from it, which is pretty cool. Let me flip back over here. So specifically for today, we wanted to talk about how Signal K is interacting with Influx. So Teppo was the one that wrote this. I’ll let you talk about how you approach that.
Teppo Kurki: 00:29:43.131 Yeah. It was sort of - we already talked about the motivation sort of like, “Hey, I just need a database to write this to.” And at that time, I don’t think I had any previous experience with any time-series databases, and this was already quite a few years ago. And I needed something that’s installable and runs in the Pi, so has ARM support. And I really can’t recall the decision process. Maybe I just sort of grabbed Influx and ran with it. And then it was pretty smooth-sailing. Signal K just - as you saw, it defines measurement names. So all you have to do is figure out how you write that to Influx. Pretty simple. Over the years, there’s been stuff added. I think it was just recently that I added support for authentication. Most everybody’s using their local Influx, so it’s only available locally. So no authentication needed, which was kind of surprising that we went so many years without that. And we have optional downsampling. I mean, Steve’s volume would probably choke a Raspberry Pi, but you could. I mean, people are running Raspberry Pis with several hundred deltas a second. I think, at least, Scott is doing that. And so you can downsample at the source.
Teppo Kurki: 00:31:30.712 And then there’s a bunch of stuff that’s not very interesting. You can just walk that. Well, the next step was Grafana, but Steve will get back to that. It plays a big role. I mean, he’ll show the raw data and the database also. And I already mentioned ARM support, as for why Influx. It scales from Raspberry Pi to cloud-scale. And I know several sort of large-scale global systems running on the same infrastructure, so there is really no end to what you can do to that. And one of the challenges with 1.x series is geographic information management. Sort of all the marine data is a lot more relevant if you can connect it to the location where you were at the time, and that brings to queries like [inaudible] searches. “Give me all the data that I generated when I was within this area.” Well, this seems to be an experimental-stage Geo package in InfluxDB 2, so I really need to be looking into that.
Steve Mitchell: 00:33:08.005 Yeah. I think, at least from the data perspective, capturing - I think downsampling is one of the things that I tend to overlook because I have a larger computer that’s doing this. But a sailboat, nobody’s going to run what I have. That’s way too much power, and I think downsampling is a great way of still getting data that you can look at over time without recording every heading sensor -
Teppo Kurki: 00:33:35.964 Pitch. Yeah.
Steve Mitchell: 00:33:37.130 -[inaudible] second or something like that. It’s not needed. If your sailboat’s varying three times a second in your heading, you probably don’t care about the data. You’re probably in a whirlpool or something, so.
Teppo Kurki: 00:33:50.194 Unless you’re racing, then you’re interested in all of that.
Steve Mitchell: 00:33:54.741 I try not to get into arguments with sailboat racers. So just really quickly, because I definitely want to make sure we show you the actual solution we have running - and we’re running just a little bit behind - this is my Signal K/Influx/Grafana server. So we connected Influx here. You can see all the different measurements that are being recorded directly into Influx. I think the last time I checked for about a month, I generate two or three gig alone in Influx, which is quite a bit. But again, I’m recording a lot of stuff, and you don’t have to, so.
Steve Mitchell: 00:34:47.654 So how can you put this together? So first thing you need is - okay. I’m not going to go through the prerequisites for that. You can go look at that over at the link there on GitHub, or you can go to signalk.org and click on Install. You need Node Version 10 or higher with NPM and a Raspberry Pi or higher. You don’t have to have a crazy computer. You can run it on your MacBook and Docker. You can do various different incantations of that if you’re playing with it. And you need some data sources. So NMEA 0183, 2000, DIY sensor data. Do you guys still run a server that you can consume data from online, Teppo? I can’t remember.
Teppo Kurki: 00:35:32.877 Yeah. Demo Signal K [inaudible].
Steve Mitchell: 00:35:35.508 Okay. Perfect. Yeah. Beyond that, you’re going to need Teppo’s plugin. So that’s called Signal K to InfluxDB. You can install that from the app store, which was one of those tabs you saw there. If you want to just start it up locally, you can download the Docker file. And Docker will get those up and get that all running locally, or you can install it the way I’ve done. And then, obviously, once you’ve got that all sorted and running, you’re starting to record data, but you need to create some dashboards. So that’s what we’re going to look at next.
Steve Mitchell: 00:36:13.147 So my original goal with this is that I’m a weather freak, and I absolutely love recording that. And so I thought, “Well, hey, this is a great way for me to record the weather over time,” and I wrote an article on it. And then I realized, there’s a lot of additional data I could be using that’s already been recorded into dashboards. And Influx folks saw that article and said, “Hey, you’re using a bunch of technology. We should talk about it.” So this is my boat. I generally have two dashboards running at all times when I’m at anchor at the dock. It’s a little hard to see, but you can see a little bit better in that picture as well. And that’s a big touch screen. It’s 22 inches, something like that, and it’s usually running this pretty much 24/7. Here’s a little bit closer peek at that. And really, why I like and what I’m using it for is - on the left-hand side is weather, and on the right-hand side is the electrical system. And we’ll take a deeper dive here in just a second. So I’m not going to show screenshots. We’ll just open up the dashboards.
Steve Mitchell: 00:37:21.698 So here is the weather dashboard that I have, and we’ll go ahead and say for the last seven days. Why not? So this is using all the data that’s coming in from Signal K, and you can see things like wind speed, temperatures, parametric pressure, and outside temperature as longer-term graphs. I have the outside temperature separate because that’s kind of important to know when it’s okay to go outside and enjoy things. And then I have all the different temperatures outside, inside, engine room, and water temperature all on one graph just to see if there’s any spikes. Apparent wind speed is always important to me when I’m sitting at anchor, how exciting is it getting, should I let out more chain, or scope of my anchor. And then these are all real-time little graphlets at the top that shows the current wind speed angle, and I have them color coded. I’m color-blind. So if you don’t like my colors, I’m sorry. But I have them color coded to change colors depending on if they’re good or bad and different things beyond that.
Steve Mitchell: 00:38:29.050 If we connect in or go into one of these, you’ll see, this was one of those - once we looked at it and said, “Okay. Data explorer.” So I’m connected to the Rendezvous Influx database, and I can type in here, different - so let’s do speed true instead of speed apparent. So we can change that. And you can see there’s a math involved. I prefer knots or meters per second. I’d probably grab this off of a website because I don’t think there’s any reason I needed that much accuracy. But you can pretty much come in here and find anything. You can change this to depth if you really wanted to. It’s not going to be fair - it’s not going to be that interesting over that longer-time period. And of course, it’s labeled incorrectly since we’re changing this. But the point being that with Grafana and Influx, from the data that Signal K sends in, you can create just about anything you want in terms of a visualization and have that in a way where - if you’ve not used Grafana before, you really should check it out. But you can zoom in on particular things and go, “Hey, why was the engine room hot then?” And I’m going to guess, it’s because I was actually running my engines. But this is the weather dashboard, which is one of my favorites.
Steve Mitchell: 00:39:50.423 This is the electrical system dashboard. So I can see current, loads, house bank, generator bank. It doesn’t show hours left because it was connected and plugged in at this time. You can see I was running my engines or my generator at this point, so I was charging the lithium bank that I have on board. And I can see the house ends, and then house bank versus current, which all should be happy at that point. So I can see performance over time. I can see the last few days, how things have been going. It’s super helpful, especially, to have that up while you’re away from the docks, if there’s some sort of problem or issue.
Steve Mitchell: 00:40:30.253 And then one I’ve started using recently that I haven’t had up until the last couple of months is an engine performance graph. I have old engines, so I use an Actisense gateway that pulls that data onto my NMEA 2000 network, and that includes things like RPM and coolant temperature and those sorts of things. And in this particular example, you can see my port engine needs some help. And I’ve known this for a bit, but this just shows it graphically. That red line is a warning temperature, and the port engine seems to be running hotter than the starboard engine. And in fact, I have an example here - I think it’s on the second, yeah - where I was running much higher RMPs than normal, and I hit that warning level. And I did get a warning while I was running it, but I was trying to figure out why that happened. So these dashboards really help me try to find reasons why certain funky things are happening on the boat, and the engine one is what I’m looking forward to exploring a lot more, so.
Steve Mitchell: 00:41:43.276 That’s kind of a demo of those. I included some screenshots of them in here. So for those of you who will be looking at this afterwards, the presentation should have those in there as well. But I mean, this is very, very high level. But you can do whatever you want, which is one of the things I love about open source software. I can take whatever data I’m recording from Signal K into Influx and represent it how I want here. I can have one big graph. I can have a million different graphs. And even on the computer I have on board, and even on a Raspberry Pi, refreshing and updating this and looking into more detail, into the trends and things, is very, very quick and just kind of a breath of fresh air in terms of being able to look at how your boat is doing, so. Whoo, hot engine here.
Steve Mitchell: 00:42:38.321 So how has this helped? I’m back in the full-screen mode here. My engine performance temp issue, right? That was a perfect example how it’s helped me in what’s going on there. Looking for large power-consuming devices, new battery technologies, monitoring, charging, progresses. I love looking back at storms. So going back in the weather dashboard and seeing, “Oh wow. There was 45 knots of wind there.” Of course, remote monitoring. I mean, my boat’s connected through too many means to talk about today, but I love being able to connect in and see just like we were doing right now. I notice the electrical system. Okay. And you can take it a step further and use Node-RED or other plugins in Signal K or alerts within Grafana to send you info. For me, one of the things that I love about this whole solution is being able to be a lot more comfortable at anchor. So I can see everything that’s going on. It’s all recorded there, and I feel a little bit more comfortable with that.
Teppo Kurki: 00:43:45.364 Just picking up on the electrical system performance. I mean, the boat-related forums are full of people asking sort of like, “My battery went from 13.8 to 12.4. What did just happen?” And you really, really can’t tell - there’s no way from those two numbers that you have any idea of what just happened. But if you have current and voltage graphs, and then a bit of explanation of what was running during that time or what consumers were on, then you have a lot more information of how to [inaudible] of whatever is wrong or if it’s perfectly okay.
Steve Mitchell: 00:44:37.674 Yeah. Being able to look at trends and visualization, that’s what this whole presentation is about, specifically for electrical systems. You can see spikes every 10 minutes. That’s probably the refrigerator, right, or things like that. And just being able to understand that and look at it over time is a powerful way to figure out what the heck is going on versus the old way, which is guessing.
Steve Mitchell: 00:45:05.190 So what’s next for all of this? I would like to publish the dashboards. The problem with some of that is, obviously, the data sources and the names could potentially be somewhat specific depending - or not specific, but the data sources themselves are specific to my boat. So I think there is some documentation that needed to be there. I’d like to do more alerts and alarms. Of course, because of who I am, I want to connect it to even more things. And then Chronograf, which is an Influx kind of version of Grafana, has some interesting potential applications there as well. So I’d like to look a little bit at that. Teppo, do you want to talk about your stuff?
Teppo Kurki: 00:45:47.753 Yeah. Actually, I’ve been running several years without naturally doing any work on the underlying layers, sort of like the plugin, and the data gets to InfluxDB. But something that I started earlier this year was to work on extending Signal K data model and APIs to cover access to time-series data. The protocols that I mentioned earlier, they are really only for accessing and streaming latest values, but there is no Signal K way to access this. There is InfluxDB way, but there should be a Signal K way where all you need to pick is the Signal K concept, sort of like vessel IDs and Signal K data pack names and track, and that kind of stuff that is sort of native to the marine data context. And then there are concepts that are not covered at all in Signal K data model that are sort of fundamental to dealing with time-series data, sort of mean, max, median, average, last, first, all of that stuff. And that really sort of rolls into the first point extending the APIs.
Teppo Kurki: 00:47:24.335 Well, people struggle with unit conversions. I am sure we can do something about that. And as I said, I really have been just running 1.x for several years, and I was just recently sort of prompted by Steve’s invite to this webinar to explore InfluxDB 2’s new features like the applications and all that stuff.
Steve Mitchell: 00:47:55.446 Cool. So I’m not going to go through all of these, but this will be in the presentation. There is a ton of resources for Signal K, Influx as well, Grafana. WilhelmSK - I can never say that right - is the app you mentioned that one of the contributors to Signal K has created that’s an amazing. Shameless plug for my website there. I think we’re going to do some questions. But Caitlin, did you want to talk - I think you talked briefly about this, but.
Caitlin Croft: 00:48:24.741 Yes. Thank you, Steve. That was a - excuse me - fantastic presentation. So as I mentioned at the beginning of this webinar, we do have InfluxDays coming up in the fall. So we have the Hands-On Flux Training in October, and then about a week and a half later is the actual conference part. So Flux Training, there is a fee, and then the conference itself is completely free. So anyone can sign up right now and register for it.
Caitlin Croft: 00:48:54.225 So I want to jump into some of the questions. We got lots of them. So does NMEA 2000 provide a common protocol for data collection and integration?
Steve Mitchell: 00:49:10.562 I’m not sure if I fully understand the question, but NMEA 2000 is a controlled protocol. So there are messages on the bus, and the NMEA group dictates what those messages can be. So our folks have reverse-engineered what that is, so yeah, It’s not random. There are manufacturer-specific messages that can happen that can be a little funky. But in general, it’s a defined protocol, and you can learn about that if you google for it.
Caitlin Croft: 00:49:55.342 Cool. Are you developing predictive maintenance models or optimization models?
Teppo Kurki: 00:50:04.917 No, not really. I mean, Signal K just provides to get to the data. What you do with it is really up to you.
Steve Mitchell: 00:50:13.154 Right. That’s a good question, though.
Caitlin Croft: 00:50:16.634 So they’re kind of curious comparing Steve versus Teppo. So the average data storage needed daily, just for an idea of the data set. I guess they’re trying to get an idea of the data sets.
Steve Mitchell: 00:50:34.517 Yeah. You know what yours is?
Teppo Kurki: 00:50:36.908 Actually, I have to check. Well, it really depends on the complexity of your system. I mean, you have just a GPS. You have GPS plus wind. Is your wind system 183 or NMEA 2000? The newer system uses a lot more data than the old one? All of that stuff. It’s sort of like you need to do the math yourself, like how many samples a second? How many measurements are you going to be storing or producing or whatever? It’s in the order of megabytes to gigabytes for K.
Steve Mitchell: 00:51:25.863 I have 9.2 gig in mine, and I think I reset this probably four, five months ago. But if you look at a standard Raspberry Pi, if you buy a Raspberry Pi kit, it comes with a 32-gig SD card. I mean, you can log on a traditional, simple boat with only a few instruments. You can probably have an entire year’s worth of data on that little 32-gig SD card, so.
Caitlin Croft: 00:51:52.613 All right. Are you storing your data locally on a server on your boat or in the cloud? How do you deal with updates to the cloud so you can monitor remotely?
Steve Mitchell: 00:52:06.565 So I’m storing all the data, and the model is to store it locally. There is something called Signal K Cloud which allows you to connect to - I think I’ve got this right. Scott might have to type it at some point and tell me I’m wrong. But Signal K Cloud allows you to connect to your Signal K server remotely, basically. So it’s not replicating all of that data, not specifically to Signal K. So for the dashboards in particular, that’s all local. You could use Influx tools to replicate that externally, either deltas or the entire thing. But for now, mines all local.
Teppo Kurki: 00:52:46.536 Well, for the last two seasons, I’ve been running both local and on a cloud database, and there’s a MQTT bridge there that sort of takes care of buffering of the updates if there is no - it’ll just sort of fill in the outgoing queue. And then when it’s reconnected, then it will sort of start sending those to the cloud. So that’s perfectly doable.
Caitlin Croft: 00:53:20.280 Does InfluxDB help manage your data synchronization? And if so, how?
Steve Mitchell: 00:53:25.888 I think he just talked about that.
Caitlin Croft: 00:53:27.867 Yeah, okay. All right. I think you already kind of covered this as well, but does Signal K run on a Mac?
Teppo Kurki: 00:53:38.034 Sure.
Steve Mitchell: 00:53:38.783 It can run on a Mac.
Teppo Kurki: 00:53:40.476 Yeah. It’s Node.js based, so it runs pretty much on very many platforms.
Steve Mitchell: 00:53:50.188 The challenge with any of these is that you need to get data from devices on the boat. So from a Mac, there are going to be more limited choices for connecting to, say, and NMEA 2000 bus. However, there are plenty of products out there. Yacht Devices sells a great one. It’s just this little thing that plugs into your NMEA 2000 network. I have one on board. I don’t know if I can connect to it right now, but it spews out raw NMEA 2000 or 0183 out a TCP port. So you could consume it that way. In fact, Signal K has that built in now. You can actually choose - I can’t remember where it is in here. Yeah. Yacht Devices draw. So the challenge isn’t where you can run it because it runs pretty much anywhere. It’s how you connect it to that data that’s on your boat. And with TCP stuff nowadays, it’s getting a lot easier for things like the Mac.
Caitlin Croft: 00:54:52.017 Right. So someone was asking about the event that I had mentioned earlier. So I just threw in two links into the chat, one for InfluxDays, as well as one for our Community Office Hours. So InfluxDays is our conference in November. And then the Community Office Hours is a monthly event, and the next one is tomorrow at 10:00 AM Pacific. So feel free to join both events. So I threw those links in the chat. What is the best way to tap individual non-bus data, like draw from a fridge or refrigerator temperature?
Steve Mitchell: 00:55:34.472 Well, that’s -
Teppo Kurki: 00:55:37.691 Well, I mean, DIY is one way to do that. There’s actually a project called SensESP, whose original author is here in the audience, where you can build, pretty easily, sort of these sensor pods where you could sort of put four to six temp sensors and send all of that data to a Signal K server pretty easily. Just join the Slack and we’ll tell you more.
Steve Mitchell: 00:56:14.956 Yeah. I know there’s off projects like the Signal - or not Signal K, but Stainless Lobster Fridge -
Teppo Kurki: 00:56:21.361 Exactly. Yeah.
Steve Mitchell: 00:56:22.391 I had one of those originally. And I think Scott, again, wrote a plugin for that one. I don’t know that that’s sold as much anymore, and that’s very specific to particular Danfoss compressors. But we mentioned DIY IoT stuff. I mean, I’ve seen people use Arduino stuff. I mean, there’s a bunch of different [inaudible] you can use to get data.
Teppo Kurki: 00:56:44.535 ESP is - yeah.
Steve Mitchell: 00:56:45.874 Yeah, right.
Caitlin Croft: 00:56:48.051 I know we’re at the top of the hour, but there’s still a few questions. So if you guys are okay with answering a few more -
Steve Mitchell: 00:56:52.136 Yeah.
Caitlin Croft: 00:56:53.011 -I’d love to run through some of these. Okay. I think we already covered this one. What about local storage of data on the boat? How long can we store data, considering there is no network connectivity?
Teppo Kurki: 00:57:08.283 That’s really up to how big a hard drive or drive - aren’t there hard drives anymore?
Steve Mitchell: 00:57:14.620 Yeah. [laughter] Right.
Teppo Kurki: 00:57:15.633 Yeah. Well, I mean, it’s just, this works with even Raspberry Pis. Or even if you have a NUC or something more powerful, it’s really up to - I mean, an entire round-the-world passage would be perfectly okay, given enough disk space. What protocol we use to send data to backend cloud? I would pick MQTT for that. Well, the client libraries provide a buffering, like I said. Steve, you want to answer the alerting question? Do we have any alerting in place?
Steve Mitchell: 00:58:01.388 Hang on. Are we in Q&A or chat?
Caitlin Croft: 00:58:06.708 It’s both. So this question was in the Q&A. So just asking, do we have any alerting in place? For example, weather predictions, leaking water in your boat, stuff like that.
Steve Mitchell: 00:58:19.764 I don’t have my boat sensors connected to this. I have it connected to a different thing. That’s one of the things on my list. So if the boat was running more than X amount of times, yes, you could use Node-RED or any of the other notification stuf
f within Signal K to send that. I have some alerts configured in Grafana to alert me to higher wind temp - higher wind temperature - higher wind speed. But you can do that in Signal K as well, so.
Caitlin Croft: 00:58:50.770 Perfect. How is downsampling performed? I know you can do this in Flux, but just curious how you -
Teppo Kurki: 00:58:57.465 The plugin part is really, really dumb. It’s just samples. There’s no averaging mean, max, or anything. It’s just downsampling.
Caitlin Croft: 00:59:09.575 Okay. This is specific for Steve. What device did you choose to bring your generator data into NMEA 2000?
Steve Mitchell: 00:59:20.158 That was the Actisense EMU-1. So analog to digital gateway, specifically for engines. So it reads things like the RPM frequencies. It basically is taking all of your analog senders and converting that into digital data. It requires a decent amount of programming and time to watch those values and reverse-engineer some of them.
Caitlin Croft: 00:59:54.145 Okay. So someone is asking about - is there a way to use Influx and Grafana to do user-friendly unit conversions? I know Steve talked about some funky units like Kelvin, and you can use Flux. You can build Flux queries that can be shared, and then that can do the unit conversions.
Teppo Kurki: 01:00:18.934 That was on my to-do list. The idea was to build a Signal K specific data source in Grafana which retrieves the unit for the path from the Signal K schema that defines the unit. And then you have the options or the option to pick the relevant units that you want to convert to then have sort of global preferences like, “I want to see Fahrenheit.” And then there’s the possibility to extend Signal K specification to cover stuff like short distances, long distances. You might have different preferences for those, like depth. You don’t want to convert all meters to the same unit, right?
Steve Mitchell: 01:01:16.383 Yeah. I had to figure it and reverse-engineer mine for things like RPMs and stuff like that. And since our American crazy conversions are -
Caitlin Croft: 01:01:25.625 And keeping it interesting, right?
Teppo Kurki: 01:01:27.883 Yeah.
Caitlin Croft: 01:01:28.853 How did you connect to your Victron electrical data? Did you use Venus OS on a Pi and connect it through CAN bus and USB?
Steve Mitchell: 01:01:37.779 No. So there’s two ways to do that. I have both setup. Right now, what I’m using is a plugin from Scott, and it’s called the Victron Venus Plugin, and it’s using D bus, basically, which is, I think, MQTT last time I checked. So you talk to -
Teppo Kurki: 01:01:55.617 Victron devices provide, also, MQTT access to the data, but D bus is separate.
Steve Mitchell: 01:02:05.471 Oh, right. So this is connected to the D bus of a color-controlled GX on -
Teppo Kurki: 01:02:14.098 Over TCP.
Steve Mitchell: 01:02:16.596 Correct. Another way to do it - both work; you’ll get more data this way - is - Victron, about three, four months ago, released NMEA 2000 support for their Color Control and all the other different versions.
Teppo Kurki: 01:02:31.381 They’re called GX devices.
Steve Mitchell: 01:02:33.406 Right. They released that, and there’s still some things that need to be worked out there. There’s some funkiness with some stuff, but you can connect your Victron device directly to the NMEA 2000 network. And then provided your Signal K server is connected to NMEA 2000, you’re going to get that. The thing is that NMEA 2000 doesn’t have as much granularity in terms of the data structures as to what they record for the electrical system as Victron does themselves. You’ll get a lot more information if you connect it directly this way. And this does not require anything other than a Signal K server and a GX device. And in fact, there was a standalone version, that I’m pretty sure folks at Signal K and Scott’s working with Victron on, that you can download as a Docker image that was super customized and looked like a Victron product, almost. It would allow you to store all of your data locally if you did not want to use Victron’s VRM product which send it up to the cloud, so.
Caitlin Croft: 01:03:33.640 Okay. What are your recommendations on a more powerful hardware platform compared to RPi 4 to run Signal K plus InfluxDB plus Grafana?
Steve Mitchell: 01:03:46.105 The RPi 4 is actually a pretty powerful little piece of equipment. For my boat, an RPi 3 - I tried that, and it overheated and shut down. But I’m a funky case. Well, I’m not sure I’m a funky case. I mean, a lot of people have a lot of connective things. RPi 4 is a great - this is running on an i3net, which is not a huge power ground, and I have absolutely no performance problems whatsoever with it, so.
Teppo Kurki: 01:04:14.755 Right. If you want more power and reliability, then the SSD is the way to go instead of an SD card.
Steve Mitchell: 01:04:22.762 Yeah. I should mention, a couple of years ago, I did have a failed SD card from the amount of data I wrote to it. So I would recommend the SSD too if you’re concerned about keeping it.
Caitlin Croft: 01:04:34.795 I think this is a follow-up question to it, but is there a way to connect to Mastervolt devices to receive data?
Steve Mitchell: 01:04:42.672 Mastervolt has an NMEA 2000 interface. I used to be a reseller and a technician for that, and it’s pretty NMEA 2000 specific. I don’t think there’s a plugin for that that I see, and I don’t think anyone’s written one. So you’re going to be limited to PGNs or data structures that exist for NMEA 2000. I don’t think they propose it any other way right now.
Caitlin Croft: 01:05:09.947 Perfect. So someone here - it sounds like they’ve been using Signal K for a while, and they have been using a tool called iKommunicate with a K. Any recommendations on how to move beyond iKommunicate to NMEA 2000 gateway that is actively supported for Signal K?
Steve Mitchell: 01:05:33.666 Right. So iKommunicate was a project from Digital Yacht where they built the hardware that ran Signal K server on top of it. So it’s kind of the first dedicated hardware product that had a built-in NMEA 0183 interface in it. I know the Digital Yacht guys are - I mean, they built some of the best AIS stuff that’s out there. I know Paul, who’s still actively involved with Signal K, was heavily involved in that product. People still use it. It’s a great solution if you don’t want to have to find a computer and an NMEA interface and all that sort of stuff. I don’t know of another product that’s like that, that’s just a gateway. I mean, you could run a Signal K server on a computer and then use one of the gateways that I mentioned that are now supported as connections, which are - Yacht Devices is one, and Nemo. There’s also the iKonvert. I almost forgot about that. So they do have the iKonvert one. That would probably be the one I would look at.
Teppo Kurki: 01:06:41.513 I think you should just contact them, and I’m sure they can cut you a deal on the iKonvert. And the advantage of running your own Signal K server is that, that gets regular updates. It gets extended. You get all the plugins. You get all of that stuff, and that’s certainly more powerful than the early iKommunicate.
Caitlin Croft: 01:07:09.131 Cool. If I were to start from scratch, what would be the best way to get wind and depth data into Signal K running on a Raspberry Pi? Are there any sensors that are more modern and friendly towards Signal K?
Steve Mitchell: 01:07:26.822 It depends on your budget on your boat. I mean, so many different things. I mean, I am a big fan of ultrasonic wind, but done correctly. The LCJ Capteurs sensor, which is made in France, is one of the best I’ve ever worked with, and it has a little dongle that converts it to NMEA 2000. But natively, it comes out of 183, which sounds old school. But that sensor on the sailboat, I mean, it sends down to like half a knot and is extremely accurate. So I mean, if you’re going to start from somewhere, I would look at the ultrasonic stuff. AirMore makes some as well. They get expensive when you’re in that realm, but you also get GPS, roll, pitch, yaw, all that in those. Depth -
Teppo Kurki: 01:08:13.614 So it really depends on what you consider best, right?
Steve Mitchell: 01:08:18.408 Right.
Teppo Kurki: 01:08:18.700 Is cheapest the best? Is data quality the best? It really depends. But to answer the second part of your question, you get the volume with the NMEA sensors. Then it’s sort of produced to a global market, and we can just tap into that and pick the best sensor that sort of fits your definition of best.
Steve Mitchell: 01:08:47.374 Right. And it has a lot to do with your boat and what you’re using it for too. If you’re a racer, then you probably want a lot of data. If you’re a cruiser going around the world, you want power usage. I mean, there’s -
Teppo Kurki: 01:09:00.222 Or robustness is more important to you. Yeah.
Steve Mitchell: 01:09:04.268 True.
Teppo Kurki: 01:09:04.674 No moving parts. The ultrasonic sensors are good in that respect.
Steve Mitchell: 01:09:10.338 Right.
Caitlin Croft: 01:09:12.207 Has any work been done to capture Magnum inverters and controllers?
Steve Mitchell: 01:09:18.514 So I have one of those on a different boat, and I had one on my boat before I converted it to Victron. They have a gateway issue thing, but it’s - I used to talk with them. There’s no progress that I’m aware of on that. What you could do is put a shunt in. There’s a bunch of different manufacturers that makes shunts that spit data out. So you could at least see in and out. But in terms of inverter performance, no, there’s no way that I’m aware of that you can get data out of Magnum right now.
Caitlin Croft: 01:09:50.041 Okay. So there’s another downsampling question. What is the best way to downsample, and can you selectively downsample? For example, can I see wind data more often and reduce the amount of heading data sent?
Teppo Kurki: 01:10:07.116 Not with the current version of InfluxDB plugin. That would be fairly easy to add to that. I can help you code that. Then there is something called Subscriptions in Signal K, which is sort of - this is not about the InfluxDB integration. Just sort of like a native part of Signal K’s specification. You can subscribe to different paths, sending like, “I want this more frequently than this one.” And then if you put the DB writing part to that, that’s something that manages your subscription. So there’s some infrastructure for that, but not a plug-and-play option that you can sort of download and start using right now.
Steve Mitchell: 01:11:06.413 We didn’t talk about it, but there are also black and white lists here for -
Teppo Kurki: 01:11:14.327 No, I actually mentioned that. So you can sort of exclude some stuff that’s not relevant or you don’t want.
Caitlin Croft: 01:11:24.320 All right. Just because I’m concerned with time, we’ll take one more question, and then we’re going to wrap things up. So what roll/pitch sensor do you recommend?
Teppo Kurki: 01:11:37.235 That’s such a specific question. Sorry. Next last question.
Steve Mitchell: 01:11:44.404 I use a couple of different ones, but yeah, that’s very specific to the boat. I’m happy to answer that separately if you want to email me. We can [inaudible] details.
Caitlin Croft: 01:11:54.494 Yeah. So for everyone who’s still on the line, all of you should have my email address. So feel free to email me after the webinar. I know there’s been a ton of questions. So if you have any more questions for Steve and Teppo, feel free to send them to me. I’m happy to connect you with them. But we’ll take one last one, and then we’ll wrap things up. Are there libraries for Arduino or ESP32 IoT type devices that will communicate with Signal K?
Teppo Kurki: 01:12:26.536 I’ll say, at this time, Matti, who is in the audience, kicked SensESP project that’s under the Signal K umbrella in motion. So google for SensESP, and you end up in GitHub on something that you can download and start using on ESP32.
Steve Mitchell: 01:12:48.675 Directly into Signal K.
Caitlin Croft: 01:12:51.763 Great. Well, thank you, everyone, for joining today’s webinar. It was a really fun topic. Clearly, lots of people had questions. This session has been recorded, so it will be available for replay later tonight, and the slides will be made available as well. And once again, if you have questions that weren’t answered, or if you think of anything after the fact, please feel free to email me. I’m happy to connect you with Steve and Teppo. I hope to see everyone tomorrow at the Community Office Hours. It’ll be a fantastic session. And of course, later in the fall, InfluxDays. Thank you so much, Steve and Teppo. People seem to really like it. I got lots of messages saying, “Great presentation. Super interesting.” They’re inspired. So I think it was a fantastic talk.
Steve Mitchell: 01:13:47.012 Thank you for having us. We really appreciate it. We both love this stuff, so it’s [inaudible] that we get to talk [inaudible].
Teppo Kurki: 01:13:54.720 So just get us started, and we’ll go on and on and on. [laughter]
Caitlin Croft: 01:14:00.424 Hey, I love it. But thank you so much, everyone. And I hope you have a good rest of your day, and see you all at the next webinar.
Steve Mitchell: 01:14:11.858 All righty. Bye.
Caitlin Croft: 01:14:13.433 Thank you. Bye.
For the last 20 years, Steve has been employed at F5 Networks, an industry leader of network and security products based in Seattle, WA. His focus has been on technical engineering, complex testing, and development. Through the 1990s and 2000s Steve owned almost exclusively sailboats including a 48? Hunter, 34? Beneteau, 29? US Yachts, 26? Clipper Marine, 30? Catalina , and a number of sailing dinghies. He plied the waters of Puget Sound, now called the Salish Sea, and Canadian waters up to Desolation Sound and further. His last two boats contained over 100 different networked devices, completely reworked electrical systems which provided amazing amounts of information, and were technical showcases of how a boat could be connected in as many ways as possible. Much of the experience he learned from his civil engineer father helped to be a DIY'er when it comes to pretty much any project on the boat. He now spends most of his time on the water testing new technologies in real-world scenarios, and writing about them to help others learn from the experience. Steve has been an avid supporter of open source projects such as Canboat and SignalK for years, seeing the value in being able to aggregate and capture all of the data generated by a well-connected boat.
Committer, Signal K
Teppo has been working as software consultant at Reaktor for over 12 years. He has juggled different hats from software development and architecture to team management during the company's journey from 70 software geeks to 500+ people excelling in building digital products and services, with offices in Helsinki, Tokyo, New York, Amsterdam, Dubai and Stockholm. Teppo got into open marine data more by accident than by design: his previous season's DIY software was no longer compatible with the devices he bought next year. This was the spark to reach out to other open source developers, because surely others had the same need for a single, modern data format. One thing led to another and Signal K was born. Signal K combines a generic data transport system, based on modern protocols, with a domain specific data model to provide an extensible solution for managing all onboard data. It is easy to start with for a tinkerer, but scales to hundreds of sensors and cloud communications. Onboard data is time series data by nature, recording and controlling all aspects of a modern ship's passage. Teppo has been using InfluxDB onboard his sailboat for years now, recording all the incoming data for monitoring and analysis.