FiPy + PyTrack & LiPo no GPS coordinates
-
Hello,
I have doing some testing with the PyTrack + Fipy and have some problems :
-
When the board Pytrack start by USB, there are no probleme. I join LoRaWAN network and send data with correct positions.
-
When th board Pytrack start by LiPo battery (2500 mAh 3.7V ). My device join LoRaWAN network but not send data correctly because I have empty coordinate in LoRaWAN message.
I suspect the GPS, it dosen't work correctly when is connected by LiPo and return always "None" value.
My code is similar to your exemple from github for the GPS.
I can try with Lopy for test, but have you an idea while it's doesn't work with Fipy ?
Thanks in advance.
-
-
@robert-hh Thanks for your reply, you have true. I searched components during the starting.
And I comment this lines codes :
#wlan = WLAN() #wlan.deinit() #bt = Bluetooth() #bt.deinit() #serveur_ftp = Server() #serveur_ftp.deinit()
I don't test with each line only, but now it's working. I have fix coordinate when the Fipy powered by Lipo.
-
@radec FiPy has some strong current peaks, so Vcc may drop to a brownout level, where some component start malfunctioning, like the GPS receiver or some parts of the ESP32, and other parts continue to work.
-
@jcaron Yes, I checked, I wait normally 30-60 seconds to get a fix after starting.
But I don't understand why in same place with the same hardware (Fipy + Pytrack) and same code I get fix coordinate with powered by USB (on my laptop) and never when it is powered by Lipo.And with Lopy4 + Pytrack same place, same code : with Lipo or USB powered, it's work.
(I will test again with an other method and code (write the data on SD) and check if I have coordinates with Fipy and Pytrack powered by Lipo. )
-
@radec the GPS chip may take a lot longer than 20 seconds to get a fix after starting up, depending on circumstances. You should check the output and wait until a position is actually available.
-
@crumble Thank you for your reply. I do a pause about 20 sec before to get position from GPS (stratup Pytrack, Join LoRaWAN, ...).
But I try with Lopy4 with Lipo and it's work ! I have GPS coordinate after 2 minutes. It's the same code for Fipy and Lopy .
And for Fipy, but it's doesn't work only with Lipo.
When it's start by USB, it get positions.Edit:
After researchs, I found a old topic with the same problem @COMBAINDEFT @PYMIOM :
https://forum.pycom.io/topic/2673/cannot-open-com-port-for-fipy-and-pytrack/14
https://forum.pycom.io/topic/1914/pytrack-lora-lipo
I confirm I have the last firmware available for Pytrack (pytrack_0.0.8.dfu) and FiPy.
-
I can try with Lopy for test, but have you an idea while it's doesn't work with Fipy ?
LoPy will double your problems. LoPy has only a small amount of RAM and the example creates a lot of objects on the heap. So you have to deal with fragmentation.
Check your startup code. My pytrack needs up to 5 sec to be ready. You may be too fast without debug prints.
Check for multiple I2C usage. There must be a bug with multithreading. I get faulty data when using the GPS in a thread. Without filtering the bad data, your code may fail.
@robert-hh mentioned to deinit other device before using the actual one. I tried too solve it with locks, but failed. @paul-thornton from pycom looks right now on my code. If you run into the same problem there will be a workaround in a few days ;)