Временное маньячество проходило несколько фаз:
- Я добавил в пулл ntp.org два сервера. — Можно успокоиться.
- Но если не будет интернета, где мне брать время? — Тревожность.
- Я не запилить ли свой сервер времени Stratum 0? — Беспокойство.
- Наверняка уже есть такие решения! — Поиск.
- Это же ужас! от 6 000 руб до 350 0000 руб! — Неприятие.
- Пора поскрести по сусекам и собрать из говна и палок! — РЕШИМОСТЬ!
По случаю продолжающегося расстройства психики, связанного с мониторингом ИБП был куплен за малые деньги OrangePi Win Plus. Довольно прикольный одноплатник с Wi-Fi и блюпук на борту. На него водрузился Armbian, NUT и замониторился APC Back-UPS RS 1000 Pro.
Но ресурсов у его явно больше чем требует NUT. И блюпук не используется. И тут я вспомнил, что в какой-то коробке лет 15 без дела лежит GPS треккер Nokia LD-3W.
ПОРА! Пора собирать шайтан-машинку!
Подключил по блюпук:
Устанавливаем блюпук стек и подключаем треккер.
Порт /dev/rfcomm0
#apt install bluez
#bluetoothctl
[bluetooth]#power on
[bluetooth]#discoverable on
[bluetooth]#pairable on
[bluetooth]#scan on
[bluetooth]#scan off
[bluetooth]#pair 00:02:76:C3:EB:1E
[bluetooth]#trust on
[bluetooth]#
[Nokia LD-3W]> devices
Device 00:02:76:C3:EB:1E Nokia LD-3W
[Nokia LD-3W]> info
Device 00:02:76:C3:EB:1E (public)
Name: Nokia LD-3W
Alias: Nokia LD-3W
Class: 0x00011f00 (73472)
Paired: yes
Bonded: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Serial Port (00001101-0000-1000-8000-00805f9b34fb)
[Nokia LD-3W]>exit
#rfcomm bind rfcomm0 00:02:76:C3:EB:1E 1
#rfcomm -a
#apt install gpsd chrony
Настраиваем gpsd:
/etc/default/gpsd # Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
START_DAEMON="true"
GPSD_OPTIONS="-n -G"
DEVICES="/dev/rfcomm0"
#/dev/pps0"
USBAUTO="false"
GPSD_SOCKET="/var/run/gpsd.sock"
Проверяем работу:
#cgps
#gpsmon
Настраиваем chrony:
/etc/chrony/chrony.conf
server ntp.itart.su iburst
refclock SHM 0 refid GPS precision 1e-1 offset -0.050
Проверяем chrony
#chronyc -n sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
#* GPS 0 4 377 24 +5854us[+6915us] +/- 100ms
^? 37.252.19.134 0 10 0 - +0ns[ +0ns] +/- 0ns
# chronyc tracking
Reference ID : 47505300 (GPS)
Stratum : 1
Ref time (UTC) : Wed Oct 22 12:31:52 2025
System time : 0.000918052 seconds fast of NTP time
Last offset : +0.003163139 seconds
RMS offset : 0.002226016 seconds
Frequency : 50.759 ppm fast
Residual freq : +1.089 ppm
Skew : 41.199 ppm
Root delay : 0.000000001 seconds
Root dispersion : 0.106877103 seconds
Update interval : 16.0 seconds
Leap status : Normal
Устанавливаем TICC-Dash контрол панель для Chrony https://github.com/anoniemerd/ticc-dash
#curl -fsSL https://raw.githubusercontent.com/anoniemerd/ticc-dash/main/install_ticc_dash.sh | bash
Скачиваем пакет gpsd-clients
#apt download gpsd-clients
Вытаскиваем оттуда webgps — клиент, который генерит html с данными от gpsd.
Поднимаем апач, настраиваем виртуальный хост.
И в принципе все.
Из минусов этого решения — нет PPS в трекере. Возможно в будущем раскошелюсь и куплю USB GNSS модуль с внешней антенной. Но финансовая сторона этого решения уже не видится целесообразной. Это крутится вокруг 4 000 руб. Готовый NTP сервер с синхронизацией по GPS/Glonass/Beidou и кварцевыми часами с батарейкой, монтажем в стойку и дисплейчиком стоит 12 тр. на али.
А самый дешевый 5 500 руб
Смысл заморачиваться?

Добавить комментарий