BackgroundA long time ago Microsoft had a product called the .NET Micro Framework (The source was released 2009 ) which was built to enable.NET developers to write solutions which ran on resource constrained devices.
GHI Electronics who designed and manufactured a lot of the hardware for the.NET Micro Framework redeveloped the platform for commercial applications with a focus on security, long term support, cloud integrations, quick time to market, and Visual Studio integration.
The TinyCLR hardware is available in different packaging System on Chip(SoC), System on Module(SoM) and Single Board Computers(SBC).
The SBCs are available in FEZ flea, FEZ Pico, FEZ Feather, FEZ stick, FEZ Bit, FEZDuino, and FEZPortal packages.
Over the last few years I have been working with LoRa and LoRaWAN devices and needed a TinyCLR library for a RAKwireless RAK811 module for a project.
I have assumed that readers are familiar with LoRaWAN, configuring LoRaWAN modules, configuring the LoRaWAN networks, and have a basic knowledge of electronics.
The configuration of The Things Network(TTN) Gateways, Applications and Devices has been covered in detail in several other Hackster.IO projects so I won't repeat it here.
This project is a summary of a series of posts on my blog where I cover the construction of the RAK811 LoRaWAN library in significantly more detail.
The RAK Wisduino requires some modifications which will "invalidate the warranty".
I used the RAK Serial Port Tool to slow the RAK811 module serial port connection down to 9600 baud (i don't understand why the default is 115K2 as LoRaWAN is pretty slow).
I soak tested the Fezduino+Wisnode configuration and it ran for more than a week until I had to shut it down so I could use the Fezduino for another project.
My RAK811 LoRaWAN module library supports
- OTAA and ABP Network joins
- Class A and C devices
- Confirmed and unconfirmed messages
- Region configuration
- Power Conservation with Sleep and Wakeup
- Adaptive Data Rate(ADR) enable/disable
- Sending arrays of bytes
- Sending strings of BCD encoded bytes
- Received data events
- Message delivery confirmation events
I'm still looking for other Arduino shield or mikrobus LoRaWAN development boards which support AS923 so I can write more TinyCLR libraries.
I started with the RAK811 because it supported AS923 the standard used in New Zealand. (When I upgraded from TTN V2 to V3 I found it doesn't, the issue and fix are discussed here)
FootnoteI have been using the TinyCLR for years. Gus and his team have built a platform for commercial product development which which great to work with.
Comments