SigFox downlink issue with FiPy



  • I'm writing this code into my FiPy module :

    from network import Sigfox
    import socket
    ​
    # init Sigfox for RCZ1 (Europe)
    sigfox = Sigfox(mode=Sigfox.SIGFOX, rcz=Sigfox.RCZ1)
    
    # create a Sigfox socket
    s = socket.socket(socket.AF_SIGFOX, socket.SOCK_RAW)
    
    # make the socket blocking
    s.setblocking(True)
    
    # configure it as DOWNLINK specified by 'True'
    s.setsockopt(socket.SOL_SIGFOX, socket.SO_RX, True)
    
    # send some bytes and request DOWNLINK
    s.send(bytes([1, 2, 3]))
    
    # await DOWNLINK message
    s.recv(8)
    
    

    https://docs.pycom.io/firmwareapi/pycom/network/sigfox/

    When I run the program,
    I have this error :

    Traceback (most recent call last):
      File "<stdin>", line 18, in <module>
    OSError: [Errno 115] ENETDOWN
    

    I don't understand why my code doesn't work.

    On sigfox backend :
    The downlink status is good :

    Downlink status - Acked
    
        Status : [ACKED]
        Data (Hexa) : deadbeefcafebabe
    
    


  • @Eric73
    Have you check the coverage maps for your workplace ?

    Yes the coverage is pretty good, I'm working near Bordeaux in France.

    I have this antenna :
    https://pycom.io/product/lora-868mhz-915mhz-sigfox-antenna-kit/



  • @c42 Hi, happy for you its work, but perhap you have to change your antenna for a better result inside building. Have you check the coverage maps for your workplace ?
    Yes sigfox device to device is another things, download is (G)FSK 600bits/s as explained in sigfox specification (you must agree terms for read it https://build.sigfox.com/sigfox-device-radio-specifications )



  • @Eric73
    Hi,

    Thanks its works !
    I received my payload deadbeefcafebabe.

    >>> 
    b'\xde\xad\xbe\xef\xca\xfe\xba\xbe'
    

    I have to be outsite of the building.

    When you mentioned "FSK", I was afraid that my module would not be compatible. Because on the docs it says that "Sigfox.FSK mode is not supported on LoPy 4 and FiPy."
    https://docs.pycom.io/firmwareapi/pycom/network/sigfox/

    But I think, Sigfox.FSK mode is just for device to device communication.

    Thanks you for the explanations !



  • This post is deleted!


  • This post is deleted!


  • Hello, all seem correct, you have send byte to sigfox backend, and it send you back the data you have requested. Unfortunatly you haven't received it ( it's the meaning of ENETDOWN error when you use sigfox).

    You can try to check your antenna, check sigfox coverage map, keep in mind that you have only 4 downlink allowed by day (after these limitations sigfox operator do what they wan't, in france base station do 'best effort' algo to send downlink packet), try to be outside of building rather than inside (at least the antenna).

    In RZ1 uplink is done by DBPSK at 100bit/s and have great chance to be received BUT downlink is done at 600bit/s in FSK (in another frequency band where sigfox can use more TX power).
    Due to system assymetry (even if sigfox guy have different speech) i have always feel that if you can be heard by sigfox backend that doesn't mean you can heard what sigfox sended you.
    (I have talked with several sigfox people and it seem they're mantra was, if we RX your device it will recive our TX due to power used in our TX)


Log in to reply
 

Pycom on Twitter