Semtech LoRaMote
Matériel
https://www.mouser.com/catalog/additional/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
- 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
- CMake version 3.6 minimum
sudo add-apt-repository ppa:adrozdoff/cmake sudo apt-get update sudo apt-get install cmake
- GNU ARM-Toolchain
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa sudo apt-get update sudo apt-get install gcc-arm-embedded
- Pour le debug : OpenOCD
sudo apt-get install 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
Installation de stlink
Source
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 --version
- 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 ajoutez-vous à ce groupe.
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.
- 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
- https://github.com/Lora-net/LoRaMac-node
- https://github.com/Lora-net/LoRaMac-node/blob/master/Doc/development-environment.md
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 git branch # develop branch is the default branch git checkout master # LoRaMote board has been removed since v4.4.2 git checkout v4.4.1
- Créez le répertoire
build
et exécutez CMake.
mkdir build && cd build # Boards are : LoRaMote MoteII NAMote72 SensorNode SK-iM880A NucleoL073 NucleoL152 SAML21 BOARD="LoRaMote" APPLICATION="LoRaMac" SUB_PROJECT="classA" ACTIVE_REGION="LORAMAC_REGION_EU868" 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 $LORAMAC_NODE/src/apps/LoRaMac/classA/$BOARD/
.
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 ensuite le flasher à la LoRaMote via le connecteur JTAG, puis allumez la LoRaMote.
- Vous pouvez retaper
st-info --probe
pour avoir davantage d'informations sur le matériel. - Flashez 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.