• Core panics during sqnsupgrade as well as generally

    2
    0 Votes
    2 Posts
    50 Views
    M
    I wanted to post a second core panic with 1.20.2r1 from running the application, where it panics once and then panics again on reset without seeming to get into the application at all. This pattern occurs somewhat often. But it's being flagged as spam and I can't attach the text either.
  • LTE-M - External Cellular Antenna

    2
    0 Votes
    2 Posts
    47 Views
    robert-hhR
    @cromagnon The usual way would be using a short pigtail with U-FL at one side and a SMA or BNC connector at the other, which can be assembled in a mechanically robust way to a case. And then connect the cable of your choice to that SMA/BNC connector. Obviously you should use a low loss cable.
  • GPy LTE with Sprint

    1
    0 Votes
    1 Posts
    35 Views
    No one has replied
  • This topic is deleted!

    2
    0 Votes
    2 Posts
    24 Views
  • Firmware Request

    1
    0 Votes
    1 Posts
    39 Views
    No one has replied
  • ADC voltage reference

    3
    0 Votes
    3 Posts
    52 Views
    L
    @robert-hh thank you so much for your quickly answer.
  • GPy LTE and WiFi - How to determine priority

    2
    0 Votes
    2 Posts
    77 Views
    P
    As mentioned in the other thread https://forum.pycom.io/topic/6204/fipy-how-to-send-data-via-simultaneous-connected-with-both-wi-fi-and-lte-nb-iot-cat-m/2 there is no great support to be simultaneously connected to both. If your use case is about resilience/fallback then you could detect the loss of connectivity and when needed tear down the primary connection and init the fallback connection
  • T-Mobile NB-IoT in the Netherlands? [SOLVED]

    t-mobile netherlands nb-iot gpy
    22
    0 Votes
    22 Posts
    1k Views
    P
    @nadvorvo said in T-Mobile NB-IoT in the Netherlands? [SOLVED]: Could you comment, please [AT] 939910, [AT-OK] +9509 I do not know meaning. [AT] 939910 means an AT command was submitted at timestamp 939910 [AT-OK] +9509 means an OK response was received after elapsed time 9509 both values are in milliseconds
  • cat m1 overheads

    7
    0 Votes
    7 Posts
    89 Views
    G
    Hi, Thanks for the reminder Here, we use this to test the LTE connection main.py: (The LTE callback does not work in 100% of the cases) from network import LTE import time from http_get import http_get import sys import machine def cb_handler(arg): print("CB: LTE Coverage lost") s = 120 # wait a while just to confirm that this wasn't a false positive and we truely lost connection print("CB: sleep", s) time.sleep(s) print("CB: deinit") lte.deinit() print("CB: reset") machine.reset() # print("arg", type(arg)) # print("arg", arg) # sys.exit() print("init") lte = LTE() lte.lte_callback(LTE.EVENT_COVERAGE_LOSS, cb_handler) print("attaching..",end='') lte.attach(band=20, apn='simpoint.m2m') for t in range(30): if lte.isattached(): break time.sleep(1) print(".",end='') if lte.isattached(): print("attached") else: print("Could not attach ... resetting") machine.reset() lte.connect() print("connecting [##", end='') while not lte.isconnected(): time.sleep(1) print("#",end='') print("] connected") for i in range(20): print("[ {} ]".format(time.ticks_ms()),end=' ') print(http_get()) s = 2 ** i print(i, s, s/60, s/3600) time.sleep(s) print("[ {} ]".format(time.ticks_ms()), " done") With http_get() (and note that this is http only): import socket import time def_url = 'http://detectportal.firefox.com/' def http_get(url = def_url): time_start = time.time() dur_send = 0 dur_recv = 0 dur_total = 0 bps_send = 0 bps_recv = 0 len_recv = 0 cnt_recv = 0 success = False try: print("http_get(", url, ")") _, _, host, path = url.split('/', 3) print('getaddrinfo') ip_port = socket.getaddrinfo(host, 80)[0][-1] print(ip_port) print('socket') s = socket.socket() print('connect') s.connect(ip_port) request = bytes('GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n' % (path, host), 'utf8') time_send = time.time() print('send request') s.send(request) dur_send = time.time() - time_send if dur_send: bps_send = len(request) / dur_send print('recv response') time_recv = time.time() s.settimeout(60) while True: data = s.recv(100) if data: cnt_recv += 1 len_recv += len(data) dur_recv = time.time() - time_recv if dur_recv: bps_recv = len_recv / dur_recv if cnt_recv % 1000 == 0: print("received[", time.time(), "]:", len_recv, bps_recv) success = True # print(str(data, 'utf8'), end='') pass else: break print("recv: done") print("close") s.close() except Exception as e: print("http_get failed:", e) dur_total = time.time() - time_start return (success, dur_send, dur_recv, dur_total, len_recv, bps_send, bps_recv) # def http_gets(url = def_url, count=1): # for c in range(0, count): # try: # http_get(url) # print("success[", c, "]") # # break # except Exception as e: # print("failure[", c, "]:", e) def http_gets(url = def_url, count=1): for c in range(0, count): print(c, http_get(url)) if __name__ == "__main__": # http_get() # http_get('http://micropython.org/ks/test.html') http_gets('http://detectportal.firefox.com/') # https_gets('http://pycom.io') # http_get('http://ftp.snt.utwente.nl/pub/docs/rfc/rfc1498.json') # 1000 B # http_get.http_gets('http://ftp.snt.utwente.nl/pub/docs/rfc/rfc1535.html') # 10 KiB # http_get('http://ftp.snt.utwente.nl/pub/docs/rfc/rfc753.html') # 100 KiB # http_get('http://ftp.snt.utwente.nl/pub/test/1M') # 977 KiB # http_get('http://ftp.snt.utwente.nl/pub/test/100M') # http_get.http_gets('http://ftp.snt.utwente.nl/pub/test/10M') Atm I have no simcard on hand to properly test it, but I made no changes since last time I used it Gijs
  • Best I2C accelerometer for GPy

    1
    0 Votes
    1 Posts
    26 Views
    No one has replied
  • OSError: [Errno -29312] MBEDTLS_ERR_SSL_CONN_EOF

    2
    0 Votes
    2 Posts
    59 Views
    J
    @kjm that error normally means that the remote server shut down the connection. Are all your calls to the same server? Do you get the same result if you do the calls independently or reorder them? What do curl or openssl s_client say when performing the same request(s)? Make sure you log the actual request being sent (full URL including protocol, host, port, path, query, as well as method, headers, body sent if relevant...) and double check that it all matches what you expect. If you can, it would be interesting to capture the relevant traffic (on the server or an intermediate router) to see what exactly is sent by the server.
  • what server does urequests use for dns lookups?

    6
    0 Votes
    6 Posts
    155 Views
    K
    @jcaron Yeah it was a 4G issue, Telstra lte was really slow on dns lookups for about 24hrs but the nbn wifi was fine. So looks like the details returned from socket.dnsserver() are the servers provided by the network you're on. I'll try Gijs idea of forcing it to use a particular server. God knows how long I'll have to wait for the great slowdown to happen again so I can see if it's dns server related or not. The subsequent upload to my server wasn't slow just the dns lookups. I get the feeling I'm in over my head with this stuff. The rtc syning prior to the dns lookup was slower than normal too so some sort of weird network delay that impacted time & dns servers but not my server.
  • PyGate with Gpy India Frequencies

    pygate gpy india
    2
    0 Votes
    2 Posts
    30 Views
    G
    @sarya said in PyGate with Gpy India Frequencies: m based out of India and was wondering which configuration to use to set up a gateway using this setup. If anyone can share a snippet it would be great as I don't want to brick the devices. Thanks Hi, I will have this information available in the documentation very soon. In the meantime, you can use this: You can find the config file for your region here Make a file called config.json in your project and paste the appropriate region settings to that file Add the following to the bottom of the config.json file:... } ], "gateway_ID": "XXXXXXXXXXXXXXXX", "keepalive_interval": 10, "stat_interval": 30, "push_timeout_ms": 100, "forward_crc_valid": true, "forward_crc_error": false, "forward_crc_disabled": false } } Edit the gateway_ID to reflect yours.
  • Why smart provisioning in the first place?

    1
    0 Votes
    1 Posts
    54 Views
    No one has replied
  • lte.send_at_cmd delay Error

    3
    0 Votes
    3 Posts
    80 Views
    M
    @Xykon I am using a Hologram SIM with a GPy and am attempting to follow their instructions here: https://support.hologram.io/hc/en-us/articles/360035697393-Modem-SIM-annotated-diagnostic-test specifically the last instruction to run AT+COPS=? to get information on networks in reach. Their document specifically says this command could take up to 3 minutes to execute, but when I run it via the LTE module it comes back in approximately 10 seconds with no response. I am assuming this is a timeout, but I can't say for sure without any response from the module. I was trying to use the delay parameter to increase the timeout for this use case. As a side note: the documentation has not been updated yet, and still advertises the delay parameter. Thanks, Mike
  • GPy LTE module questions

    2
    0 Votes
    2 Posts
    62 Views
    K
    the at cmd time delay has gone the way of the dodo https://forum.pycom.io/topic/6041/lte-send_at_cmd-delay-error?_=1600323999173 almost certainly cops cmds return errors if the modem is not attached if your hologram sim is a multi-carrier sim it should connect to the strongest carrier, if it's a single carrier sim it it will only ever use that carrier
  • Visual Studio V1.49.0 Breaks Pymakr V1.1.6

    8
    2 Votes
    8 Posts
    137 Views
    T
    @ahmadelmasri Thanks, that fixed it!
  • Global sims?

    6
    0 Votes
    6 Posts
    69 Views
    J
    @kjm 8 KB every 10 minutes is still less than 40 MB per month, much less than the gigabytes you mentioned earlier. Unless you were talking about aggregate volumes across many SIMs?
  • How to operate PyGate+Gpy over IPv6 Only Networks?

    3
    0 Votes
    3 Posts
    52 Views
    A
    @nftylitak the only reason we need to work with NB-IoT and IPv6 is that we like the PyGate concept and implementation but our final product-gateway must be connected to the Internet via a cell network. The problem is that PyCom does not offer any product that provides 2G or 3G or even 4G connectivity. So, now we are forced to use Gpy and thus NB-IoT connectivity (as our local operator supports NB-IoT and IPv6 only). Also, your suggestion regarding the use of external devices wouldn't work because our main purpose is to make some thousand units so we have to keep in mind the budget of the project ;) Thank you again for your time and congratulations for your great job with the microATsocket code!
  • wlan.Smartconfig()

    11
    0 Votes
    11 Posts
    175 Views
    K
    @kjm The timeout handler fires when the smartConfig timesout but the done handler doesn't fire when smartConfig works. I can't see what I'm doing wrong? from network import WLAN def timeout(con): print(con, 'timed out') def done(con): print('done', end=' ') if con.isconnected(): print(con.ifconfig()) wlan = WLAN(mode=WLAN.STA, antenna=WLAN.INT_ANT) wlan.callback(trigger=WLAN.SMART_CONF_DONE, handler=done) wlan.callback(trigger=WLAN.SMART_CONF_TIMEOUT, handler=timeout) print('try smartConfig'); wlan.smartConfig()

Pycom on Twitter