Semtech LoRaMote



=Matériel=

https://www.mouser.com/catalog/additional/Semtech_User_Guide_LoRaMote_STD-952618.pdf ([[Media:Semtech_User_Guide_LoRaMote_STD-952618.pdf|en cache]]).

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=
 * https://github.com/Lora-net/LoRaMac-node
 * https://github.com/Lora-net/LoRaMac-node/tree/master/src/apps/LoRaMac/classA/LoRaMote
 * https://github.com/Lora-net/LoRaMac-node/tree/master/src/apps/LoRaMac/classB/LoRaMote
 * https://github.com/Lora-net/LoRaMac-node/tree/master/src/apps/LoRaMac/classC/LoRaMote

=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.

Prérequis
sudo apt-get install libusb-1.0.0-dev sudo add-apt-repository ppa:adrozdoff/cmake sudo apt-get update sudo apt-get install cmake sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa sudo apt-get update sudo apt-get install gcc-arm-embedded sudo apt-get install openocd
 * Compilateur C (gcc)
 * build-essential
 * libusb-1.0 et libusb-1.0.0-dev pour la compilation
 * CMake version 3.6 minimum
 * GNU ARM-Toolchain
 * Pour le debug : OpenOCD

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

Source

 * https://github.com/texane/stlink
 * https://github.com/texane/stlink/blob/master/doc/compiling.md

Etapes
git clone https://github.com/texane/stlink.git cd stlink; make release cd build/Release; sudo make install st-info --version sudo ldconfig cd ../..; sudo cp etc/udev/rules.d/* /etc/udev/rules.d/ sudo udevadm control --reload-rules sudo udevadm trigger sudo groupadd stlink sudo usermod -aG stlink $USER 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). N'oubliez pas de vous déconnecter puis reconnecter pour appliquer. 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.
 * Clonez le projet stlink de texane.
 * Déplacez-vous dans le répertoire du projet et lancez la compilation.
 * Rendez-vous ensuite dans le répertoire  et installez stlink au niveau système.
 * Vous pouvez vérifier l'installation en exécutant simplement.
 * Si une erreur du type  survient, rechargez le cache des bibliothèques dynamiques.
 * Installez ensuite les règles  en copiant le contenu du répertoire   dans.
 * Rechargez les règles soit via l'une des commandes suivantes, soit en redémarrant simplement votre machine.
 * Créez ensuite le groupe  , puis ajoutez-vous à ce groupe.
 * Vous pouvez maintenant connecter le flasher et vérifier qu'il est bien visible.

Source

 * https://github.com/Lora-net/LoRaMac-node
 * https://github.com/Lora-net/LoRaMac-node/blob/master/Doc/development-environment.md

Etapes
git clone https://github.com/Lora-net/LoRaMac-node.git && cd LoRaMac-node git branch git checkout master git checkout v4.4.1
 * Clonez le projet LoRaMac-node et déplacez-vous dans le répertoire.
 * 1) develop branch is the default branch
 * 1) LoRaMote board has been removed since v4.4.2

mkdir build && cd build BOARD="LoRaMote" APPLICATION="LoRaMac" SUB_PROJECT="classA" ACTIVE_REGION="LORAMAC_REGION_EU868"
 * Créez le répertoire  et exécutez CMake.
 * 1) Boards are : LoRaMote MoteII NAMote72 SensorNode SK-iM880A NucleoL073 NucleoL152 SAML21

cmake -DCMAKE_TOOLCHAIN_FILE="cmake/toolchain-arm-none-eabi.cmake" -DAPPLICATION=$APPLICATION -DSUB_PROJECT=$DSUB_PROJECT -DBOARD=$BOARD -DACTIVE_REGION=$ACTIVE_REGION ..

make find. -name *.hex

L'environnement est prêt, vous pouvez maintenant programmer votre application dont les sources se trouvent dans. 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  depuis le répertoire. Les fichiers  et   seront générés dans le répertoire.

Flashage de l'exécutable
st-info --probe st-flash write path/to/bin/file 0x8000000 st-flash --format ihex write path/to/hex/file (Des erreurs de vérification du binaire peuvent survenir, mais celles-ci peuvent être ignorées)
 * Assurez-vous tout d'abord que le flasher est opérationnel, pour cela tapez :
 * Connectez ensuite le flasher à la LoRaMote via le connecteur JTAG, puis allumez la LoRaMote.
 * Vous pouvez retaper  pour avoir davantage d'informations sur le matériel.
 * Flashez l'application en utilisant une des commandes suivantes :
 * 1) utiliser le fichier BIN
 * 1) utiliser le fichier HEX
 * Patientez... (le transfert est assez lent)
 * Une fois le transfert terminé, éteignez puis rallumez la carte - les trois LEDs devraient s'allumer brièvement témoignant du bon fonctionnement.