Semtech LoRaMote

From air
Revision as of 01:40, 23 March 2018 by Herve.Becher (talk | contribs)
Jump to navigation Jump to search
Semtech's LoRa Mote

Matériel

   MCU : STM32L151CB - 128K FLASH, 10K RAM, Timers, SPI, I2C, USART, USB 2.0 full-speed device/host/OTG controller, DAC, ADC, DMA
   RADIO : SX1272
   ANTENNA : Printed circuit antenna
   BUTTONS : No
   LEDS : 3
   SENSORS : Proximity, Magnetic, 3 axis Accelerometer, Pressure, Temperature
   GPS : Yes, UP501 module
   EXTENSION HEADER : Yes, 20 pins
   REMARK : The MCU and Radio are on an IMST iM880A module


Logiciel


Installation, Build et Flashage

Cette section décrit le processus d'installation, de compilation et de flashage de la LoRaMote via un ST-Link v2 sur Ubuntu 16.04 LTS.

Installation de stlink

Source

Prérequis

  • CMake version 3.6 minimum
  • Compilateur C (gcc)
  • build-essential
  • libusb-1.0 et libusb-1.0.0-dev pour la compilation

Machine virtuelle sur Windows

Si vous êtes sous Windows et passez par une machine virtuelle, vous devrez télécharger et installer les pilotes du flasher depuis le site de ST.
http://www.st.com/en/development-tools/stsw-link009.html

Etapes

Clonez le projet stlink de texane.

git clone https://github.com/texane/stlink.git

Déplacez-vous dans le répertoire du projet et lancez la compilation.

cd stlink; make release

Rendez-vous ensuite dans le répertoire build et installez stlink au niveau système.

cd build/Release; sudo make install

Vous pouvez vérifier l'installation en exécutant simplement st-info.

st-info

Si une erreur du type cannot open shared object file survient, rechargez le cache des bibliothèques dynamiques.

sudo ldconfig

Installez ensuite les règles udev en copiant le contenu du répertoire $RACINE_DU_PROJET/etc/udev/rules.d dans /etc/udev/rules.d.

cd ../..; sudo cp etc/udev/rules.d/* /etc/udev/rules.d/

Rechargez les règles soit via l'une des commandes suivantes, soit en redémarrant simplement votre machine.

sudo udevadm control --reload-rules
sudo udevadm trigger

Créez ensuite le groupe stlink, puis donnez-vous ce groupe. Celui-ci est nécessaire pour accéder sans privilèges root au ST-Link v2 via les règles installées précédemment (à vérifier).

sudo groupadd stlink
sudo usermod -aG stlink $USER

Vous pouvez maintenant connecter le flasher et vérifier qu'il est bien visible.

st-info --probe

Des informations de base sur le flasher devraient être affichées. Si celui-ci n'est pas détecté, assurez-vous que les règles udev sont bien installées et activées et, dans le cas d'une machine virtuelle, que cette dernière ait accès au périphérique.

Compilation de LoRaMac

Source

Prérequis

  • GNU ARM-Toolchain
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt-get install gcc-arm-embedded

Etapes

Clonez le projet LoRaMac-Node et déplacez-vous dans le répertoire.

git clone https://github.com/Lora-net/LoRaMac-node.git && cd LoRaMac-node

Créez le répertoire build et exécutez CMake.

mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE="cmake/toolchain-arm-none-eabi.cmake" -DAPPLICATION="LoRaMac" -DCLASS="classA" -DACTIVEREGION="LORAMAC_REGION_EU868" ..

L'environnement est prêt, vous pouvez maintenant programmer votre application dont les sources se trouvent dans $RACINE_DU_PROJET/src/apps/LoRaMac/classA/LoRaMote/.
Plus d'informations sur le support d'IDE (notamment KDevelop) et le debugging sont disponibles sur le tutoriel source.

Une fois votre application prête à déployer, lancer simplement make depuis le répertoire build. Les fichiers LoRaMac-classA.bin et LoRaMac-classA.hex seront générés dans le répertoire $BUILD/src/apps/LoRaMac/.

Flashage de l'exécutable