In order to develop the Montana Granite Litems, a set of software resources are needed. Specifically, for developing the source code for the Arduino Nano 33 IoT, this software has been installed:
- Arduino IDE for Mac in its latest version (1.8.13)
- Support for Arduino SAMD Boards (32-bits ARM Cortex-M0+) in its latest version (1.8.11)
- ArduinoBLE library in its latest version (1.1.2)
Since, from a Bluetooth BLE perspective, the Litem is being supporting the role of GATT server, a GATT client is necessary to exchange data. In real world that client will be the Montana Yellowstone gateway, but in order to decouple litem and gateway developments a basic GATT client will be developed in the Montana Granite project with the purpose of validating results.
The Granite GATT client will be developed in C# running on .NET Core Framework. For that purpose a VirtualBox Linux host with Ubuntu 20.04 Minimal Desktop distro has been deployed, and this software has been installed:
- packages-microsoft-prod.deb package, that adds Microsoft software repositories as packages sources
- dotnet-sdk-5.0 package
- Visual Studio Code for Linux in its latest version (1.52.1) via snap (sudo snap install --classic code)
- C# Visual Studio Code extension
- git package
- nuget package
BlueZ, the Linux Bluetooth protocol stack, was included in the Ubuntu distro.