Semtech LoRaMote

From air
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
sudo add-apt-repository ppa:adrozdoff/cmake
sudo apt-get update
sudo apt-get install cmake
  • Compilateur C (gcc)
  • build-essential
  • libusb-1.0 et libusb-1.0.0-dev pour la compilation
sudo apt-get install libusb-1.0.0-dev

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 $STLINK/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

  • CMake version 3.6 minimum
  • 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 $LORAMAC_NODE/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

  • Assurez-vous tout d'abord que le flasher est opérationnel, pour cela tapez :
st-info --probe
  • Connectez le flasher à la LoRaMote via le connecteur JTAG, puis allumez la LoRaMote.
  • Flashez ensuite l'application en utilisant une des commandes suivantes :
# utiliser le fichier BIN
st-flash write path/to/bin/file 0x8000000
# utiliser le fichier HEX
st-flash --format ihex write path/to/hex/file
  • Patientez (le transfert est assez lent...)

(Des erreurs de vérification du binaire peuvent survenir, mais celles-ci peuvent être ignorées)

  • Une fois le transfert terminé, éteignez puis rallumez la carte - les trois LEDs devraient s'allumer brièvement témoignant du bon fonctionnement de la carte.