Private WAN to connect multiple sites using WireGuard

Hello all!

Today I wanted to share how I made my network, connecting together my base LAN at my flat together with other devices outside it and other sites, or virtual locations.

Picture on the right shows map of target network that will be finished soon, for now I’m lacking few elements. The map is centered around my WnekoTank Rover project, so it’s also missing many elements, but general topology is there and I’ll cover all the details in following descriptions of each part.

I decided on such “star” architecture as, first of all, I have static IP address at my flat, so it’s easy to configure all “clients” to connect to it, and also makes configuration easier, all other devices have to route local traffic just here and only here is it spread around. Configuring it in a “mesh” would be just much more complicated, as for example to connect from laptop (on mobile connection) to my Rover would require checking public IP first and changing configuration accordingly, or using some DDNS service, also each device would need to have separate WireGuard and routing configuration for each other device. Compared to that having central hub with static public IP makes everything much easier.

Read more “Private WAN to connect multiple sites using WireGuard”

Programming I2C drivers with Meadow

For past few months I am working on a project based around Meadow platform that allows .NET programming for IoT. Greatest thing about it – it is programmable using full .NET Standard, so almost any .NET developer can easily just gram one, learn some platform specific basics and start being productive very soon, even without prior IoT experience. It’s extremely easy to write (assuming you know C# of course) and allows usage of most .NET goodies you might want – events, threads, asynchronous programming? LINQ? Networking? Whatever you might want – if you can do it in console app you probably can do it here to!

Obviously there is also a lot of specific stuff too. There must be classes for example to control hardware – but in principal they work as usual .NET stuff, and there is a lot of APIs for different devices already in Meadow Foundation. But what to do if you bought device and there is no driver for it yet?

Read more “Programming I2C drivers with Meadow”