This commit is contained in:
Esteban Mackay Q 2023-09-03 00:16:33 -05:00
parent 80a00f8390
commit 043b7520d1
5 changed files with 1822 additions and 2 deletions

View File

@ -78,6 +78,7 @@ rustup default 1.72.0
/usr/bin/python3 -m pip install --upgrade mysqlclient
/usr/bin/python3 -m pip install --upgrade setproctitle
/usr/bin/python3 -m pip install --upgrade pynmea2
/usr/bin/python3 -m pip install --upgrade pandas
echo "Instalación completa."
####################

81
menu/tg-dmrc Normal file
View File

@ -0,0 +1,81 @@
14 WWW-Spanish WorldWide Spanish
2029 CRETE-DMR GR CRETE DMR CLUB
2041 NL-Noord Noord Nederland
2042 NL-Midden Midden Nederland
2043 NL-Zuid Zuid Nederland
2044 NL-Oost Oost Nederland
2045 NL-Tech Techtalk Nederland
204 Netherlands Nederland
20612 BE-Waasland Waasland Belgie
2061 BE-North Belgium north
2062 BE-South Belgium south
206 Belgium Belgium
20800 C4FM YSF-France
208357 Lorraine Moselle-EST
208 France France
2140019 CIEZA CIEZANOS
214001 ANDALUCIA SALA-ANDALUCIA
214002 Aragon TG Aragon
214038 ALCOYANOS RC-ALCOY
21404 Almeria Provincial Almeria
21407 Mallorca Islas-Baleares
2140 Multimode SPAIN-LINK
21410 Caceres Provincial Caceres
214112 Emergencias Emergencias
21411 Cadiz Provincial Cadiz
21414 Cordoba Provincial Cordoba
21418 Granada RC-VELETA
21422 Huesca Provincial Huesca
21426 FreeSTAR Zoiper
21428 Madrid Provincial Madrid
21430 Murcia Provincial Murcia
21431 Navarra Provincial Navarra
21433 Asturias Provincial Asturias
21437 Salamanca Provincial Salamanca
21463 REM Radio Club REM
21465 ADER Associacio ADER
21468 Multiprotocolo MultiSystem
21478 ELITE ELITE DMR
2147 Regional-EA7 Andalucia
21480 NAVARLIK ASOCIACION NAVARLIK
21485 Pirineos PIRINEOS
21490 GRT TRASPIRENAICA
2149 TEST TEST
214 Spain Spain
22220 Italynet Italynet Conf
222 Italia Italia
23414 North West North West UK Radio Group
2351111 CQ-UK CQ-UK
23530 Yorkshire Yorkshire_Link
2356 Wales Wales Ragchew
2622 Hamburg Schleswig-Holstein
2623 Niedersachsen Niedersachsen-Bremen
26254 DE-Kusel DE-Kusel
262 Deutschland Deutschland
26403 DE-NK-Saar DE-NK-Saar
26421 C4FM-Hamburg C4FM DL-Hamburg
2841 Bulgaria Bulgaria Room
302051 SSPDB SSPDB
3023 Canada Canada
311953 VARG VARG talk group
3120 LKDVM Kentucky Digital Voice
31443 US-KEYWEST Keywest DMR
33023 TG-23PSE Ponce PR
368 CUBA Caribe-3
37030 SKYNET TALK GROUP SKYNET
4040 DMR-CHN Chennai India
44120 Japan Japan-link
701 Centro America Centro America Link
70600 CRAS El Salvador
708 Honduras Honduras
7144 Chiriqui Chiriqui Link Panama
7221 ARG-FDMR FreeDMR Argentina
7223 MARDELPLATA MARDELPLATA
7224 NAUTICA NAUTICA-DMR
7227 Argentina-Link Argentina Link
7406 RADE RADE-Ecuador
7487 Uruguay Uruguay Link
7489 Miami-Latino Miami-Latino
8075 DE-RAMSES Das Ramses Project
91 World World
9990 Parrot Parrot

118
menu/tg-systemx Normal file
View File

