Modules IoT sans fil de Pycom: Sigfox, LoRa...
LoPy - LoRa
Autant que je sache, il n'y a pas de passerelle LoRa à l’heure où je rédige ce banc d'essai, même s'il y en avait une, je ne saurais pas comment m'y connecter, mais il est possible de faire communiquer deux modules LoPy entre eux sans avoir besoin d'une passerelle, alors nous allons essayer ça à la place. Évidemment, il vous faudra deux modules LoPy…Après avoir mis à jour le microprogramme des cartes, j'ai ajouté le code ci-dessous dans main.py de la carte A (avec mon client FTP) :
from network import LoRa
import socket
import time
import pycom
lora = LoRa(mode=LoRa.LORA, frequency=863000000)
s = socket.socket(socket.AF_LORA, socket.SOCK_RAW)
s.setblocking(False)
pycom.heartbeat(False)
while True:
if s.recv(64) == b'Ping':
pycom.rgbled(0x007f00) # green
time.sleep(0.05)
pycom.rgbled(0) # off
s.send('Pong')
time.sleep(2.5)
pycom.rgbled(0x7f0000) # red
time.sleep(0.05)
pycom.rgbled(0) # off
time.sleep(2.5)
De cette façon, la carte A envoie un flash rouge toutes les cinq secondes. À réception du mot Ping, elle envoie un flash vert.Sur la carte B, j'ai ajouté le code ci-dessous dans main.py pour qu'elle envoie le mot Ping toutes les cinq secondes et envoie un flash vert. Il n'y a aucun contrôle des données reçues.
from network import LoRa
import socket
import time
import pycom
lora = LoRa(mode=LoRa.LORA, frequency=863000000)
s = socket.socket(socket.AF_LORA, socket.SOCK_RAW)
s.setblocking(False)
pycom.heartbeat(False)
while True:
s.send('Ping')
pycom.rgbled(0x007f00) # green
time.sleep(0.05)
pycom.rgbled(0x000000) # off
time.sleep(5)
Cela a bien fonctionné. Étant donné qu'apparemment aucun adressage n'est mis en œuvre, il s'agit sans doute d'un envoi de type diffusion et il devrait être possible d'ajouter d'autres cartes LoPy au réseau.Lire l'article complet
Hide full article
Discussion (1 commentaire(s))