• Lorawan speed up

    lorawan
    5
    0 Votes
    5 Posts
    467 Views
    bmarkusB
    @robert-hh said in Lorawan speed up: If two nodes send at the same time, one or even both tansmissions are lost. It's like two people talking to you at the same time. It is not true. If the two nodes are using different Data Rate (GW) gateway will recive them expecting a real GW with an SX1301 or SX1308 chip. More precisely, SX1301/SX1308 can receive signal on 8 channels paralel, 6 per channels with different DR. in EU868/433 it means max. 48 uplinks at the same time.
  • Some confusion on the Pin_out layout.

    lopy4 pinouts pinout firmware
    4
    0 Votes
    4 Posts
    525 Views
    M
    See also my post here https://forum.pycom.io/topic/4130/pinout-pysense-etc
  • Power on without reset

    lopy4 expansion board reset reset button reed switch
    11
    0 Votes
    11 Posts
    1k Views
    J
    @paloma https://forum.pycom.io/topic/3834/lopy4-will-not-boot-via-battery-power-on-expansion-board/3 https://forum.pycom.io/topic/3436/expansion-board-3-0-battery-power-not-enough-juice/13 https://github.com/pycom/pycom-micropython-sigfox/issues/167 It seems connecting P8 to 3V3 solves the issue (or an issue which is similar to yours, at least). Don't ask me why.
  • 0 Votes
    5 Posts
    1k Views
    T
    The argument related issues are related to an issue with using a native class as a base class. See here: https://github.com/micropython/micropython/issues/3323 This doesn't work in Pycom's MicroPython release 1.18 (current stable) but the fix from the above linked issue has been incorporated into the development release 1.20 (currently at rc4). Additionally, the Pycom MicroPython flavor has a different I2C API than the official MicroPython, lacking the I2C methods start(), stop() and write(). There you need to apply the changes outlined in this old thread as well: https://forum.pycom.io/topic/1366/wipy-ssd1306-only-noise/6 Specifically, you'll need to replace the write_data() method with: def write_data(self, buf): self.i2c.writeto(self.addr, bytearray([0x40]) + buf) (I see that you've already discussed the issue with Pycom's MicroPython flavor using framebuf.MVLSB where as the constant is named framebuf.MONO_VLSB in the official MicroPython). The SSD1306 driver in Pycom's MicroPython flavor has never worked and is still using non-existant APIs and constants even in the release-candidate tree: https://github.com/pycom/pycom-micropython-sigfox/blob/release-candidate/drivers/display/ssd1306.py If you get noisy display you might have an SH1106 display. I'm using the below piece of code successfully with random eBay 0.96" and 1.3" I2C OLED displays. It's been a few years since I looked into this but IIRC the SH1106 module's internal memory layout is for 132 pixel strides but the screen only supports 128. So the noise in the form of random black pixels come from the fact that those extra two pixels on the left and on the right side are not accounted for (the display is centered somehow). from ssd1306 import SSD1306 class SH1106_I2C(SSD1306): def __init__(self, width, height, i2c, addr=0x3c, external_vcc=False): self.i2c = i2c self.addr = addr self.temp = bytearray(2) super().__init__(width, height, external_vcc) # Parent does show() but is using the SSD1306 implementation.. self.show() def write_cmd(self, cmd): self.temp[0] = 0x80 # Co=1, D/C#=0 self.temp[1] = cmd self.i2c.writeto(self.addr, self.temp) def write_data(self, buf): self.i2c.writeto(self.addr, bytearray([0x40]) + buf) def poweron(self): pass def show(self): for page in range(8): self.write_cmd(0xb0 | page) self.write_cmd(0x02) # Start addr low column self.write_cmd(0x10) # Start addr high column mv = memoryview(self.buffer) self.write_data(mv[128*page: 128 + 128*page]) from sh1106 import SH1106_I2C i2c = I2C(0, I2C.MASTER, baudrate=400000) d = SH1106_I2C(128, 64, i2c) d.text('ping', 1, 2) d.show()
  • Connect a pytrack and a pysense to a single Lopy4.

    lopy4 pysense pytrack
    1
    0 Votes
    1 Posts
    247 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    14 Views
    No one has replied
  • LoRa.region doesn't accept any attribute

    lora loramac lopy4
    7
    0 Votes
    7 Posts
    2k Views
    E
    @researcher Nice chart, what hardware do you use on the GNURadio Side ? Software libraries ?
  • Communication Cable for custom L01 Circuit

    lopy
    5
    0 Votes
    5 Posts
    421 Views
    O
    @robert-hh Thanks Robert 👍🏼
  • Touch pin functionality

    lopy touch
    9
    4 Votes
    9 Posts
    3k Views
    T
    Bump. Second vote for importing what's already in the mainline tree: https://github.com/micropython/micropython/blob/v1.9.4/ports/esp32/machine_touchpad.c (it must be quite a lot of work for Pycom to maintain their own fork of MicroPython.. not to mention how the MicroPython world is starting to get a bit fragmented with all the forks now)
  • Send Text File from Webserver to Lopy?

    lopy fipy wipy http https
    2
    0 Votes
    2 Posts
    353 Views
    C
    @wolli01 Depends on a lot of circumstances. Use WiFi and simply upload the file using FTP. LoRa will need more code and tiny files.
  • Lopy4 Lorawan nanogateway OTA method

    lopy4 nano gateway
    2
    1
    0 Votes
    2 Posts
    320 Views
    robert-hhR
    @shiva-shankar Do you see uplink messages from your node? Downlink messages, if any, follow uplink messages from the node.
  • lopy to raspberry pi 3 serial connection

    raspberry pi lopy serial urgent
    28
    0 Votes
    28 Posts
    8k Views
    robert-hhR
    @testos As long as you do not use SPI this does not matter. And the SPI pins can be reassigned too. And P11 (External IO 8) seems not to be connected on pytrack. Using I diode tester, I cannot detect any connection. At P10 (external IO 7) seems to be used. At least is show something like a ESD diode behavior of an active chip pin.
  • Decompression Library

    decompression gpy zip
    3
    0 Votes
    3 Posts
    538 Views
    K
    @dan Is there an alternative for tarfile.open() on pycom modules? import uzlib Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: no module named 'uzlib'
  • Issue publishing via mqtt

    mqtt
    2
    0 Votes
    2 Posts
    821 Views
    S
    You have to set a callback to the subscribe, in easier words, the subscribe function need to know what to do with the msg it will get back from the server. so you have to write a callback function before start using the subscribe function. The correct code for subscribing should be like that: from time import sleep from umqtt.simple import MQTTClient CLIENT_ID = 'Board_Name' #name your board any name you want SERVER = 'm13.cloudmqtt.com' #info from servce provider Port=14250 #info from servce provider User='kaeugs' #info from servce provider Password='Euif_Ehf674qi' #info from servce provider def sub_cb(topic, msg): #the action you want to happen, when you receive a msg print((topic, msg)) client = MQTTClient(CLIENT_ID, SERVER, Port, User, Password) client.connect() # Connect to MQTT broker while True: client.set_callback(sub_cb) #callback function client.subscribe(b'Proportional') #b'Proportional is just a topic sleep(2) following this code, you should be able to subscribe to a topic and print the msg in the python console. A very helpful examples could be found here, take care these examples is for Micropython on esp8266, but the main idea is the same https://github.com/micropython/micropython-lib/blob/mqtt/umqtt.simple/example_pubsub.py https://github.com/micropython/micropython-lib/blob/mqtt/umqtt.simple/example_sub.py https://github.com/micropython/micropython-lib/blob/mqtt/umqtt.simple/example_sub_led.py
  • 0 Votes
    5 Posts
    701 Views
    I
    @robert-hh Thanks Robert! Its working now
  • Copy Files to Flash

    wipy 3.0 lopy4 fipy copy file
    12
    0 Votes
    12 Posts
    1k Views
    W
    @robert-hh Top
  • AWS iot socket create error: -8567

    aws iot lopy
    12
    0 Votes
    12 Posts
    3k Views
    C
    Hello, I bumped on this very same issue when executing the below (partial) code. The socket create error -8576 showed up upon every attempt of executing the loop: while not pycomAwsMQTTClient.connect(): print("Waiting for AWS...") time.sleep(10) print('AWS connection succeeded!') Have found that the problem was on the root CA certificate. Just to recap, AWS "setup.py" file expects to work with three certificates as follows: AWS_ROOT_CA = "/flash/cert/root-CA.crt" AWS_CLIENT_CERT = "/flash/cert/thing.cert.pem" AWS_PRIVATE_KEY = "/flash/cert/thing.private.key" For some reason the root certificate was not created correctly upon instructions from AWS tutorials. To fix that, run the below command line on a Linux Terminal to download it again: curl https://www.amazontrust.com/repository/AmazonRootCA1.pem > root-CA.crt By doing so, my issue was fixed.
  • LoPy4 fails to connect to AWS with MQTT

    aws mqtt
    2
    0 Votes
    2 Posts
    421 Views
    C
    Hello again, Have found that the entire code is correct and works perfectly. Issue was at configuration AWS Thing, Policy, Certificate side. The tutorial followed to fix the problem is this: https://docs.aws.amazon.com/iot/latest/developerguide/iot-gs.html
  • First contact with LoRa... No success

    lora gateway
    8
    0 Votes
    8 Posts
    794 Views
    P
    @thosch42 Thanks for the progress update. Glad you managed to get it to work. Just to note. "Empty" messages are intentional. calls to recv are blocking and will eventually timeout returning an empty message if no data has been read during that period.
  • Sporadic Guru Meditation Errors on L01

    l01 guru meditation
    10
    0 Votes
    10 Posts
    890 Views
    T
    @danielm Not yet, but I will do it during this week.

Pycom on Twitter