Share via Share via... Twitter LinkedIn Facebook Telegram WhatsAppUltime modificheSend via e-MailStampaPermalink × Stratum 1 Orangepi Come avere un orologio preciso (ordine di microsecondi) in casa? Basta prendere un ricevitore GPS! Stratum 1 Orangepi Responsabile: g5pw Membri: g5pw Data inizio: Data fine: 24/2/2019 Modifica Modifica Materiali Orange Pi Zero Ricevitore GPS con PPS Modifica Costruzione Come prima cosa c'è da individuare i pin necessari per il collegamento. Per il GPS basta collegare alimentazione (Vcc e GND), comunicazione (RX, TX) e il pin di PPS. Il PPS deve essere collegato a un pin con interrupt. Non tutti i pin sul header supportano interrupt! Interrupt solo su PA*, PG, PL (vedi data sheet Allwinner H3 p. 74) Modifica Configurazione Innanzitutto bisogna dire al kernel di usare i pin come UART e come PPS. Questo si fa configurando il device tree. Il modo in cui farlo dipende da distribuzione a distribuzione (alcuni hanno supporto dei DTB overlay). Modifica Fedora Su Fedora, si fa con fdtput, che permette di modificare il device tree compilato. NB: Per rendere effettive le modifiche è necessario un riavvio. fdt=/boot/dtb-4.14.5-300.fc27.armv7hl/sun8i-h3-orangepi-pc.dtb # setup TTY fdtput -t s $fdt '/soc/serial@01c28c00' status okay # setup pps pin ## Setup pinctrl fdtput -c $fdt '/soc/pinctrl@01c20800/pps0' fdtput -t s $fdt '/soc/pinctrl@01c20800/pps0' pins PD14 fdtput -t s $fdt '/soc/pinctrl@01c20800/pps0' function "gpio_in" # setup PPS device fdtput -c $fdt /soc/pps fdtput -t s $fdt /soc/pps compatible pps-gpio fdtput $fdt /soc/pps gpios 6 0 12 0 Modifica Armbian Su armbian basta aprire il file /boot/armbianEnv.txt e inserire le seguenti linee (occhio a non avere un overlay= duplicato!) armbianEnv.txt overlays=uart1 pps-gpio param_pps_pin=PA7 Modifica GPSd Basta inserire nella configurazione GPSd in /etc/default/gpsd: gpsd # Devices gpsd should collect to at boot time. # They need to be read/writeable, either by user gpsd or the group dialout. DEVICES="/dev/ttyS1" # Other options you want to pass to gpsd GPSD_OPTIONS="-n" E far partire GPSd all'avvio con systemctl enable –now gpsd Modifica Chrony Per attivare il GPS + PPM su Chrony basta aggiungere queste linee al suo config. chrony.conf refclock SHM 0 refid GPS precision 1e-1 offset 0.134 delay 0.2 noselect refclock PPS /dev/pps0 lock GPS Modifica Bonus stuff Un po' di cose extra che ho deciso di aggiungere. Modifica Display LCD Crystalfontz Un display LCD comandato via USB che è supportato da LCD4linux, che ho configurato per mostrare l'ora corrente. Modifica RTC Per fare in modo che il tempo venga salvato a OrangePI spenta. (work in progress) Modifica Battery backup/UPS Ulteriore sicurezza per la OrangePi. Modifica Link Utili https://frillip.com/raspberry-pi-stratum-1-ntp-server/ http://linux-sunxi.org/Xunlong_Orange_Pi_PC http://elixir.free-electrons.com/linux/v4.14.5/source/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt https://www.blackmagicboxes.com/?p=581 http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf http://developer.ridgerun.com/wiki/index.php?title=Edit_device_tree_at_run_time https://forum.armbian.com/topic/4944-opi-zero-gps-ntpserver/ Modifica progetti/stratum_1_orangepi.txt Ultima modifica: 2019/03/06 23:07da g5pw