Bonjour,
Mon problème
Problème de modem :
15:14:31.002 → === Initialisation du modem A7670E intégré ===
15:14:33.976 → [INFO] Réveil du modem…
15:14:44.977 → [INFO] Envoi de la commande AT…
15:14:51.001 →
Aucun retour du modem…
J’essaie de connecter mon module à mon home assistant pour le contrôler par SMS, mais mon code n’a pas l’air de marcher, je comprends pas…
Voici mon code :
#define TINY_GSM_MODEM_A7670
#include <WiFi.h>
#include <TinyGsmClient.h>
#include <PubSubClient.h>
#include <SoftwareSerial.h>
// Configuration Wi-Fi
const char* ssid = "FIBRE";
// Remplacez par votre SSID
const char* password = "MDP";
// Remplacez par votre mot de passe
// Configuration GSM
SoftwareSerial SerialGSM(16, 17); // RX, TX
TinyGsm modem(SerialGSM);
TinyGsmClient gsmClient(modem);
PubSubClient mqtt(gsmClient);
const char* mqtt_server = "192.0.0.0.";
const char* mqtt_username = "USER";
const char* mqtt_password = "PASSWORD";
const char* topic_sms_receive =
"home/sms/receive"
;
const char* topic_sms_send = "home/sms/send";
// Liste des numéros de téléphone autorisés
const char* authorizedNumbers[] = {
"+33606060600"
, "+33606060606", "+33606060606"};
const int numAuthorized = 3;
void setup() {
Serial.begin(115200);
SerialGSM.begin(9600);
// Connexion au Wi-Fi
WiFi.begin(ssid, password);
Serial.print("Connecting to Wi-Fi...");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("Connected to Wi-Fi");
// Initialisation du modem GSM
modem.restart();
String modemInfo = modem.getModemInfo();
Serial.print("Modem Info: ");
Serial.println(modemInfo);
// Connexion au réseau GSM
Serial.print("Connecting to GSM network...");
if (!modem.waitForNetwork()) {
Serial.println(" fail");
} else {
Serial.println(" success");
}
// Connexion au broker MQTT
mqtt.setServer(mqtt_server, 1883);
mqtt.setCallback(mqttCallback);
}
void loop() {
// Vérifier la connexion Wi-Fi
if (WiFi.status() != WL_CONNECTED) {
Serial.println(
"Wi-Fi disconnected. Reconnecting..."
);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("Reconnected to Wi-Fi");
}
if (!mqtt.connected()) {
mqttConnect();
}
mqtt.loop();
// Vérifiez les SMS entrants
while (SerialGSM.available()) {
String senderNumber = modem.remoteNumber();
String sms = modem.readSMS();
// Vérifiez si le numéro est autorisé
if (isAuthorizedNumber(senderNumber)) {
mqtt.publish(topic_sms_receive, sms.
c_str
());
modem.sendUSSD("AT+CMGD=,4");
// Supprime tous les messages lus
} else {
Serial.println("Unauthorized number: " + senderNumber);
}
}
}
bool isAuthorizedNumber(String number) {
for (int i = 0; i < numAuthorized; i++) {
if (number == authorizedNumbers[i]) {
return true;
}
}
return false;
}
void mqttCallback(char* topic, byte* payload, unsigned int length) {
String message;
for (unsigned int i = 0; i < length; i++) {
message += (char)payload[i];
}
// Envoyer un SMS à chaque numéro autorisé
if (String(topic) == topic_sms_send) {
for (int i = 0; i < numAuthorized; i++) {
modem.sendSMS(authorizedNumbers[i], message);
delay(2000); // Attendre un peu entre chaque envoi
}
}
}
void mqttConnect() {
while (!mqtt.connected()) {
Serial.print("Connecting to MQTT...");
if (mqtt.connect("GsmClient", mqtt_username, mqtt_password)) {
Serial.println("connected");
mqtt.subscribe(topic_sms_send);
} else {
Serial.print("failed, status code =");
Serial.print(mqtt.state());
delay(5000);
}
}
}
Ma configuration
System Information
| version |
core-2025.4.1 |
| installation_type |
Home Assistant OS |
| dev |
false |
| hassio |
true |
| docker |
true |
| user |
root |
| virtualenv |
false |
| python_version |
3.13.2 |
| os_name |
Linux |
| os_version |
6.12.20-haos |
| arch |
x86_64 |
| timezone |
Europe/Paris |
| config_dir |
/config |
Home Assistant Community Store
| GitHub API |
ok |
| GitHub Content |
ok |
| GitHub Web |
ok |
| HACS Data |
ok |
| GitHub API Calls Remaining |
5000 |
| Installed Version |
2.0.5 |
| Stage |
running |
| Available Repositories |
1635 |
| Downloaded Repositories |
18 |
Home Assistant Cloud
| logged_in |
true |
| subscription_expiration |
1 janvier 2018 à 01:00 |
| relayer_connected |
false |
| relayer_region |
null |
| remote_enabled |
false |
| remote_connected |
false |
| alexa_enabled |
true |
| google_enabled |
false |
| cloud_ice_servers_enabled |
true |
| remote_server |
null |
| certificate_status |
null |
| instance_id |
f7629286de654510b6fa6202c3daed81 |
| can_reach_cert_server |
ok |
| can_reach_cloud_auth |
ok |
| can_reach_cloud |
ok |
Home Assistant Supervisor
| host_os |
Home Assistant OS 15.1 |
| update_channel |
stable |
| supervisor_version |
supervisor-2025.03.4 |
| agent_version |
1.7.2 |
| docker_version |
28.0.4 |
| disk_total |
30.8 GB |
| disk_used |
6.3 GB |
| healthy |
true |
| supported |
true |
| host_connectivity |
true |
| supervisor_connectivity |
true |
| ntp_synchronized |
true |
| virtualization |
kvm |
| board |
ova |
| supervisor_api |
ok |
| version_api |
ok |
| installed_addons |
Zigbee2MQTT (2.2.1-1), Cloudflared (5.2.12), File editor (5.8.0), Linky (1.5.0), go2rtc (1.9.9), Mosquitto broker (6.5.0), Terminal & SSH (9.16.0) |
Dashboards
| dashboards |
1 |
| resources |
12 |
| views |
6 |
| mode |
storage |
Network Configuration
| adapters |
lo (disabled), enp0s18 (enabled, default, auto), docker0 (disabled), hassio (disabled), vethaacec3f (disabled), veth434049f (disabled), veth552c987 (disabled), veth3ecf568 (disabled), vethec63848 (disabled), vethcafb510 (disabled), veth74273b9 (disabled), veth37ddf90 (disabled), veth5131853 (disabled), vethe104516 (disabled), vethaded4c6 (disabled), veth3cdf908 (disabled) |
| ipv4_addresses |
lo (127.0.0.1/8), enp0s18 (192.168.1.76/24), docker0 (172.30.232.1/23), hassio (172.30.32.1/23), vethaacec3f (), veth434049f (), veth552c987 (), veth3ecf568 (), vethec63848 (), vethcafb510 (), veth74273b9 (), veth37ddf90 (), veth5131853 (), vethe104516 (), vethaded4c6 (), veth3cdf908 () |
| ipv6_addresses |
lo (::1/128), enp0s18 (2a02:8428:8ef1:6401:1a8d:cfbe:5279:17a9/64, fe80::4bf7:b620:ec74:64ff/64), docker0 (fe80::24b2:13ff:fe40:24d0/64), hassio (fe80::881e:a9ff:fe21:7f32/64), vethaacec3f (fe80::70d6:13ff:fef7:9b3a/64), veth434049f (fe80::784a:3aff:fe7a:122d/64), veth552c987 (fe80::7892:bff:fe2c:5d4f/64), veth3ecf568 (fe80::ac79:87ff:fed1:cd87/64), vethec63848 (fe80::20b0:7eff:fe62:94bf/64), vethcafb510 (fe80::d028:d5ff:fe05:9eeb/64), veth74273b9 (fe80::436:4fff:fe06:8029/64), veth37ddf90 (fe80::fc35:85ff:fee9:af54/64), veth5131853 (fe80::8038:2dff:fe64:392c/64), vethe104516 (fe80::180d:fcff:fec9:6949/64), vethaded4c6 (fe80::d4f2:4fff:fec5:e17b/64), veth3cdf908 (fe80::d832:ccff:fe7d:b4b1/64) |
| announce_addresses |
192.168.1.76, 2a02:8428:8ef1:6401:1a8d:cfbe:5279:17a9, fe80::4bf7:b620:ec74:64ff |
Recorder
| oldest_recorder_run |
28 mars 2025 à 21:24 |
| current_recorder_run |
8 avril 2025 à 23:33 |
| estimated_db_size |
105.80 MiB |
| database_engine |
sqlite |
| database_version |
3.48.0 |
___
Visiblement, L'ESP32 n'arrive pas à communiquer avec l'A7670E (en envoyant des commandes AT).
Essayez simplement avec un programme disponible dans les exemples, pour commencer 
Je suivrais le sujet avec intérêt, ma SIM arrive en fin de semaine et je ferais mumuse avec la même genre de chose 
Merci beaucoup ! Je viens de tester un code et ça fonctionne. J’ai programmé pour envoyer et recevoir des SMS afin de contrôler ma maison intelligente, et ça marche parfaitement. N’hésite pas si tu as besoin d’aide. 