5 tips to supercharge your wireless mesh development
Here are some great tips and tricks from our good friends at Symbiotech in Australia. Thanks a lot guys! Over to you…
Wirepas Massive is easy to get going with. But whether you are a veteran user of Wirepas, expert firmware developer, connectivity guru or just starting out, I’m pretty sure some of our tips can help you accelerate your wireless mesh projects even further. Below are some of the most valuable lessons we learned from the eight commercial projects (and counting) that we worked on.
1.Get the set-up right
Wirepas has comprehensive documentation, but if you’re new to firmware development all of this may be overwhelming at first. Let’s go over each step.
First of all, you should set up your system / compiler according to the chip manufacturer’s (SiLabs or Nordic) instructions. There are plenty of resources for this, such as the ever popular Nordic / gcc tutorial. You can then build and run Wirepas’s examples by simply following the instructions in the README.md file included in the Wirepas SDK. Try running the ‘blink’ example with a development kit to check that the previous steps were successful.
Modern IDEs support several features such as auto-complete and refactoring aids, which significantly improve productivity. We recommend using CLion, where all you need to do is either ‘Import from existing Sources’ or create a CMakeLists.txt referencing the source files. And voilà – there should be no red errors in your code. You’re all set to develop!
A short checklist below:
- Set up non-Wirepas builds for your microcontroller platform
- Run the ‘blink’ example to verify that you can build and run Wirepas applications correctly
- (For Single MCU applications) Set up the IDE of your choice, we recommend CLion, so that it knows where to find source files and doesn’t display any errors in your code
In many of our projects we make extensive use of logging to get insights during and after development. Classically you would look to your chip’s UART capabilities for logging, but there is a better way: you can log via Wirepas Massive straight to your gateway.
This has a couple of significant advantages:
- You don’t need any extra hardware
- You can log from multiple devices
- You can log even in a production set-up
Messages to the sink / gateway are delivered reliably and Wirepas’s bandwidth is high. In all of our time using this approach we have never run into a situation where a log message was not delivered, even when logging 10+ messages per second. Early on in a project, consider investing a bit of time in adding a logging capability appropriate to the project needs. This typically involves being able to switch logging on and off for different submodules, and being able to log a mix of static messages and dynamic variables.
Taking this further we can add error logging where, if an unexpected condition happens within the firmware, the error is sent to the gateway, logged and an email notification is sent, using services such as Rollbar or Raygun. You may also implement diagnostics messages that can be sent periodically or on demand, which can include your application’s configuration and state.
All of this gives you detailed insight into your application, during development and beyond.
Wirepas has powerful over-the-air updates built-in. This is a game changer when you need to innovate rapidly.
Instead of spending months polishing and testing a release, you can deploy with only the most basic smoke testing, confident that you can continually test on-site and deploy updates later on! An early investment into making sure that you can deploy updates quickly and confidently will often pay of
Automated tests will help you develop faster and build more reliable solutions. Still we see them severely underused in firmware development.
We have used several approaches for building automated tests in our Wirepas projects, including:
- Running firmware fully simulated on a regular computer
- Using a UART protocol to instrument your MCU
- Using Wirepas Massive to interact between your tests and your nodes
All those options work well and it’s just a matter of selecting which one works best for what you are looking to test.
Do more together
By collaborating with others, you can build amazing things. The Wirepas ecosystem is full of hardware manufacturers and software providers across all verticals and horizontals. Want to add additional value to your solution? Add your devices to already existing networks? Sell sensors and gateways without manufacturing the hardware? There’s a partner for you!
Hopefully the tips in this article will help you get the most out of Wirepas. None of this should take away from the fact that getting started with Wirepas is easy! Tools and APIs are accessible and getting up and running is a matter of hours. And if you ever do get stuck, there is excellent support you can rely on.
Symbiotech is a leader in Wirepas development. Based in Australia and Europe, we provide specialist IoT consulting services to our global clients. Learn more about we partnered with Ingy to build a world-class MVP in 3 months, that has since turned into a world-class product.