• Waiting for Downlinks

    lopy downlink lorawan
    1
    0 Votes
    1 Posts
    751 Views
    No one has replied
  • LoPy Active Mode current is 100mA as opposed to spec

    power saving current
    1
    0 Votes
    1 Posts
    834 Views
    No one has replied
  • LoPy max current draw

    lopy current lopy max current
    2
    0 Votes
    2 Posts
    1k Views
    I
    I found sipy very power hungry when starting around 460 mA if i put my Fluke to measure amps on the 400ma Fuse the sipy will not start...
  • PySense Breakout Board

    lopy pysense breakout expansion breadboard
    2
    0 Votes
    2 Posts
    946 Views
    G
    Have just got a lopy and a pytrack myself and fully agree that this would be an instant buy for me, though covering the gps antenna would probably be a bad thing.
  • [Solved] LoPy max. transmit power 20 dBm at 869 MHz?

    lopy power limit 14 dbm 27 dbm
    5
    0 Votes
    5 Posts
    4k Views
    P
    @jmarcelino I solved it. I have used an old firmware version on my gateway. I guess I missed this one module when updating all others. After updating I can set the TX power up to 20 dBm without getting any errors. Thanks for your help! Kind regards Pascal
  • 0 Votes
    4 Posts
    1k Views
    B
    @jmarcelino Yep, you're right. Know it works perfectly. I did not now that a new version was released! =). Thank you very much!
  • Adafruit: no data displayed in Feed Panel

    adafruit mqtt lopy
    2
    0 Votes
    2 Posts
    907 Views
    B
    Hi @YazIdo, Could you please share your code so I can see what the issue might be? Thanks, Alex
  • 0 Votes
    15 Posts
    5k Views
    B
    I know this is an old post, but I have similar issues and after some debugging this is what I found: The nanogateway gets the join request from the node using OTAA and it forwards it to TTN. TTN sees the join requests and replies back to the gateway: [image: 1502281017569-upload-048f98c6-4102-4923-a308-a7e4133b21d8.png] Adding some debugging I can display the data received from TTN and sent to the node using the _send_down_link function: def _send_down_link(self, data, tmst, datarate, frequency): self.lora.init(mode=LoRa.LORA, frequency=frequency, bandwidth=LoRa.BW_125KHZ, sf=self._dr_to_sf(datarate), preamble=8, coding_rate=LoRa.CODING_4_5, tx_iq=True) while time.ticks_us() < tmst: pass print(binascii.hexlify(data).upper()) self.lora_sock.send(data) Decoding the returned data shows that TTN is accepting the node to join: https://lorawan-packet-decoder-0ta6puiniaut.runkit.sh/?data=20B6330995FA5AD1601C019F596C711FE11FF096E1C4915F94F183BEA903746F23 Assuming hex-encoded packet 20B6330995FA5AD1601C019F596C711FE11FF096E1C4915F94F183BEA903746F23 Message Type = Join Accept AppNonce = 0933B6 NetID = 5AFA95 DevAddr = 011C60D1 MIC = 03746F23 However, the node keeps trying and is unable to join or takes several attempts until it is successful. I hope this helps solving this issue...
  • lopy to lopy remote switch

    lopy remote switch
    1
    0 Votes
    1 Posts
    557 Views
    No one has replied
  • LoPy Stack and Heap Memory

    lopy stack
    4
    0 Votes
    4 Posts
    1k Views
    S
    @robert-hh Thank you Robert! That's exactly what I was looking for.
  • This topic is deleted!

    2
    0 Votes
    2 Posts
    3 Views
  • [SOLVED] macOS Sierra Serial Port problem

    lopy macos
    6
    0 Votes
    6 Posts
    3k Views
    R
    @jmarcelino thank you. yes i changed the data cable now and it works.
  • 0 Votes
    6 Posts
    2k Views
    lollisoftL
    @jmarcelino Securing keys on a device is always hard, or, not possible. If the program can decrypt the keys for use, then the decryption keys are known and thus the keys it self :-) And I think, every device get's it's own keys, thus if one is tampered with, all others may not be. What do you mean with framecounters? The tcp/ip frames? And MIC attacks? Sorry, I am dumb :-)
  • DeepSleep and SHT31-D alarm

    lopy sht31-d alrm deepsleep
    7
    1 Votes
    7 Posts
    2k Views
    M
    @maamar sh31 lib from machine import I2C import time R_HIGH = const(1) R_MEDIUM = const(2) R_LOW = const(3) class SHT31(object): """ This class implements an interface to the SHT31 temprature and humidity sensor from Sensirion. """ # This static map helps keeping the heap and program logic cleaner _map_cs_r = { True: { R_HIGH : b'\x2c\x06', R_MEDIUM : b'\x2c\x0d', R_LOW: b'\x2c\x10' }, False: { R_HIGH : b'\x24\x00', R_MEDIUM : b'\x24\x0b', R_LOW: b'\x24\x16' } } def __init__(self, i2c, addr=0x44): """ Initialize a sensor object on the given I2C bus and accessed by the given address. """ if i2c == None or i2c.__class__ != I2C: raise ValueError('I2C object needed as argument!') self._i2c = i2c self._addr = addr def _send(self, buf): """ Sends the given buffer object over I2C to the sensor. """ self._i2c.writeto(self._addr, buf) def _recv(self, count): """ Read bytes from the sensor using I2C. The byte count can be specified as an argument. Returns a bytearray for the result. """ return self._i2c.readfrom(self._addr, count) def _raw_temp_humi(self, r=R_HIGH, cs=True): """ Read the raw temperature and humidity from the sensor and skips CRC checking. Returns a tuple for both values in that order. """ if r not in (R_HIGH, R_MEDIUM, R_LOW): raise ValueError('Wrong repeatabillity value given!') self._send(self._map_cs_r[cs][r]) time.sleep_ms(50) raw = self._recv(6) return (raw[0] << 8) + raw[1], (raw[3] << 8) + raw[4] def get_temp_humi(self, resolution=R_HIGH, clock_stretch=True, celsius=True): """ Read the temperature in degree celsius or fahrenheit and relative humidity. Resolution and clock stretching can be specified. Returns a tuple for both values in that order. """ t, h = self._raw_temp_humi(resolution, clock_stretch) if celsius: temp = -45 + (175 * (t / 65535)) else: temp = -49 + (315 * (t / 65535)) return temp, 100 * (h / 65535)
  • How to accomplish lora.nvram_restore() ?

    lopy nvram
    4
    0 Votes
    4 Posts
    1k Views
    J
    Yes, thank you. I know I only need save/restore for deepsleep. But was testing it without deepsleep. Shouldn't it still work? Still looking for any posted example of use of save / restore. Yes, splitting code irrelevant if deepsleep.
  • LO1 reference design and SPI

    lo1 spi pinout ext. antenna antenna
    3
    0 Votes
    3 Posts
    1k Views
    T
    @jmarcelino D'oh! You'r right. It's a ESP32. After 20 years with Atmels and PICs, my mind falls back into this world... Cheers, Thomas
  • How to implement downlink messages

    lopy lorawan downlink api
    16
    0 Votes
    16 Posts
    6k Views
    D
    @jmarcelino wow, thanks a lot for that find. explains the headaches I've been having :)
  • Lowest achievable current consumption

    current profile oem py
    1
    0 Votes
    1 Posts
    784 Views
    No one has replied
  • 0 Votes
    9 Posts
    3k Views
    H
    Ok..it works again using /dev/cu.usbmodemP* device. That confused me...usually its always a tty. Thanks a lot!!
  • 0 Votes
    3 Posts
    1k Views
    robert-hhR
    @Colateral Before föashing your own image, you have to erase flash completely. So with the Pycom IDF, issue: make erase make flash You have to reset the device again between the two commands. I noted that already as an issue, but is is not fixed yet.

Pycom on Twitter