@ -0,0 +1,118 @@
9 Dial-A-TG
14 WW-Spanish
69 CQ North West UK
80 DMRplus UK Chat 1
81 DMRplus UK Chat 2
83 DMRplus UK Chat 4
84 DMRplus UK Chat 5
87 Blind Hams
91 X Worldwide
100 FreeSTAR EVENTS
121 One2One Chats
206 BELGIUM
214 SPAIN
235 DMRplus UK Wide
237 CQ-WORLD
247 247 RagChew
310 USA Calling
321 Tech Chat USA
322 West Michigan Connect USA
325 FreeSTAR International
326 DoDropIn
334 MEXICO
369 Fusion Link USA
372 HAITI
505 Australia Calling
530 New Zealand Calling
701 C-AMERICA
704 GUATEMALA
708 Honduras
748 Uruguay Link
907 CQ JOTA Worldwide
914 Hispano
969 Pride Network
2061 BELGIUM NORTH
2062 BELGIUM SOUTH
2140 SPAIN-LINK Multisystem
2147 Sala ANDALUCIA
2148 APP-NET
2350 UK ChatterBOX
2351 CQ-UK
2352 UK ChatterBOX 2
2353 UK ChatterBOX 3
2354 UK ChatterBOX 4
2355 SCOTLAND
2357 Isle of Man
2358 DV England
2359 Southern Fusion
2382 DMRplus UK Chat 3
3100 USA Nationwide
3101 USA Chat 1
3102 USA Chat 2
3103 USA Chat Chat 3
3120 LKDVM SYSTEM X
3130 West Coast USA
3160 Crossroads USA
3175 The FOG
3372 Dunstable Downs RC
4001 Blind Hams Bridge
4369 GrumpyClub
5050 Australia Wide
5051 Australia Chat 1
5052 Australia Chat 2
5053 Australia Chat 3
5300 New Zealand Wide
5301 New Zealand Chat 1
5302 New Zealand Chat 2
5303 New Zealand Chat 3
7144 Chiriqui Link Panama
7221 ARGENTINA FREE
7227 Argentina LINK
9059 D-APRS SSID -9
9071 JOTA Worldwide TAC 1
9072 JOTA Worldwide TAC 2
9073 JOTA Worldwide TAC 3
9074 JOTA Worldwide TAC 4
9075 JOTA Worldwide TAC 5
9076 JOTA Worldwide TAC 6
9077 JOTA Worldwide TAC 7
9078 JOTA Worldwide TAC 8
9517 M17 Project Multi-mode Bridge
9990 PARROT
20612 BELGIUM WAASLAND
20826 FreeSTAR Français
21426 FreeSTAR Español
21441 SEVILLA
21463 REM
21465 ADER
21468 Multiprotocoll
21471 IPSC2 EA1
21478 ELITE DMR
22226 FreeSTAR Italiano
22813 Alpes Vaudoises
23416 400Club
23426 FreeSTAR UK
23521 G6GMR RAYNET EVENTS
23522 G4RGM RAYNET GROUP
23530 Yorkshire White Rose
23560 North East
23561 N. North East
23566 South Wales Digital
23590 XLX248 E East Midlands
23591 Nottinghamshire Link
23592 Retford Link
23599 Lincolnshire Live
26226 FreeSTAR Deutsch
27622 DigiCommCafe
31226 World Wide Chat USA
31234 SHARC Network
31847 SkyHub Link
31963 New England DMR
37030 SKYNET
37040 SKYNET-2
70600 CRAS
86134 EMCOMMS WORLD
89134 CUMBRIA CQ
234700 NorthNet UK
235287 GB7NR Repeater
3170603 W0CHP-PiStar-Dash

1482
menu/tg-tgif Normal file

File diff suppressed because it is too large Load Diff

View File

