MuratovAS / gps-ntp-eth-esp32

Simple NTP server with GPS satellites synchronization.
Apache License 2.0
16 stars 4 forks source link

GPS module Question #1

Open aGGreSSiv opened 10 months ago

aGGreSSiv commented 10 months ago

Hello, Can I use ublox NEO-M6 or ublox NEO-M7? I probably will, but can I use it with the same library without changing the code?

MuratovAS commented 10 months ago

I think you can use any module from the Ublox family. Their protocol is identical.

aGGreSSiv commented 10 months ago

I'm having trouble finding m8. I will try with 7. Thank you for the quick reply.

aGGreSSiv commented 10 months ago

Hello again, maybe you won't remember since it's been a while, but I still want to ask. I cannot try it because the FTDI adapter I purchased has not arrived yet. I think it should have a static IP if it works fine. I added the following lines for definition;

IPAddress myIP(192, 168, 1, 2);
IPAddress myGW(192, 168, 1, 1);
IPAddress mySN(255, 255, 255, 0);
IPAddress myDNS(8, 8, 8, 8);

Finally, cancel this line in the Setup section and;

ip = ETH.localIP().toString();

I replaced it with this line. Would it be a problem?

  ETH.config(myIP, myGW, mySN, myDNS);

When the Arudino IDE checks it, it does not find any errors, but since I do not have enough software knowledge to interpret the rest of the code, I have no idea if there might be something preventing it from working.

MuratovAS commented 10 months ago

This simply remembers the line, then it is displayed on the screen. She does not appoint IP.

ip = ETH.localIP().toString(); 
....
tft.println(ip);

you're right. Add the line with ETH.config after ETH.begin. This should work.

ETH.config(myIP, myGW, mySN, myDNS);

P.S. I really remember with difficulty )))

aGGreSSiv commented 10 months ago

I can guess, it's been a long time.

But it's a very nice project. If there is no problem in its operation, I will use it at work. for time synchronization of cameras.

Thank you for your quick reply and support.

aGGreSSiv commented 9 months ago

Of course, just like every Arduino/ESP32 project you want to do; Nothing goes as I imagined in this project either :)

At first I noticed that there was no SCLK pin on my display. I said no problem, if it doesn't work I'll use another screen.

I plugged in the Ethernet cable, the LEDs indicating the connection status were blinking. No matter what I did, I couldn't get it to work.

Then I found these sample codes. No matter which one I installed, they all worked. I looked into the source codes and the pin definitions are the same. I'm about to go crazy. Did you encounter anything like this while doing your project? Are specific library versions required?

aGGreSSiv commented 9 months ago

Hımm If I just make it like this,

#include <ETH.h>
#define ETH_ADDR 1
#define ETH_POWER_PIN 16              // -1             // ??? Do not use it, it can cause conflict during the software reset.
#define ETH_POWER_PIN_ALTERNATIVE 17  // 17    // ???
#define ETH_MDC_PIN 23
#define ETH_MDIO_PIN 18
#define ETH_TYPE ETH_PHY_LAN8720
//#define ETH_CLK_MODE    ETH_CLOCK_GPIO17_OUT // ETH_CLOCK_GPIO0_IN // ???

// Select the IP address according to your local network
IPAddress myIP(192, 168, 1, 9);
IPAddress myGW(192, 168, 1, 1);
IPAddress mySN(255, 255, 255, 0);
IPAddress myDNS(8, 8, 8, 8);

void setup() {
  // put your setup code here, to run once:
  pinMode(ETH_POWER_PIN_ALTERNATIVE, OUTPUT);
  digitalWrite(ETH_POWER_PIN_ALTERNATIVE, HIGH);
  ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE);  // Enable ETH
  ETH.config(myIP, myGW, mySN, myDNS);

  Serial.print("ETH IP:");
  Serial.println(ETH.localIP());
}

void loop() {
  // put your main code here, to run repeatedly:
}

there is no problem. So, something in the rest of the code is causing the connection to break and the ethernet part to turn off and on.

aGGreSSiv commented 9 months ago

The source of the problem was the lines related to the screen. When I removed them I noticed that the ethernet link was working. I removed the library and added it again. Then I made the settings in the library as you added it to your project. It is working now. As for the GPS part, I tried it with 7 and it could not find any satellites. Now I'm trying with 8. I guess it should respond to me when I try it from my computer on the network, whether it finds a satellite or not? It is not responding at all right now. When I look at the open ports on the NTP server IP with a program installed on my computer, I do not see any open ports. This is the next problem :)

MuratovAS commented 9 months ago

I advice:

aGGreSSiv commented 9 months ago

Yes, there is a program called u-center. :) When I checked, I saw that the boudrate was 9600. I changed it to 115200. But it didn't happen again. In the photo I shared, on the screen where we select the connection speed, I think we choose which format we want to output. I'm not sure what format your code can read. I tried 4-5 different combinations but it didn't work.

image

last setting i saved image

MuratovAS commented 9 months ago

Have you enabled pps in ublox? I remember that I changed the uart speed and turned on pps. I didn't change any other settings.

P.S. I agree, my oversight is that I didn't document the settings properly.

aGGreSSiv commented 9 months ago

I assume that PPS is already on because when the GPS finds a satellite and starts flashing the LED on it, the PPS error warning on the screen disappears. I will continue to try protocol in/out. :). I also have a Raspberry Pi3, but achieving this with it will not give much pleasure.

PS: Yes, the documentation could have been better, but I worked hard to get to this stage and learned a lot. I think esp32 does not understand the information from gps. Everything I wrote here is for reference if anyone else wants to do it.

impulseDiMaro commented 8 months ago

Good day! What should be the frequency and duration of the PPS pulse? By default, the pulse is enabled at a frequency of 1Hz

Доброе время суток! Какой должна быть частота и длительность PPS импульса? По умолчанию импульс включен на частоте 1Гц