Transformer un module Grove Lora en node Lorawan

Le firmware interne du module Grove Lora de Seeduino ne permet pas de constituer un node LoraWan.

Mais on peut reprogrammer le mcu Atmega168p en modifiant le code de l’exemple de Clemens Riederer et en utilisant la bibliothèque SPI standard.

Pour la programmation du mcu :

  • Un peu de soudure pour le connecteur ISP :

  • Ajouter la carte dans votre board.txt de l’IDE Arduino car c’est un Atmega168p :
##############################################################

atmega168p.name=ATmega168P (8 MHz)

atmega168p.upload.tool=avrdude
atmega168p.upload.protocol=arduino
atmega168p.upload.maximum_size=14336
atmega168p.upload.speed=19200

atmega168p.bootloader.tool=avrdude
atmega168p.bootloader.low_fuses=0xff
atmega168p.bootloader.high_fuses=0xdd
atmega168p.bootloader.extended_fuses=0x00
atmega168p.bootloader.file=atmega/ATmegaBOOT_168_ng.hex
atmega168p.bootloader.unlock_bits=0x3F
atmega168p.bootloader.lock_bits=0x0F

atmega168p.build.mcu=atmega168p
atmega168p.build.f_cpu=8000000L
atmega168p.build.core=arduino
atmega168p.build.variant=standard
  • Graver la séquence d’initialisation avec chaque nouvelle programmation.
  • Télécharger le code (ATmega168_GroveLoRaPub) suivant en l’adaptant à votre réseau Lorawan, ici une pi avec rak2245 et TTN.
  • Débrancher le connecteur SPI.
  • Brancher un alimentation 3.3V sur le connecteur grove ou sur l’ISP.

  • Vous pouvez toujours connecter une liaison série sur le port Grove ( Je l’ai utilisée ici pour le debuggage. ) ou y connecter un capteur Grove mais il faudra gérer l’alimentation ( Le connecteur est câblé sur l’entrée d’un régulateur 5V -> 3.3V !).