@ -332,6 +332,141 @@ YSF,0,98,URUGUAY,Uruguay chat room
YSF,0,99,TEST,Testing Room
EOF
sudo cat > /opt/dmr5.py <<- "EOF"
import csv
import requests
# Archivo de origen dmr.txt
archivo_entrada_dmr = '/opt/tg-dmrc'
# Archivo de origen tg-tgif.txt
archivo_entrada_tg_tgif = '/opt/tg-tgif'
# Archivo de origen tg-systemx.txt
archivo_entrada_tg_systemx = '/opt/tg-systemx'
# URL del primer archivo de texto
url1 = "http://www.pistar.uk/downloads/TGList_BM.txt"
# URL del segundo archivo CSV
url2 = "https://freedmr.cymru/talkgroups/talkgroup_ids.csv"
# Leer el archivo de dmr.txt
with open(archivo_entrada_dmr, 'r') as archivo_dmr:
lineas_dmr = archivo_dmr.readlines()
# Leer el archivo de tg-tgif.txt
with open(archivo_entrada_tg_tgif, 'r') as archivo_tg_tgif:
lineas_tg_tgif = archivo_tg_tgif.readlines()
# Leer el archivo de tg-systemx.txt
with open(archivo_entrada_tg_systemx, 'r') as archivo_tg_systemx:
lineas_tg_systemx = archivo_tg_systemx.readlines()
# Descargar el contenido del primer archivo de texto
response1 = requests.get(url1)
content1 = response1.content.decode("utf-8")
# Descargar el contenido del segundo archivo CSV
response2 = requests.get(url2)
content2 = response2.content.decode("utf-8")
# Dividir las líneas de ambos contenidos
lines1 = content1.splitlines()
lines2 = content2.splitlines()
# Almacenar los datos de url1 en una lista
data_url1 = []
# Procesar los datos del primer archivo y agregarlos a la lista
for line in lines1:
if not line.startswith('#'):
parts = line.split(';')
if len(parts) >= 4:
data_url1.append([int(parts[0]), parts[2], parts[3]])
# Ordenar la lista de url1 por el valor de la tercera columna (alfanumérico)
data_url1.sort(key=lambda x: x[2])
# Almacenar los datos de url2 en una lista
data_url2 = []
# Procesar los datos del segundo archivo y agregarlos a la lista
csv_reader = csv.reader(lines2)
next(csv_reader) # Ignorar la primera fila de encabezado
for row in csv_reader:
if len(row) == 3:
data_url2.append([int(row[0]), row[1], int(row[2])])
else:
data_url2.append([int(row[0]), row[1]])
# Ordenar la lista de url2 por el valor de la tercera columna (numérico)
data_url2.sort(key=lambda x: x[2])
# Combinar las líneas de todos los archivos
lineas_filtradas = []
# Procesar las líneas de dmr.txt
for linea in lineas_dmr:
partes = linea.strip().split('\t')
if len(partes) > 0 and len(partes[0]) <= 6 and partes[0].isdigit():
# Agregar el número 4 al inicio y rellenar con ceros
primera_columna = '4{:06d}'.format(int(partes[0]))
nueva_linea = 'DMR,2,{},{}'.format(primera_columna, partes[1])
lineas_filtradas.append(nueva_linea)
# Procesar las líneas de tg-tgif.txt
for linea in lineas_tg_tgif:
partes = linea.strip().split('\t')
if len(partes) > 0 and len(partes[0]) <= 6 and partes[0].isdigit():
# Agregar el número 3 al inicio y rellenar con ceros
primera_columna = '3{:06d}'.format(int(partes[0]))
nueva_linea = 'DMR,2,{},{}'.format(primera_columna, partes[1])
lineas_filtradas.append(nueva_linea)
# Procesar las líneas de tg-systemx.txt
for linea in lineas_tg_systemx:
partes = linea.strip().split('\t')
if len(partes) > 0 and len(partes[0]) <= 6 and partes[0].isdigit():
# Agregar el número 5 al inicio y rellenar con ceros
primera_columna = '5{:06d}'.format(int(partes[0]))
nueva_linea = 'DMR,2,{},{}'.format(primera_columna, partes[1])
lineas_filtradas.append(nueva_linea)
# Procesar las líneas adicionales de url1
for i, row in enumerate(data_url1):
if i == 0:
# Agregar el número 1 al inicio y rellenar con ceros
primera_columna = '1{:06d}'.format(row[0])
lineas_filtradas.append('DMR,1,{},{} {}'.format(primera_columna, row[1], row[2]))
else:
# Agregar el número 1 al inicio y rellenar con ceros
primera_columna = '1{:06d}'.format(row[0])
lineas_filtradas.append('DMR,1,{},{}'.format(primera_columna, row[1]))
# Procesar las líneas adicionales de url2
for i, row in enumerate(data_url2):
if i == 0:
# Agregar el número 2 al inicio y rellenar con ceros
primera_columna = '2{:06d}'.format(row[0])
lineas_filtradas.append('DMR,2,{},{} {}'.format(primera_columna, row[1], row[2]))
else:
# Agregar el número 2 al inicio y rellenar con ceros
primera_columna = '2{:06d}'.format(row[0])
lineas_filtradas.append('DMR,2,{},{}'.format(primera_columna, row[1]))
# Generar el archivo de salida
with open('/opt/MMDVMHost-Websocketboard/html/data/TG_List.csv', 'w') as archivo_salida:
for linea in lineas_filtradas:
archivo_salida.write(linea + '\n')
print("Proceso completado. Archivo de salida '/opt/dmrgw.txt' generado con líneas de todos los archivos.")
EOF
wget https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/tg-dmrc -O /opt/tg-dmrc
wget https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/tg-tgif -O /opt/tg-tgif
wget https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/tg-systemx -O /opt/tg-systemx
############
sudo cat > /bin/menu-uptg <<- "EOF"
#!/bin/bash
@ -342,13 +477,14 @@ fi
while : ; do
choix=$(whiptail --title "Raspbian Proyect HP3ICC / Dashboar TG Name" --menu "Select list TG name for dashboard mmdvmhost.
" 17 50 6 \
" 17 50 7 \
1 " TG Name Branmeister " \
2 " TG Name FreeDMR " \
3 " Duplex mode, S1=BM / S2=FDMR " \
4 " YSF DGiD Name WorldLink " \
5 " YSF DGiD Name EuropeLink " \
6 " Menu Principal " 3>&1 1>&2 2>&3)
6 " DMRGateway 5 Network (BM,FDMR,TGIF,DMRC,SYSTEMX) " \
7 " Menu Principal " 3>&1 1>&2 2>&3)
exitstatus=$?
#on recupere ce choix
#exitstatus=$?
@ -370,6 +506,8 @@ sudo cat /opt/ysf-worldlink.txt >> /opt/MMDVMHost-Websocketboard/html/data/TG_Li
5)
sudo cat /opt/ysf-europelink.txt >> /opt/MMDVMHost-Websocketboard/html/data/TG_List.csv ;;
6)
python3 /opt/dmr5.py ;;
7)
break;
esac
done