Notice d'utilisation (complément)
REST API - commandes
11652926 / 00 12 / 2024
AE9000
AE9001
FR
AE9000 AE9001
REST API - commandes
Contenu
1
Remarques préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Objectif du document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Notes légales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Symboles utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Avertissements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Historique des modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
3
3
3
4
2
Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
3
Commandes REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1 Commande readconfigtree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Commande writeconfigtree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Commande backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Commande restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Commande factoryreset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.6 Commande info. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.7 Commande log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.8 Commande sysloginfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.9 Commande reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.10 Commande ulmp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.11 Commande update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.12 Commande dhcpleases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.13 Commande simcard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.14 Position de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.15 Commande openvpnconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.16 Commande openvpnlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.17 Commande openvpnstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.18 Commande sms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2
REST API - commandes
1
AE9000 AE9001
Remarques préliminaires
Notice d’utilisation, données techniques, homologations et informations supplémentaires via le code
QR sur l’appareil / l’emballage ou sur documentation.ifm.com.
1.1
Objectif du document
Ce document décrit les commandes disponibles pour l’API REST du routeur Industrial LTE 4G.
Ce document s’adresse à des personnes familiarisées avec le produit et disposant de connaissances
spécialisées en matière de communication sans fil et de technologie de réseau.
1.2
Notes légales
© Tous droits réservés par ifm electronic gmbh. Cette notice ne peut être reproduite ou exploitée,
même par extraits, sans l’accord d’ifm electronic gmbh.
Tous les noms de produits, les images, sociétés ou autres marques sont la propriété de leurs
titulaires.
•
Fabricant :
HMS Industrial Networks AB
Stationsgatan 37
302 50 Halmstad
Suède
•
Distribution :
ifm electronic gmbh
Friedrichstraße 1
45128 Essen
Allemagne
1.3
Symboles utilisés
Condition préalable
Action à effectuer
Réaction, résultat
[...]
Désignation d'une touche, d'un bouton ou d'un affichage
Référence
Remarque importante
Le non-respect peut aboutir à des dysfonctionnements ou perturbations
Information
Remarque supplémentaire
1.4
Avertissements
Les avertissements mettent en garde contre d’éventuels dommages corporels et matériels. Cela
permet une utilisation sûre du produit. Les avertissements sont gradués comme suit :
AVERTISSEMENT
Avertissement de dommages corporels graves
w Des blessures mortelles ou graves sont possibles si l’avertissement n’est pas respecté.
3
AE9000 AE9001
REST API - commandes
ATTENTION
Avertissement de dommages corporels légers à modérés
w Des blessures légères à modérées sont possibles si l’avertissement n’est pas respecté.
INFORMATION IMPORTANTE
Avertissement sur les dommages matériels
w Des dommages matériels sont possibles si l’avertissement n’est pas respecté.
1.5
Clause de non-responsabilité
Les informations contenues dans ce document sont données uniquement à titre informatif. Veuillez
informer ifm electronic en cas d’imprécisions ou d’omissions dans ce document. ifm electronic décline
toute responsabilité pour toutes erreurs qui pourraient figurer dans ce document.
ifm electronic se réserve le droit de modifier ses produits dans le cadre du développement continu des
produits. Les informations contenues dans ce document ne doivent donc pas s’entendre comme une
obligation de la part d’ifm electronic et peuvent être modifiées sans préavis. ifm electronic décline
toute obligation d’actualiser les informations contenues dans ce document ou de les mettre à l’état de
l’art.
Les données, exemples et illustrations contenues dans ce document sont données à titre illustratif et
sont uniquement destinées à contribuer à une meilleure compréhension du fonctionnement et de la
manipulation du produit. Compte tenu du large éventail d’applications possibles du produit et en raison
des nombreuses variables et exigences qui sont liées à chaque implémentation particulière, ifm
electronic ne peut assumer de responsabilité pour l’usage effectif sur la base des données, exemples
ou illustrations contenues dans ce document ou pour tout dommage survenant lors de l’installation du
produit. Les personnes qui sont responsables de l’utilisation du produit doivent acquérir des
connaissances suffisantes pour assurer que le produit soit utilisé correctement dans son application
spécifique et que son emploi remplisse toutes les exigences de performance et de sécurité, y compris
toutes les lois, spécifications, règles et normes applicables. Par ailleurs, ifm electronic n’assume
aucune responsabilité, quelle qu’elle soit, pour tout problème qui résulterait de l’utilisation de fonctions
non renseignées ou d’effets secondaires fonctionnels dépassant le cadre renseigné du produit. Les
répercussions qui sont causées par un usage direct ou indirect de tels aspects du produit ne sont pas
définies et peuvent inclure par exemple des problèmes de compatibilité et de stabilité.
1.6
Historique des modifications
Version
Sujet
Date
00
Nouvelle création du document
12 / 2024
4
REST API - commandes
2
AE9000 AE9001
Authentification
Toutes les requêtes HTTP vers l’API REST doivent être authentifiées à l’aide du « Basic HTTP
Authentication Scheme » (RFC7617).
L’authentification de base se fait en ajoutant un paramètre d’en-tête à la requête HTTP :
Authorization: Basic <Base64 encoding of user-id:password>
L’identifiant est toujours « admin » et le mot de passe est le mot de passe web actuellement utilisé,
soit le mot de passe par défaut fourni avec le produit, soit le nouveau mot de passe s’il a été modifié.
Exemple :
User-id: admin
Password: abc123
String to Base64-encode: admin:abc123
Completed header parameter:
Authorization: Basic YWRtaW46YWJjMTIz
5
AE9000 AE9001
REST API - commandes
3
Commandes REST
3.1
Commande readconfigtree
Lire les informations d’une arborescence de configuration et les afficher sous forme de date JSON
3.1.1
Syntaxe
GET <target_ip>/cgi-bin/readconfigtree.cgi?path=<tree_path>
3.1.2
Paramètres de requête
Nom
Description
target_ip
Adresse IP de l’appareil (par exemple 192.168.0.98)
tree_path
Chemin d’accès à un nœud de l’arborescence de configuration
3.1.3
Valeurs de retour
Structure JSON contenant les données demandées.
3.1.4
Exemples
Exemple : Lire un seul nœud de configuration
•
Demande :
GET http://<target_ip>/cgi-bin/readconfigtree.cgi?path=web:/settings/lock
•
Réponse :
{
"name":"lock",
"type":"bool",
"value":true
}The example ...
Exemple : Lire une arborescence de configuration
•
Demande :
GET http://<target_ip>/cgi-bin/readconfigtree.cgi?path=web:
•
6
Réponse :
REST API - commandes
AE9000 AE9001
{
"name":"",
"type":"tree",
"children":[{
"name":"settings",
"type":"stem",
"children":[{
"name":"lock",
"type":"bool",
"value":true
}]
}]
}
7
AE9000 AE9001
3.2
REST API - commandes
Commande writeconfigtree
Ecrire des informations dans une arborescence de configuration
3.2.1
Syntaxe
GET <target_ip>/cgi-bin/writeconfigtree.cgi?path=<tree_path>&value=<new_value>
3.2.2
Paramètres de requête
Nom
Description
target_ip
Adresse IP de l’appareil (par exemple 192.168.0.98)
tree_path
Chemin d’accès à un nœud de l’arborescence de configuration
new_value
Nouvelle valeur à écrire sur le nœud
3.2.2.1 Chemins de configuration
Chemins de configuration disponibles :
Chemin
Description
router:/settings/ipAddr
Adresse IP
router:/settings/netMask
Masque de sous-réseau
router:/settings/dhcpEnable
Activer le serveur DHCP (true) ou le désactiver (false)
router:/settings/auth
Activer l’authentification APN (true) ou la désactiver (false)
router:/settings/authUser
Authentification APN : Utilisateur
router:/settings/authPass
Authentification APN : Mot de passe
router:/settings/dhcpRangeStart
Adresse de départ DHCP : 1 à 254
router:/settings/dhcpRangeStop
Adresse de départ DHCP : dhcpRangeStart…254
router:/settings/apn
Access Point Name (APN)
router:/settings/rat
Radio Access Technology (RAT):
auto, lte-m1+gsm, lte-m1+lte-nb1, lte-nb1+gsm, lte-nb1+gsm, lte-m1, lte-nb1 ou
gsm
router:/settings/ratOrder
Liste des préréglages du modem, ordre de recherche RAT :
6 combinaisons de LTE-M1, LTE-NB1 et GSM (IoT only)
router:/settings/natMode
Mode NAT : disabled, nat11
router:/settings/natTarget
Adresse de destination locale pour NAT1:1
router:/settings/natSourceFilter
NAT – filtre de source :: any, host, network, range
router:/settings/natSourceIp
NAT - IP de source : Liste séparée par des virgules de jusqu’à 5 IP (applicable
uniquement si le filtre est host)
router:/settings/natSourceBaseIp
NAT - IP de base source (applicable uniquement si le filtre est network)
router:/settings/natSourceMask
NAT - masque de réseau source (applicable uniquement si le filtre est network)
router:/settings/natSourceRangeStart
NAT - début de la plage d’IP source (applicable uniquement si le filtre est range)
router:/settings/natSourceRangeStop
NAT - fin de la plate d’IP source (applicable uniquement si le filtre est range)
router:/settings/openvpnEnable
Activer le client OpenVPN (true) ou le désactiver (false)
web:/settings/lock
Activer le verrouillage de la configuration (true) ou le désactiver (false)
web:/settings/password
Mot de passe pour le Web et l’API REST (caractères valides : a-z, A-Z, 0-9, -, _)
position:/settings/enable
Activer le service de positionnement (<emphasis (true) ou le désactiver (false)
u Pour appliquer et utiliser les nouveaux paramètres, redémarrer l’appareil.
8
REST API - commandes
3.2.3
AE9000 AE9001
Valeurs de retour
{
"success":<value>
}
value
Description
true
Demande terminée avec succès.
false
Echec de la demande ou erreur de validation ou configuration verrouillée
3.2.4
Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/writeconfigtree.cgi?path=router:/settings/
apn&value=my_apn.company.com
•
Réponse :
{
"success":true
}
Exemple :
•
Demande :
http://192.168.0.99/cgi-bin/writeconfigtree.cgi?path=router:/settings/
ratOrder&amp;value=GSM,LTE-NB1,LTE-M1
•
Réponse :
{
"success":true
}
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/writeconfigtree.cgi?path=router:/settings/
natSourceFilterMode&value=host
•
Réponse :
{
"success":true
}
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/writeconfigtree.cgi?path=router:/settings/
natSourceIp&value=10.10.0.1,10.20.0.1,10.30.0.1,10.40.0.1,10.50.0.1
•
Réponse :
9
AE9000 AE9001
{
"success":true
}
10
REST API - commandes
REST API - commandes
3.3
AE9000 AE9001
Commande backup
Sauvegarder la configuration de l’appareil dans un fichier
3.3.1
Syntaxe
GET <target_ip>/cgi-bin/backup.cgi
3.3.2
Paramètres de requête
Aucun
3.3.3
Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/backup.cgi
•
Réponse :
{
"success":true
}
11
AE9000 AE9001
3.4
Commande restore
Restaurer la configuration de l’appareil à partir d’un fichier
3.4.1
Syntaxe
POST http://<target_ip>/cgi-bin/restore.cgi
3.4.2
Paramètres de requête
Aucun
3.4.3
Données de la requête
Contenu du fichier de sauvegarde
3.4.4
Valeurs de retour
{
"success":<value>
}
value
Description
true
Demande terminée avec succès.
false
Echec de la demande ou erreur de validation ou configuration verrouillée
3.4.5
Exemples
Exemple :
•
Demande :
POST http://<target_ip>/cgi-bin/restore.cgi
•
Réponse :
{
"success":true
}
12
REST API - commandes
REST API - commandes
3.5
AE9000 AE9001
Commande factoryreset
Remettre l'appareil aux réglages de base effectués en usine
3.5.1
Syntaxe
GET <target_ip>/cgi-bin/factoryreset.cgi
3.5.2
Paramètres de requête
Aucun
3.5.3
Valeurs de retour
{
"success":<value>
}
value
Description
true
Demande terminée avec succès.
false
Echec de la demande ou configuration bloquée
3.5.4
Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/factoryreset.cgi
•
Réponse :
{
"success":true
}
13
AE9000 AE9001
3.6
REST API - commandes
Commande info
Consulter les informations sur la durée de fonctionnement
3.6.1
Syntaxe
GET <target_ip>/cgi-bin/info.cgi
3.6.2
Paramètres de requête
Aucun
3.6.3
Valeurs de retour
Structure JSON contenant les informations suivantes :
Valeur
Description
uptime
Temps de fonctionnement de l’appareil
time
Temps système de l’appareil (UTC)
radio_power
Etat de l’alimentation du module radio
• 0 : Désactivées
• 1 : Allumée
sim
Etat de la carte SIM
signal_strength
Intensité du signal ; Plage de valeurs : 0 à 5
signal_strength_raw
Intensité du signal (raw CSQ) ; plage de valeurs : 0 à 31
signal_quality
Qualité du signal (en dBm)
cell_id
Identificateur de la cellule radio
lac
Location Area Code de la cellule radio
tac
Tracking Area Code de la cellule radio (seulement LTE)
rat
Technologie d’accès radio actuellement utilisée
• 0 : Inconnu
• 1 : GSM
• 2 : UTMS
• 3 : LTE
operator
type de connexion actuellement utilisé
status
Etat de la connexion réseau
• 0 : Non enregistré et ne cherchant pas
• 1 : Enregistré dans le réseau domestique
• 2 : A la recherche d’un nouvel opérateur
• 3 : Enregistrement refusé
• 4 : Inscription au réseau d’itinérance
• 5 : État inconnu
amplifier_temp
Température de l’amplificateur (en °C)
controller_temp
Température du contrôleur (en °C)
connection_state
Etat de la session de données
• 0 : Non connecté
• 1 : Authentification en cours
• 2 : Connecté
• 3 : Suspendu
• 4 : Entrant (MT-PDP context request)
voltage
14
Tension (en mV)
REST API - commandes
AE9000 AE9001
Valeur
Description
iotbolt_version
Version IoT de l’appareil
modem_model
Nom du modèle de modem
modem_version
Version du firmware du modem
pri
Nom et version de l’opérateur de réseau
apn
APN actuellement utilisé
rat_specific
Technologie d’accès de la cellule radio
• 0 : GSM
• 1 : GSM Compact
• 2 : UTRAN
• 3 : GSM avec EGPRS
• 4 : UTRAN avec HSDPA
• 5 : UTRAN avec HSUPA
• 6 : UTRAN avec HSDPA et HSUPA
• 7 : CAT-M1
• 8 : GSM-IoT
• 9 : NB-IoT
imsi
International Mobile Subscriber Identity
imei
International Mobile Equipment Identity
cellular_gateway
Adresse IP de la passerelle de la cellule radio
cellular_ip
ID de la cellule radio
iccid
ICCID de la carte SIM
active_band
Bande de fréquence utilisée
3.6.4
Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/info.cgi
•
Réponse :
15
AE9000 AE9001
{
"uptime":"4287",
"time":"2019-11-19 13:35:48",
"radio_power":"1",
"sim":"2",
"signal_strength":"4",
"signal_strength_raw":"23",
"signal_quality":"1",
"cell_id":"26269452",
"lac":"4294967295",
"tac":"0x85",
"rat":"4",
"operator":"TELIA S",
"status":"4",
"amplifier_temp":"35",
"controller_temp":"35",
"connection_state":"2",
"voltage":"3807",
"iotbolt_version":"1.00.20-dev",
"modem_model":"WP7607",
"modem_version":"SWI9X06Y_02.16.06.00",
"pri":"GENERIC_001.028_001",
"apn":"",
"rat_specific":"9",
"imsi":"238208700452254",
"imei":"352653090129735",
"cellular_ip":"10.81.177.33",
"iccid":"89450421170203490357",
"active_band":"B20"
}
16
REST API - commandes
REST API - commandes
3.7
AE9000 AE9001
Commande log
Afficher le fichier journal du système
3.7.1
Syntaxe
GET <target_ip>/cgi-bin/log.cgi
3.7.2
Paramètres de requête
Aucun
3.7.3
Valeurs de retour
Fichier journal en texte clair
3.7.4
Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/log.cgi
•
Réponse :
Oct 9 10:03:18 Legato: INFO | Version: 1.00.18-dev
Oct 9 10:03:18 Legato: INFO | Boot reason: Power-on
Jan 6 00:00:23 Legato: INFO | eth0 IP address: 192.168.0.98 - netmask:
255.255.254.0
Jan 6 00:00:23 Legato: INFO | eth0 DHCP server: on
Jan 6 00:00:23 Legato: INFO | APN auth is: off
Jan 6 00:00:23 Legato: INFO | DHCP range start - stop: 192.168.0.100 192.168.0.200
Jan 6 00:00:24 Legato: INFO | IP address/netmask set to:
192.168.0.98/255.255.254.0
Jan 6 00:00:24 Legato: INFO | Setting no auth for APN
Jan 6 00:00:24 Legato: INFO | Setting configured RAT: "gsm": 0x01
Jan 6 00:00:24 Legato: INFO | Data connection requested
Oct 17 12:02:43 Legato: INFO | Data connected, interface 'rmnet_data0'
Oct 17 12:02:43 Legato: INFO | Restarting DHCP/DNS services
17
AE9000 AE9001
3.8
Commande sysloginfo
Créer une archive contenant tous les fichiers journaux du système
3.8.1
Syntaxe
GET <target_ip>/cgi-bin/sysloginfo.cgi
3.8.2
Paramètres de requête
Aucun
3.8.3
Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/sysloginfo.cgi
•
Réponse :
<octet stream containing the archive>
18
REST API - commandes
REST API - commandes
3.9
AE9000 AE9001
Commande reboot
Redémarrer l’appareil.
3.9.1
Syntaxe
GET <target_ip>/cgi-bin/reboot.cgi
3.9.2
Paramètres de requête
Aucun
3.9.3
Valeurs de retour
{
"success":<value>
}
value
Description
true
Requête terminée avec succès
false
Demande échouée
3.9.4
Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/reboot.cgi
•
Réponse :
{
"success":true
}
19
AE9000 AE9001
3.10
REST API - commandes
Commande ulmp
Le Industrial LTE 4G Router US (numéro d’article : AE9001) ne prend pas en charge la
commande REST ulmp .
Mettre l’appareil en mode ultra basse consommation (ULPM) pendant une durée déterminée. Une fois
le délai défini écoulé, l’appareil repasse en mode de fonctionnement normal.
3.10.1 Syntaxe
GET <target_ip>/cgi-bin/ulpm.cgi?duration=<time in seconds>
3.10.2 Paramètres de requête
Nom
Description
duration
Durée pendant laquelle l’appareil doit être placé en ULPM (valeur en s) ; Plage de valeurs : 60 à
86400
3.10.3 Valeurs de retour
{
"success":<value>,
"message":"<additional info>"
}
value
Description
true
Demande terminée avec succès.
false
Echec de la demande ou erreur de validation
3.10.4 Exemples
Exemple : Activer le mode Ultra Low Power et régler l’intervalle de mise en veille sur 300 s (5 min)
•
Demande :
GET http://<target_ip>/cgi-bin/ulpm.cgi?duration=300
•
Réponse :
{
"success":true,
"message":"sleeping for 300 s"
}
20
REST API - commandes
3.11
AE9000 AE9001
Commande update
Mettre à jour le firmware de l’appareil.
3.11.1 Syntaxe
POST http://<target_ip>/cgi-bin/update.cgi
3.11.2 Paramètres de requête
Aucun
3.11.3 Données de la requête
Contenu du firmware (.fws)
3.11.4 Valeurs de retour
Fourniture de l’état du processus de mise à jour au format HTML.
u Pour déterminer le résultat, rechercher les chaînes de caractères « SUCCESS » (succès) et
« FAILED » (échec).
3.11.5 Exemples
Exemple :
•
Demande :
POST http://<target_ip>/cgi-bin/update.cgi
•
Réponse :
Trying to update...Unpacking: 0% FAILED: error code 2
21
AE9000 AE9001
3.12
REST API - commandes
Commande dhcpleases
Retour d’une liste de baux DHCP
3.12.1 Syntaxe
GET <target_ip>/cgi-bin/dhcpleases.cgi
3.12.2 Paramètres de requête
Aucun
3.12.3 Valeurs de retour
Sortie texte des baux DHCP au format dnsmasq.leases.
3.12.4 Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/dhcpleases.cgi
•
Réponse :
1573275080 00:e0:4c:34:92:e9 192.168.0.168 LT-5Q1XWT2 01:00:e0:4c:34:92:e9
22
REST API - commandes
3.13
AE9000 AE9001
Commande simcard
Consultation de l’état du PIN et du PUK de la carte SIM ou du résultat d’une saisie du PIN ou du PUK
de la carte SIM.
Le code PIN saisi et validé sera utilisé lors de tous les redémarrages ultérieurs, tant que la même
carte SIM est insérée dans l’appareil.
Lors du déblocage de la carte SIM avec un PUK, un nouveau code PIN doit être saisi. Le nouveau
code PIN sera utilisé lors de tous les redémarrages ultérieurs, tant que la même carte SIM est insérée
dans l’appareil.
3.13.1 Syntaxe
Consulter l’état du PIN et du PUK :
GET http://<target_ip>/cgi-bin/simcard.cgi?status=
Valider la carte SIM avec le code PIN :
GET http://<target_ip>/cgi-bin/simcard.cgi?pin=12345678
Débloquer la carte SIM avec le PUK et définir un nouveau PIN :
GET http://<target_ip>/cgi-bin/simcard.cgi?pin=12345678&puk=87654321
3.13.2 Paramètres de requête
Nom
Description
status
Etat de la requête
pin
PIN de la carte SIM
puk
PUK de la carte SIM
3.13.3 Valeurs de retour
{
"success":<value>,
"needspin":<pin validation status>,
"needspuk":<puk unblock sim status>,
"message":"<additional info>"
}
value
Description
vrai
La carte SIM est prête
faux
Une interaction de l’utilisateur est requise (insertion de la carte SIM, saisie du code PIN ou
PUK, etc.)
pin validation status
Description
vrai
Le code PIN de la carte SIM est nécessaire
faux
Le code pin de la carte SIM n’est pas nécessaire
23
AE9000 AE9001
REST API - commandes
puk unblock sim status
Description
vrai
PUK nécessaire pour débloquer la carte SIM
faux
PUK non nécessaire pour débloquer la carte SIM
3.13.4 Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/simcard.cgi?status=
•
Réponse :
{
"success":true,
"needspin":false,
"needspuk":false,
"message":"SIM PIN code correctly entered, or not required. "
}
{
"success":false,
"needspin":false,
"needspuk":false,
"message":"SIM card absent. "
}
{
"success":false,
"needspin":true,
"needspuk":false,
"message":"SIM card present and needs PIN, 3 tries left. "
}
{
"success":false,
"needspin":false,
"needspuk":true,
"message":"SIM card blocked, 10 PUK tries left. "
}
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/simcard.cgi?pin=0000
•
Réponse :
{
"success":true,
"needspin":false,
"needspuk":false,
"message":"SIM PIN code correctly entered, or not required."
}
24
REST API - commandes
AE9000 AE9001
{
"success":true,
"needspin":false,
"needspuk":false,
"message":"SIM PIN code correctly entered, or not required. SIM PIN validated
successfully, and stored for subsequent use"
}
{
"success":false,
"needspin":true,
"needspuk":false,
"message":"SIM card present and needs PIN, 2 tries left. SIM PIN validation
failed"
}
{
"success":false,
"needspin":false,
"needspuk":true,
"message":"SIM card blocked, 10 PUK tries left. SIM PIN validation failed"
}
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/simcard.cgi?pin=12345678&puk=87654321
•
Réponse :
{
"success":true,
"needspin":false,
"needspuk":false,
"message":"SIM PIN code correctly entered, or not required."
}
{
"success":true,
"needspin":false,
"needspuk":false,
"message":"SIM PIN code correctly entered, or not required. Successfully
unblocked the SIM, and stored PIN for subsequent use"
}
{
"success":false,
"needspin":true,
"needspuk":false,
"message":"SIM card present and needs PIN, 3 tries left."
}
25
AE9000 AE9001
REST API - commandes
{
"success":false,
"needspin":false,
"needspuk":true,
"message":"SIM card blocked, 9 PUK tries left. Set PUK failed"
}
{
"success":false,
"needspin":false,
"needspuk":false,
"message":"SIM PIN terminated, no PUK tries left. Set PUK failed"
}
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/simcard.cgi?something
GET http://<target_ip>/cgi-bin/simcard.cgi?puk=12345678
•
Réponse :
{
"success":false,
"message":"Missing parameters: no 'status' or 'pin'"
}
26
REST API - commandes
3.14
AE9000 AE9001
Position de commande
Retour de la position de l’appareil (GNSS).
3.14.1 Syntaxe
GET <target_ip>/cgi-bin/position.cgi
3.14.2 Paramètres de requête
Aucun
3.14.3 Valeurs de retour
Structure JSON contenant les informations suivantes :
Valeur
Description
state
Etat du service de positionnement
• Disabled : GNSS-Gerät ist deaktiviert
• Unintialized : GNSS-Gerät ist nicht initialisiert
• Ready : GNSS-Gerät ist bereit
• Active : L’appareil GNNS est actif
• Unknown : état inconnu
valid
Validité de la position
• true : position valide
• false : position non valide
latitude
Latitude (valeur décimale)
longitude
Longitude (valeur décimale)
accuracy
Précision (en m)
3.14.4 Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/position.cgi
•
Réponse :
{
"state":"Active",
"valid":true,
"latitude":56.665728,
"longitude":12.863710,
"accuracy":26.000000
}
27
AE9000 AE9001
3.15
REST API - commandes
Commande openvpnconfig
Télécharger la configuration du client OpenVPN (fichier .ovpn) qui doit être utilisée.
u S’assurer que le paramètre [openvpnEnable] dans les paramètres du routeur a la valeur [true] pour
que la configuration puisse être utilisée.
3.15.1 Syntaxe
POST http://<target_ip>/cgi-bin/openvpnconfig.cgi
3.15.2 Paramètres de requête
Aucun
3.15.3 Données de la requête
Le contenu du fichier de configuration OpenVPN.
3.15.4 Valeurs de retour
{
"success":<value>
}
value
Description
true
Demande terminée avec succès.
false
Echec de la demande ou erreur de validation ou configuration verrouillée
28
REST API - commandes
3.16
AE9000 AE9001
Commande openvpnlog
Récupérer le journal OpenVPN.
3.16.1 Syntaxe
GET http://<target_ip>/cgi-bin/openvpnlog.cgi
3.16.2 Paramètres de requête
Aucun
3.16.3 Valeurs de retour
Fichier journal en texte clair
3.16.4 Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/openvpnlog.cgi
•
Réponse :
2023-03-03 14:57:20 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but
missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version
will ignore –cipher for cipher negotiations. Add 'AES-256-CBC' to --dataciphers or change --cipher 'AES-256-CBC' to --data-ciphers-fallback 'AES-256CBC' to silence this warning.
2023-03-03 14:57:20 OpenVPN 2.5.7 arm-poky-linux-gnueabi [SSL (OpenSSL)] [LZO]
[LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Sep 15 2022
2023-03-03 14:57:20 library versions:OpenSSL 1.0.2p 14 Aug 2018, LZO 2.10
2023-03-03 14:57:20 Outgoing Control Channel Authentication: Using 256 bit
message hash 'SHA256' for HMAC authentication
29
AE9000 AE9001
3.17
Commande openvpnstat
Consulter les statistiques OpenVPN.
3.17.1 Syntaxe
GET http://<target_ip>/cgi-bin/openvpnstat.cgi
3.17.2 Paramètres de requête
Aucun
3.17.3 Valeurs de retour
Fichier de statistiques en texte clair.
3.17.4 Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/openvpnstat.cgi
•
Réponse :
OpenVPN STATISTICS
Updated,2023-03-03 14:59:21
TUN/TAP read bytes,0
TUN/TAP write bytes,0
TCP/UDP read bytes,4391
TCP/UDP write bytes,3988
Auth read bytes,224
pre-compress bytes,0
post-compress bytes,0
pre-decompress bytes,0
post-decompress bytes,0
END
30
REST API - commandes
REST API - commandes
3.18
AE9000 AE9001
Commande sms
Recevoir ou envoyer des SMS.
Caractères autorisés - Envoyer :
•
Jeu de caractères ASCII
Caractères autorisés - Recevoir :
•
Jeu de caractères UTF8
•
Les SMS binaires et PDU sont convertis en texte hexadécimal de deux caractères. Le décodage
doit être effectué par l’appelant.
•
Plusieurs appels à l’API peuvent être nécessaires pour obtenir toutes les parties d’un SMS PDU.
3.18.1 Syntaxe
Recevoir :
GET http://<target_ip>/cgi-bin/sms.cgi?receive=
Envoyer :
GET http://<target_ip>/cgi-bin/sms.cgi?sendtext=My SMS text!
&sendnumber=+460123456789
3.18.2 Paramètres de requête
Nom
Description
receive
Recevoir et supprimer des SMS dans la mémoire du modem
sendtext
Texte à envoyer
sendnumber
Numéro de téléphone auquel envoyer
3.18.3 Valeurs de retour
Structure JSON contenant les informations suivantes :
Valeur
Description
success
Etat de la requête
• false : Envoi/réception échoué ; aucun message disponible
• true : Message disponible, message envoyé
type
Type de message : texte, PDU et PDU binaire et bin deviennent two char hex text
message
Contenu du message : Le type de PDU peut nécessiter plus d’un appel pour recevoir le message en entier
fromnumber
Numéro de soirée / alias (si type de PDU, vide ; Le numéro est intégré dans le PDU)
error
Informations d’erreur sur la radio, la SIM, le réseau, etc.
3.18.4 Exemples
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/sms.cgi?receive=
•
Réponse :
31
AE9000 AE9001
REST API - commandes
{
"success":false,
"message":,
"fromnumber":,
"error":"SIM card absent"
}
{
"success":false,
"message":,
"fromnumber":,
"error":"No messages found"
}
{
"success":true,
"type":"text",
"message":"A nice short SMS",
"fromnumber":"+461234567890"
}
{
"success":true,
"type":"text",
"message":"A text with newline:\n and other json protected chars like \" and
\/ and \\",
"fromnumber":"+461234567890"
}
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/sms.cgi?receive=
•
Réponse :
{
"success":true,
"type":"PDU",
"message":"07916407970900F1400B916407644905F5000032303180456440A00500038D0201
8220769A4E679741ECB7FB5C9683E8653C5D7145A7C768D0F8EDA687D36E907AFE7683E0F237BD3
CA697C9A0313A2C9F83D8E97519240285DD64D0CB050ABAC9A0F01C94A683D2735018C44ED3E9EC
32489CA683D86FF7B92C07A5E9A076380F129741E3379B5D1ED3CB6450780E0A83A0C42A889E879
74166F9BB0DA2A3CB2066F91CA6BF41",
"fromnumber":""
}
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/sms.cgi?receive=
•
32
Réponse :
REST API - commandes
AE9000 AE9001
{
"success":true,
"type":"PDU",
"message":"07916407970900F1440B916407644905F5000032303180345040340500038C0202
E42072D90D7A8FD120771D547683E869361B2402B5CB6410DDFE009D40F00768CEAED3CBF4D3C90
5",
"fromnumber":""
}
Exemple :
•
Demande :
GET http://<target_ip>/cgi-bin/sms.cgi?sendtext=My SMS text!
&sendnumber=+460123456789
•
Réponse :
{
"success":false,
"message":,
"fromnumber":,
"error":"Unknown network registration"
}
{
"success":true
}
33
">
Link público atualizado
O link público para o seu chat foi atualizado.