Salut,
Effectivement la solution "téléphone portable obsolète" ne me semble pas la plus adaptée : l'interface me paraît compliquée pour un non-bidouilleur (même si on peut développer des logiciels qui décrivent un peu mieux les fonctionnalités).
Mon système doit pouvoir être piloté par des gens qui n'ont pour l'instant aucune idée de la différence entre wifi et bluetooth.
L'interface web me permet de rendre les choses plus compréhensibles et plus conviviales.
Pour l'instant mon site web devrait ressembler à ça (code réalisé à partir de plusieurs codes trouvés sur le forum):
<html>
<!--précise que le code qui suit doit être compris comme du html -->
<!-- Essai pour adapter le projet trouvé ici: http://arduino.cc/forum/index.php/topic,97750.0.html
au pilotage d'un portail -->
<head>
<!-- description préliminaire de tout ce qui touche au fichier actuel: rapport avec d'autres fichiers, possibilités de redimensionner l'affichage, appareils particuliers acceptés, titre de la page -->
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
<!-- Je ne sais pas ce que veut dire viewport, mais ensuite les paramêtres sont: largeur=largeur de l'appareil ; échelle initiale =1 ; échelle maximale =1 ; échelle modifiable par l'utilisateur? non -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- rajouté en se calquant sur le index.html de l'ardugate -->
<meta name="HandheldFriendly" content="True" />
<!-- ça veut probablement dire: site convivial pour les appareils mobiles? oui -->
<link rel="stylesheet" type="text/css" href="style.css" media="screen"/>
<!-- ça veut dire que les styles utilisés par la suite (ici H1, h2, light, roundrect, light p, body,... bref les styles de texte mais aussi les styles d'images) sont dfinis dans le document "style.css" -->
<script type="text/perl" src="bonjour.pl"></script>
<!-- déclare le fichier bonjour.pl , présent dans le même répertoire que le fichier actuel, comme un script perl
Ce script ne sert qu'à vérifier mes capacités à écrire un script perl-->
<script language="javascript" src="common.js"></script>
<script language="javascript" src="serial.js"></script>
<script language="javascript" src="arduino.js"></script>
<script language="javascript" src="app.js"></script>
<!-- les 4 scripts ci-dessus sont utiliss par l'ardugate, donc je les ai rajoutés, en attendant de savoir s'ils seront nécessaires dans mon projet final -->
<title>Pilotage du portail par site web</title>
<!-- ça c'est le titre qui apparait en haut de la page web -->
</head>
<!-- fin de la zone de déclaration préliminaire -->
<body>
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v" />
<!-- ??? -->
<text-align: center>
<!--? alignement des textes : centré par défaut ? -->
<table width="device-width">
<tr valign="center">
<td>
Actions simples : <br/>
Cycles : <br/>
Réinitialisation : <br/>
</td>
<td>
<input type="button" id="btnouvport" value="Ouvrir" onclick="Ouvrir() " style="width:90px" /> <br/>
<!-- appelle la fonction Ouvrir() si on clique sur le bouton nommé btnouvport, dans lequel il est écrit "Ouvrir" -->
<!-- la fonction Ouvrir() sera définie dans un script perl ou javascript -->
<input type="button" id="btnvoiture" value="Cycle voiture" onclick="Voiture()" style="width:90px"/> <br/>
<input type="button" id="btninitouv" value="en ouvrant" onclick="Initouv()" style="width:90px"/> <br/>
</td>
<td>
<input type="button" id="btnferport" value="Fermer" onclick="Fermer() " style="width:90px"/> <br/>
<input type="button" id="btnpieton" value="Cycle piéton" onclick="Pieton()" style="width:90px"/> <br/>
<input type="button" id="btninitfer" value="en fermant" onclick="Initfer()" style="width:90px"/> <br/>
</td>
</tr>
</table>
<div id="ouverture" style="text-align:center; width:100%" >Portail ouvert à ??? % </div>
<!-- appelle la classe "ouverture" à définir dans un script, qui affichera le taux d'ouverture du portail, dont la valeur sera envoyée en continu par l'Arduino -->
<div id="actionencours" style="text-align:center; width:100%" >Action en cours : ??? </div>
<!-- appelle la classe "actionencours" à définir dans un script, qui affichera l'action en cours, envoyée par l'Arduino -->
</body>
</html>
(voir image attachée pour le résultat graphique dans un navigateur).
Comme vous le voyez, j'ai annoté énormément ce bout de code, mais ça m'aide beaucoup à comprendre les significations de chaque ligne de code.
Il est encore très inachevé et très imparfait, mais le rendu est plus ou moins ce que je cherche (faudra que je travaille le rendu, mais quand ce sera mon seul souci, je m'en sortirai).
J'ai aussi commencé à rédiger mon code pour l'arduino, mais là c'est plus long, surtout parce que je n'ai aucun capteur sur la position réelle du portail.
Je suis obligé de la déduire du temps écoulé depuis le début de chaque déplacement, et comme :
- dans un cycle normal, j'ai des phases d'accélération, à vitesse constante haute, de décélération, et à vitesse constante basse (pour faire une rampe puis une phase de recherche de butée),
- je veux prendre en compte les cas où le portail s'est arrêté sans être sur une des butées
il faut que je calcule précisément sa position, et ça m'occupe un peu (mais j'aime ça

).
Du coup ça fait un programme un peu lourd (environ 3, 5 Ko pour l'instant, et il lui manque encore plein de fonctions).
Reste la partie script, pour laquelle je n'ai pas du tout commencé.
Dès que j'aurai débuté le script, je viendrai appeler au secours, ne vous en faites pas

.