commit 50a0c3a3c3384647ea90304363766ad134edda65 Author: magnum88 Date: Sun Jun 9 20:12:09 2024 +0200 first commit diff --git a/Dev_PocSag/Festival.mp3 b/Dev_PocSag/Festival.mp3 new file mode 100644 index 0000000..17e0699 Binary files /dev/null and b/Dev_PocSag/Festival.mp3 differ diff --git a/Dev_PocSag/data.json b/Dev_PocSag/data.json new file mode 100644 index 0000000..6daff3a --- /dev/null +++ b/Dev_PocSag/data.json @@ -0,0 +1,23 @@ +[ + { + "Designation": "Motarola Noir", + "Freq": "466050000", + "ARP": 4101663222, + "CapCode": "0166322", + "NumSerial": "234IVWC812" + }, + { + "Designation": "Motorola Bleu", + "Freq": "466175000", + "ARP": 7101411852, + "CapCode": "0141185", + "NumSerial": "9802040601391" + }, + { + "Designation": "Motorola Vert", + "Freq": "466206250", + "ARP": 3107158462, + "CapCode": "0715846", + "NumSerial": "723IXU66VL" + } +] diff --git a/Dev_PocSag/gohttp.py b/Dev_PocSag/gohttp.py new file mode 100755 index 0000000..7c73f56 --- /dev/null +++ b/Dev_PocSag/gohttp.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +from flask import Flask, request, render_template +import requests +import json +import os + +app = Flask(__name__) + +# Charger le fichier JSON +with open('data.json', 'r') as json_file: + data = json.load(json_file) + +@app.route('/', methods=['GET', 'POST']) +def index(): + if request.method == 'POST': + # Récupérer les données du formulaire + capcode = request.form['capcode'] + message = request.form['message'] + # Trouver la fréquence correspondant au CapCode + frequency = get_frequency_by_capcode(capcode) + if frequency: + # Envoyer le message POCSAG à l'application + send_pocsag_message(frequency, capcode, message) + return "Message envoyé avec succès à la fréquence {}".format(frequency) + else: + return "CapCode non trouvé !" + else: + return render_template('index.html', data=data) + +def get_frequency_by_capcode(capcode): + for item in data: + if item["CapCode"] == capcode: + return item["Freq"] + return None + +def send_pocsag_message(frequency,capcode,message): + # Formatage de la commande shell avec les variables + command = f'sudo pocsag -f "{frequency}" -t 1 -r 1200 -b 3 -' # -n pour digital number + message_command = f'printf "{capcode}:{message}" | {command}' + print("le cmd=",message_command) + # Exécution de la commande + os.system(message_command) + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=8080, debug=True) + diff --git a/Dev_PocSag/read.me b/Dev_PocSag/read.me new file mode 100644 index 0000000..255f53b --- /dev/null +++ b/Dev_PocSag/read.me @@ -0,0 +1,14 @@ +Dans cet exemple : + + Nous importons Flask pour gérer les requêtes Web. + La fonction index gère à la fois les méthodes GET et POST. En cas de méthode POST, elle récupère le message à partir du formulaire et appelle la fonction send_pocsag_message. En cas de méthode GET, elle affiche le formulaire. + La fonction send_pocsag_message est l'endroit où vous enverrez réellement le message POCSAG à votre application. Vous devrez remplacer le contenu de cette fonction par la logique réelle pour envoyer le message à votre application POCSAG. + Le serveur Flask est démarré en mode debug pour faciliter le développement. + +Assurez-vous de personnaliser ce script en fonction de la manière dont vous voulez envoyer les messages POCSAG à votre application. Vous devrez remplacer send_pocsag_message par le code réel qui envoie les messages POCSAG. De plus, vous devrez créer un modèle HTML pour votre formulaire (index.html). + +Dans ce fichier HTML : + + Nous avons un formulaire simple avec un champ de texte pour le message POCSAG et un bouton d'envoi. + L'action du formulaire est définie sur la racine de votre site (/), ce qui signifie qu'il enverra les données du formulaire à la même route où votre application Flask attend les demandes POST. + Le champ de texte est défini comme un

+ + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..64c521e --- /dev/null +++ b/README.md @@ -0,0 +1,128 @@ +RpiTx modified F4IYT +============================ + +![RpiTX](img/rpi.png) +Source de F5OEO
+https://github.com/F5OEO/rpitx +
+ +## RPITX Version en production 2.0 +Avec un raspberry pi 3
+J'ai modifié le système +et crer un proto hardware
+![PocSaG](img/1717951887961.jpg) +La sortie ce fait sur le GPIO 4
+Mes padgers
+![PocSaG](img/1717951887952.jpg) + +Les 2 du bas sont des numériques
+et les 2 du haut des alphanumérique
+ + + +le fichier .img zipper sur une carte de 16Go
+ + +# Les infos + +En France, les fréquences attribuées au POCSAG sont sur la bande du 466 MHz interdi à tout transmission ! + + 466.025 MHz
+ 466.050 MHz
+ 466.075 MHz
+ 466.175 MHz
+ 466.20625 MHz
+ 466.23125 MHz
+ +Il faut avoir un numéro nommé ARP qui est un CAP Code numéo unique d'identifiant du PAGGER
+sans ce numéo il est impossible de pourvoir communiquer avec
+ +ex:
+![PocSaG](img/1717951887955.jpg) +ici ARP: 31 0715846 2
+Pour avoir un CapCode, il suffit de supprimer les 2 premiers et le dernier chiffre ARP
+Donc CAP Code=0715846
+et la fréquence ici 466.20625Mhz
+ +# les protocols + + TamTam, c'est Cegetel/SFR arrété en in 1999, il utilisait le protocol ERMES.
+ + KOBBY, c'est Bouygue Telecom, arrété en 2005, il utilisait le protocol ERMES/FLEX.
+ + TATOO, c'est FT/Orange, qui utilise le POCSAG, il fonctionne depuis 2000.
+ +pour emettre sur 438.2160 il faudrai un quartz de 49.152 Mhz
+ + +# Calcul du quartz +Pour connaitre la fréquence du quartz:
+ +(F - IF ) /8 = Quartz
+ +exemple 466.050Mhz pour F
+IF toujours 45Mhz
+ +(466.05 -45)/8 = 52.631Mhz
+ + +Autre methode trouver la fréquence avec un quartz:
+ +(Q+IF/8)*8=F
+Soit un Q=48Mhz
+(48+45/8)*8=429Mhz
+ +#Utilisation du Os RpiTx +Attention a avoir une bonne alementation 5V 3A
+connection en SSH
+```cd rpitx``` +```./easytest.sh``` +![OsRpi](img/ssh.png) +![OsRpi](img/433.png) +![OsRpi](img/menu.png) +![OsRpi](img/MenuSuite.png) +![OsRpi](img/spectrum2.png) +ici complet +![OsRpi](img/spectrum.png) +si incomplet Pb Alim +![OsRpi](img/FmRDS.png) + +# Bonnus +SSTV en modem color 24 si non remplacer 24 par 16 +```sudo ./gosstv.sh 433.0 /home/pi/rpitx/src/resources/TestPattern.jpg F4IYT 24``` + +Stream RadioFM
+```./streamradiofm.sh`` + +Cq CQ CW +```sudo ./morse 434000000 25 "Cq Cq F4IYT"``` + +Spectrum +```./testspectrum.sh 433000000 src/resources/TestPattern.jpg``` + +FT8 + +```sudo ./pift8 -m "CQ F4IYT JN33" -f 433.1e6``` + +# Formulaire +allez dans le répertoire +PocSag +cd PocSag +puis ./gohttp.py +ouvrir une page Web sur IP du RPI3 avec le port 8080 +exempel ici +http://192.168.0.70:8080/ +![OsRpi](img/FormPocsag.png) +puis choisir dans la liste le CapCode du Pagger +saisir un message et envoyer +le message sera reçu si le pagger est allumé et à porter. +pour changer la liste editer le fichier data.json + + + + +
+73
+Xavier + + diff --git a/RpiTX.v2.zip b/RpiTX.v2.zip new file mode 100644 index 0000000..eff2c6e Binary files /dev/null and b/RpiTX.v2.zip differ diff --git a/img/1717951887946.jpg b/img/1717951887946.jpg new file mode 100644 index 0000000..d57b8ed Binary files /dev/null and b/img/1717951887946.jpg differ diff --git a/img/1717951887949.jpg b/img/1717951887949.jpg new file mode 100644 index 0000000..c07bb59 Binary files /dev/null and b/img/1717951887949.jpg differ diff --git a/img/1717951887952.jpg b/img/1717951887952.jpg new file mode 100644 index 0000000..73915a9 Binary files /dev/null and b/img/1717951887952.jpg differ diff --git a/img/1717951887955.jpg b/img/1717951887955.jpg new file mode 100644 index 0000000..bc87e0a Binary files /dev/null and b/img/1717951887955.jpg differ diff --git a/img/1717951887958.jpg b/img/1717951887958.jpg new file mode 100644 index 0000000..cd67474 Binary files /dev/null and b/img/1717951887958.jpg differ diff --git a/img/1717951887961.jpg b/img/1717951887961.jpg new file mode 100644 index 0000000..ed2d5a2 Binary files /dev/null and b/img/1717951887961.jpg differ diff --git a/img/1717951887963.jpg b/img/1717951887963.jpg new file mode 100644 index 0000000..22f0923 Binary files /dev/null and b/img/1717951887963.jpg differ diff --git a/img/433.png b/img/433.png new file mode 100644 index 0000000..bb09800 Binary files /dev/null and b/img/433.png differ diff --git a/img/FmRDS.png b/img/FmRDS.png new file mode 100644 index 0000000..9cf8a7b Binary files /dev/null and b/img/FmRDS.png differ diff --git a/img/FormPocsag.png b/img/FormPocsag.png new file mode 100644 index 0000000..e7b3c9e Binary files /dev/null and b/img/FormPocsag.png differ diff --git a/img/MenuSuite.png b/img/MenuSuite.png new file mode 100644 index 0000000..54b2cf7 Binary files /dev/null and b/img/MenuSuite.png differ diff --git a/img/bipeur-tatoo-motorola.jpg b/img/bipeur-tatoo-motorola.jpg new file mode 100644 index 0000000..9974dec Binary files /dev/null and b/img/bipeur-tatoo-motorola.jpg differ diff --git a/img/menu.png b/img/menu.png new file mode 100644 index 0000000..1f2f399 Binary files /dev/null and b/img/menu.png differ diff --git a/img/rpi.png b/img/rpi.png new file mode 100644 index 0000000..e95b465 Binary files /dev/null and b/img/rpi.png differ diff --git a/img/septrum2.png b/img/septrum2.png new file mode 100644 index 0000000..7fd6189 Binary files /dev/null and b/img/septrum2.png differ diff --git a/img/spectrum.png b/img/spectrum.png new file mode 100644 index 0000000..0232d5b Binary files /dev/null and b/img/spectrum.png differ diff --git a/img/ssh.png b/img/ssh.png new file mode 100644 index 0000000..b8a4485 Binary files /dev/null and b/img/ssh.png differ