I swore I had RTC ntp_sync() working on my Lopy and now I can't get it working at all?



  • Hi. I was writing a pair of Lora test apps to NTP sync the clock from one to the other, where ntp_sync() was used to setup the RTC. I swore I had this bit working yesterday and now I can't get anything working over

    import machine
    from machine import RTC
    from machine import UART
    from network import WLAN
    from network import LoRa
    
    import os
    import time
    import socket
    import pycom
    
    uart = UART(0, 115200)
    os.dupterm(uart)
    
    pycom.heartbeat(False)
    
    wlan = WLAN()
    if machine.reset_cause() != machine.SOFT_RESET:
        wlan.init(mode=WLAN.STA)
        wlan.ifconfig(config=('192.168.2.230', '255.255.255.0', '192.168.2.1', '192.168.2.3'))
    if not wlan.isconnected():
        wlan.connect(ssid='SSID', auth=(WLAN.WPA2, 'password'))
        while not wlan.isconnected():
            machine.idle() # save power while waiting
    print(wlan.ifconfig())
    
    print("Syncing RTC to NTP...")
    rtc = RTC()
    rtc.ntp_sync("pool.ntp.org", update_period=3600)
    while not rtc.synced():
        pass # save power while waiting
    print(rtc.now())
    

    Basically the ntp_sync() call and subsequent while loop just sits there while nothing syncs. I'm tempted to try and setup a wireshark sniffer on my router to watch what the Lopy is trying to do over the Wifi network.

    Any ideas? Thanks!



  • @paul-thornton I replied on another thread that I think you responded to that I have this issue with 1.20.0.rc0. I reverted back to my unmodified build of 1.19.0.b4 and the problem disappeared. I found that after machine.reset() the clock still would not sync reliably (or at all) and even sometimes after a hard reset by hitting the reset button.


  • Global Moderator

    @protean Can you confirm your on the latest firmware?



  • @protean
    Have you tried to use a IP adress instead of the URL? Just for testing...



  • Did you ever solve this? I'm still having this issue, today, on a FiPy.



  • Ah... I think my machine.SOFT_RESET might have had something to do with it. When I hit the reset button on the unit it reloaded and reconnected to my wifi correctly I believe, because I started ntp_sync()ing correctly. Thanks.


 

Pycom on Twitter