{"id":164,"date":"2026-02-14T14:31:21","date_gmt":"2026-02-14T13:31:21","guid":{"rendered":"https:\/\/www.f4jsg.fr\/?p=164"},"modified":"2026-02-14T14:37:29","modified_gmt":"2026-02-14T13:37:29","slug":"relais-dapnet","status":"publish","type":"post","link":"https:\/\/www.f4jsg.fr\/index.php\/2026\/02\/14\/relais-dapnet\/","title":{"rendered":"Relais Dapnet"},"content":{"rendered":"\n<p>\u00c9tant pr\u00e8s de la fronti\u00e8re, le r\u00e9seau DAPNET est tr\u00e8s d\u00e9velopp\u00e9 en Allemagne.<\/p>\n\n\n\n<p>Je trouvais bon, \u00e9tant radioamateur, d\u2019avoir mon POCSAG et d\u2019avoir un retour d\u2019information de mes diff\u00e9rents instruments en fonctionnement (relais radioamateur, m\u00e9t\u00e9o, suivi des Raspberry).<\/p>\n\n\n\n<p>J&#8217;ai donc cr\u00e9\u00e9 le relais Dapnet F6ZBP, puissance en \u00e9mission de 11 W.<\/p>\n\n\n\n<p>Il est compos\u00e9 :<\/p>\n\n\n\n<p>D&#8217;un Motorola GM950<\/p>\n\n\n\n<p>D\u2019un Raspberry Pi 3<\/p>\n\n\n\n<p> Logiciel Unipager<\/p>\n\n\n\n<p>Motorola GM950 : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"565\" src=\"https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010639.jpg?resize=750%2C565&#038;ssl=1\" alt=\"\" class=\"wp-image-165\" srcset=\"https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010639-rotated.jpg?resize=1024%2C771&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010639-rotated.jpg?resize=300%2C226&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010639-rotated.jpg?resize=768%2C578&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010639-rotated.jpg?resize=1536%2C1157&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010639-rotated.jpg?w=2040&amp;ssl=1 2040w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Rack : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"565\" src=\"https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010638.jpg?resize=750%2C565&#038;ssl=1\" alt=\"\" class=\"wp-image-166\" srcset=\"https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010638-rotated.jpg?resize=1024%2C771&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010638-rotated.jpg?resize=300%2C226&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010638-rotated.jpg?resize=768%2C578&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010638-rotated.jpg?resize=1536%2C1157&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/1000010638-rotated.jpg?w=2040&amp;ssl=1 2040w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<p>le logiciel unipager : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"396\" src=\"https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/Capture-decran_14-2-2026_142445_192.168.1.40.jpeg?resize=750%2C396&#038;ssl=1\" alt=\"\" class=\"wp-image-167\" srcset=\"https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/Capture-decran_14-2-2026_142445_192.168.1.40.jpeg?resize=1024%2C541&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/Capture-decran_14-2-2026_142445_192.168.1.40.jpeg?resize=300%2C158&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/Capture-decran_14-2-2026_142445_192.168.1.40.jpeg?resize=768%2C406&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/Capture-decran_14-2-2026_142445_192.168.1.40.jpeg?resize=1536%2C811&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/Capture-decran_14-2-2026_142445_192.168.1.40.jpeg?w=1880&amp;ssl=1 1880w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<p>Sch\u00e9ma pour passer en \u00e9mission avec Motorola disponible sur le site Dapnet : <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"463\" src=\"https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/g360_ras_pocsag.jpg?resize=750%2C463&#038;ssl=1\" alt=\"\" class=\"wp-image-168\" srcset=\"https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/g360_ras_pocsag.jpg?resize=1024%2C632&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/g360_ras_pocsag.jpg?resize=300%2C185&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/g360_ras_pocsag.jpg?resize=768%2C474&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/g360_ras_pocsag.jpg?resize=1536%2C948&amp;ssl=1 1536w, https:\/\/i0.wp.com\/www.f4jsg.fr\/wp-content\/uploads\/2026\/02\/g360_ras_pocsag.jpg?resize=2048%2C1265&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<p>J&#8217;ai rajouter un petit capteur de temp\u00e9rature DHT 11 qui m&#8217;envoi les donner a certain heure via un fichier Cron le tout \u00e9crit en python : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import Adafruit_DHT\nimport requests\nimport datetime\nimport os\n\n# --- CONFIG ---\nDHT_SENSOR = Adafruit_DHT.DHT11\nDHT_PIN = 4\n\nDAPNET_USER = \"F4JSG\"\nDAPNET_PASS = \"MDP_DAPNET\"\nTARGET_CALLSIGN = \"F4JSG\"\nTX_GROUPS = &#91;\"all\"]   \n\nALERT_THRESHOLD = 20  # seuil d'alerte temp\u00e9rature\nSTATE_FILE = \"\/home\/vivi\/last_alert_state.txt\"\n\n# --- Lecture capteur ---\nhumidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)\n\nif humidity is None or temperature is None:\n    print(\"Erreur lecture capteur\")\n    exit()\n\nmessage_base = f\"Surveillance temperature relais DAPNET F6ZBP {temperature}C {humidity}%\"\n\ndef send_dapnet(msg):\n    url = \"http:\/\/hampager.de\/api\/calls\"\n    payload = {\n        \"text\": msg&#91;:80],\n        \"callSignNames\": &#91;TARGET_CALLSIGN],\n        \"transmitterGroupNames\": TX_GROUPS,\n        \"emergency\": False\n    }\n    r = requests.post(url, json=payload, auth=(DAPNET_USER, DAPNET_PASS), timeout=10)\n    return r.status_code\n\n# --- Gestion alerte ---\nalert_sent = False\n\nif os.path.exists(STATE_FILE):\n    with open(STATE_FILE, \"r\") as f:\n        alert_sent = f.read().strip() == \"1\"\n\nif temperature > ALERT_THRESHOLD:\n    if not alert_sent:\n        msg = f\"ALERTE Temperature relais F6ZBP {temperature}C\"\n        if send_dapnet(msg) == 200:\n            print(\"Alerte envoy\u00e9e\")\n            with open(STATE_FILE, \"w\") as f:\n                f.write(\"1\")\nelse:\n    # Reset si la temp\u00e9rature redescend\n    with open(STATE_FILE, \"w\") as f:\n        f.write(\"0\")\n\nprint(\"Script termin\u00e9\")\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u00c9tant pr\u00e8s de la fronti\u00e8re, le r\u00e9seau DAPNET est tr\u00e8s d\u00e9velopp\u00e9 en Allemagne. Je trouvais bon, \u00e9tant radioamateur, d\u2019avoir mon POCSAG et d\u2019avoir un retour d\u2019information de mes diff\u00e9rents instruments en fonctionnement (relais radioamateur, m\u00e9t\u00e9o, suivi des Raspberry). J&#8217;ai donc cr\u00e9\u00e9 le relais Dapnet F6ZBP, puissance en \u00e9mission de 11 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[16],"tags":[13,10,14,15,12],"class_list":["post-164","post","type-post","status-publish","format-standard","hentry","category-f6zbp","tag-dapnet","tag-f6zbp","tag-motorola","tag-pocsag","tag-relais-dapnet"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/posts\/164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":1,"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":169,"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/posts\/164\/revisions\/169"}],"wp:attachment":[{"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.f4jsg.fr\/index.php\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}