Pages : 1
#1 Le 16/11/2023, à 15:22
- xunil2003
Commande Modem AT sur modem classique RTC
Bonjour,
Dans un script bash, je souhaite être avertie quand mon alarme ce déclenche avec un modem RTC classique.
J'arrive a composer un numéro mais je ne sais pas comment diffuser sur le modem le message vocal en 8k mono (sans le balise .wav) sur l'appel en cous.
Pouvez-vous m'aider ?
Un exemple svp.
Merci d'avance pour vos avis et conseils.
Script bash
#!/bin/bash
# ===========================================================
# VARIABLES
# ===========================================================
PERIFERIQUE_MODEM="/dev/ttyACM0"
COMPOSE_NUM="07xxxxxxxx"
FICHIER_AUDIO="$HOME/Langages/bash/ubuntu-20.04/message-alerte-alarme.mp3"
# ===========================================================
# CODES
# ===========================================================
(/usr/sbin/chat -v "" ATH0 OK ATDT$COMPOSE_NUM CONNECT) < $PERIFERIQUE_MODEM > $PERIFERIQUE_MODEM
exit 0
Dernière modification par xunil2003 (Le 16/11/2023, à 15:23)
- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 / Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE
Hors ligne
#2 Le 16/11/2023, à 15:48
- diesel
Re : Commande Modem AT sur modem classique RTC
Ben..., un modem, ce n'est pas un téléphone. Ça ne sait passer (a priori) que du numérique et pas de l'audio.
Et c'est fait pour discuter avec un autre modem à l'autre bout de la ligne, pas avec un téléphone.
Amicalement.
Jean-Marie
Dernière modification par diesel (Le 16/11/2023, à 15:49)
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#3 Le 16/11/2023, à 16:15
- bruno
Re : Commande Modem AT sur modem classique RTC
Bah si : https://en.wikipedia.org/wiki/Voice_modem_command_set
Je vais demander à François Bayrou le rapport avec Ubuntu.
#4 Le 16/11/2023, à 21:25
- Nuliel
Re : Commande Modem AT sur modem classique RTC
Hello,
Première question: tu as un abonnement téléphone Free? La raison: free a une option pour avoir des notifications par sms. Et ce serait clairement plus simple que passer par le modem. C'est pas un appel mais ça pourrait aussi faire l'affaire.
En faisant quelques recherches je suis tombé sur https://serverfault.com/questions/15224 … -recording . Je sais pas ce que vaut ce script perl. Faut peut-être prendre un format de fichier libre, donc éviter le mp3.
Sinon perso j'aurais tendance à creuser la doc de chat.
The chat program defines a conversational exchange between the computer and the modem. Its primary purpose is to establish the connection
between the Point-to-Point Protocol Daemon (pppd) and the remote's pppd process.
Donc je pense que chat ne sert qu'à établir la connection, et qu'il faut utiliser autre chose pour envoyer du son.
Dernière modification par Nuliel (Le 16/11/2023, à 21:35)
Hors ligne
#5 Le 17/11/2023, à 07:35
- bruno
Re : Commande Modem AT sur modem classique RTC
On ne sait pas du tout de quel type d'alarme il s'agit. On ne sait pas du tout de quel type de modem il s'agit. De toute façon les lignes RTC sont progressivement désactivées.
Dernière modification par bruno (Le 17/11/2023, à 07:42)
#6 Le 19/11/2023, à 03:49
- xunil2003
Re : Commande Modem AT sur modem classique RTC
Bonjour,
j'ai un modem usb avec chipset Connexant qui prend en charge le codage 8 bits U-Law/A-Law (G.711) et du codage linéaire 8 / 16 bits.. Taux d'échantillonnage de soutien 8KHz
Extrait lsusb
Bus 001 Device 015: ID 0572:1329 Conexant Systems (Rockwell), Inc.
Lien pour les caractéristiques du modem
https://fr.aliexpress.com/item/20324561 … Dfqk4upDCX
j'ai trouvé un script python que j'ai légèrement modifié mais je suis pas un spécialiste de la commande chat AT de modem.
#!/usr/bin/env python2
#-*- coding: utf-8 -*-
import serial
import wave
import time
FICHIER_AUDIO = "/home/laurent/record2.wav"
PHONE = "07xxxxxxxxxx"
ser = serial.Serial('/dev/ttyACM0', 115200, timeout=3)
ser.write("AT\r\n".encode())
ser.write("ATZ3\r\n".encode())
#ser.write("ATV1\r\n".encode())
#ser.write("ATE1\r\n".encode())
#ser.write("AT+VCID=1\r\n".encode())
print("ser.read(16) : ",ser.read(16))
ser.write("AT+FCLASS=8\r\n".encode())
print("ser.read(16) : ",ser.read(16))
ser.write("AT+VSM=128,8000\r\n".encode())
#ser.write('AT+VLS=1\r\n'.encode())
ser.write("ATDT"+PHONE+"\r\n".encode())
print("ser.read(16) : ",ser.read(16))
print("")
while True:
res = ser.readline()
print("res : ",res)
if res == "OK\r\n":
break
ser.write("AT+FLO=1 // XonXoff\r\n".encode())
ser.write("AT+VTX\r\n".encode())
while True:
res = ser.readline()
print("res : ",res)
if res == "CONNECT\r\n":
break
music = wave.open(FICHIER_AUDIO, 'r')
cont = True
while cont:
frame = music.readframes(1024)
if frame == '':
cont = False
ser.write(b"".join(frame))
ser.write("ATH0\r\n".encode())
Le numéro est composé mais il y a un bruit de fond comme un soufflement les paroles son hachuré.
Pour le fichier audio, dans un terminal j'ai tapé :
arecord -r 8000 -c 1 $HOME/record.wav
sox $HOME/record.wav -r 8000 -c 1 -b 8 $HOME/record2.wav
sox --i $HOME/record2.wav
Input File : '/home/laurent/record2.wav'
Channels : 1
Sample Rate : 8000
Precision : 8-bit
Duration : 00:00:03.34 = 26705 samples ~ 250.359 CDDA sectors
File Size : 26.8k
Bit Rate : 64.1k
Sample Encoding: 8-bit Unsigned Integer PCM
Je rappel que l'objectif est de pouvoir envoyer sur un modem classique un son audio (message d'alerte) au numéro composé pour la domotique x10 (message de confirmation de l’ordre domotique exécuté) depuis une ligne ADSL, Fibre, telecom vers une ligne fixe ou mobile.
Tout le monde n'a pas FreeMobile.
Pouvez vous m'aider.
Merci d'avance pour vos avis et conseils.
Dernière modification par xunil2003 (Le 19/11/2023, à 04:16)
- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 / Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE
Hors ligne
#7 Le 19/11/2023, à 07:49
- bruno
Re : Commande Modem AT sur modem classique RTC
Je n'y connais a peu près rien donc je suis incapable de le voir dans les caractéristiques techniques si c'est un modem vocal ou pas.
J'ai trouve ceci pour savoir si c'est le cas avec des commandes AT :
AT+FCLASS=?
doit renvoyer 8.
Type AT+FCLASS=? and you should receive a response that contains a 0 and one or more of the following: 1, 2, 2.0, 8 or 8.0.
0 Data
1 Class 1 Fax
2 Class 2 Fax
2.0 Class 2.0 Fax
8 Voice
8.0 Voice View
#8 Le 19/11/2023, à 11:16
- xunil2003
Re : Commande Modem AT sur modem classique RTC
Bonjour,
voila ce que me retour le modem avec
ser.write("AT+FCLASS=?\r\n".encode())
print("ser.read(16) : ",ser.read(16))
retour
('ser.read(16) : ', 'AT+FCLASS=?\r\r\n0,')
('ser.read(16) : ', '1,1.0,8\r\n\r\nOK\r\n\n')
donc
1 Class 1 Fax
1 Class 1 Fax
0 Data
8 Voice
Merci.
- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 / Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE
Hors ligne
Pages : 1