A long time ago Microsoft had a product called the .NET Micro Framework (It was open sourced in 2009 ) which was intended to allow.NET developers to write programs 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 (10 years), cloud integrations (AWS, Azure, Google Cloud, Adafruit.IO and IFTTT), quick time to market, and Visual Studio integration.
The TinyCLR runs on hardware which 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.
When I first starting writing the library I struggled to source Seeed LoRa-E5 modules so I had to use LoRa-E5 Development Kits with a DIY cross over cable.
Over the last few years I have been working with LoRa and LoRaWAN devices and needed a TinyCLR library for a Seeed LoRa-E5 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.
The sample application sends a 10 byte message (specified as raw bytes or BCD) roughly every minute.
The thread '<No Name>' (0x2) has exited with code 0 (0x0).
devMobile.IoT.SeeedE5LoRaWANDeviceClient starting
12:00:11 Region AS923
12:00:11 ADR On
12:00:11 Port
12:00:11 OTAA
12:00:12 Join start Timeout:25 Seconds
12:00:18 Join finish
12:00:18 Send Timeout:10 Seconds payload Counter:0
12:00:23 Sleep
12:01:23 Wakeup
12:01:23 Send Timeout:10 Seconds payload Counter:1
12:01:31 Sleep
12:02:31 Wakeup
12:02:31 Send Timeout:10 Seconds payload Counter:2
12:02:38 Sleep
12:03:38 Wakeup
12:03:38 Send Timeout:10 Seconds payload Counter:3
12:03:45 Sleep
12:04:45 Wakeup
12:04:45 Send Timeout:10 Seconds payload Counter:4
12:04:52 Sleep
12:05:52 Wakeup
12:05:52 Send Timeout:10 Seconds payload Counter:5
12:05:59 Sleep
12:06:59 Wakeup
12:06:59 Send Timeout:10 Seconds payload Counter:6
I have "soak tested" this configuration and it is still running after more than a fortnight.
This project is a summary of a series of posts on my blog where I cover the construction of the Seeed LoRa-E5 LoRaWAN library in significantly more detail.
This library is intended as "plumbing" for.NET developers building LoRaWAN connected applications with TinyCLR powered devices. The Github repository includes a sample application which shows how to send and receive messages with the library and the different configuration options supported.
FootnoteGus Issa and GHI Electronics have put a lot of effort into building an integrated platform (hardware and software) for commercial "embedded" applications on robust and secure devices. I have found their System On Module(SOM)s with on-board graphics, networking, and large number of IO significantly reduce time to market.
Comments
Please log in or sign up to comment.