Реализация GPS и RTC
- Войдите на сайт для отправки комментариев
Вс, 29/12/2019 - 20:57
Здравствуйте! Необходимо реализовать измерение частоты сети в бытовой розетке:
- штемпель времени через GPS-время
- GPS - для коррекции отклонения измерений
- получение времени с RTC, если GPS не работает
Hardware:
-NodeMCU v3,
-REAL TIME CLOCK MODULE DS1307(Sparkfun)
-GT-U7 main module: GPS module using the original 7th generation chip, Software is compatible with NEO-6M.
Готовые части кода: WiFi, LCD, запись на SD-карту.
Помогите написать скетч для GPS и RTC.
Интерфейс должен иметь следующую структуру:
Structures:
typedef struct {
byte hour;
byte min;
byte sec;
} structTime;
typedef struct {
structTime time; // time of measurement
int freq; // measured frequency
double lat; // GPS latitude during measurement
double long; // GPS longitude during measurement
} structData;
---------------------------------------
LCD Modul:
----------
int setLCD (double * freq, // measured frequency
structTime * timeGPS, // time captured from GPS
int * measPeriod, // measurement period
byte * sigWifi, // Wifi signal strength
byte * sigGPS); // GPS signal strength
---------------------------------------
GPS Modul:
----------
int getGPSLoc (double * lat, double * long);
int getGPSTime (structTime * time);
int getGPSPulse (int * pulseCount); //PPS (pulse per second) signal
---------------------------------------
RTC Modul:
----------
int getRTCTime (structTime * time);
int setRTCTime (structTime * time);
---------------------------------------
SDC Modul:
----------
int loadConfig ();
int storeData (structData * data);
---------------------------------------
WiFi Modul:
-----------
int connectWifi (char * ssid, char * pw);
int sendWifi (structData * data);
int getWifiTime (structTime * time);
Какова требуемая точность (допустимое отклонение) таймштампа в сравнении со Stratum1?
Требований к точности нет и +-0.05 секунды будет достаточно. Часовой пояс UTC+1.
Т.е. то, что RTC оперирует минимум секундными интервалами - вас не смущает... А то, что ходят слухи о том, что ESP8266 произвольно фризится при работе с WiFi - тоже не пугает? Всё ещё настаиваете на 0.05sec ?
Не настаиваю. Сможете помочь с написанием скетча?
В ближайшие две новогодние недели? Только если Вы из семьи миллионеров.
Задача заключается в том, чтобы получать координаты и время с GPS, если GPS не отвечает, время получается с RTC. Реализацией WiFi, SD-Card, выводом данных на LCD-Display занимаются другие. У меня моя часть задания работает с имеющимися библиотеками, но я не знаю как ее переделать вот под эту форму:
GPS Modul: ---------- int getGPSLoc (double * lat, double * long); int getGPSTime (structTime * time); int getGPSPulse (int * pulseCount); //PPS (pulse per second) signal --------------------------------------- RTC Modul: ---------- int getRTCTime (structTime * time); int setRTCTime (structTime * time); ----------------------------------------- typedef struct { byte hour; byte min; byte sec; } structTime;А если у rtc батарейка сядет то откуда время брать?
Откуда эти функции: getGPSTime() и пр.?
Это студенческий проект. Если батарейка сядет, то ее поменяют. Мы не должны беспокоится о ней.
Откуда эти функции: getGPSTime() и пр.?
судя по всему из рук исполнителя ;)