Go Down

Topic: Arduinos controllés par le navigateur web. (Read 1 time) previous topic - next topic

supercc

Bonsoir,

Je viens de déposer le code d'une classe (BoardView) permettant de contrôler sa carte arduino à partir d'un navigateur web lambda.  Ça se passe ici.

Ce code est tout récent, sans doute bogué, mais les exemples tournent chez moi ;-)

Si vous êtes intéressés n'hésitez pas à utiliser ce topic pour en discuter ...

zaienj

Slt je voulais s'avoir si tu avais des image a donner et le matteriel utiliser et si on peut demander a l'arduino d'afficher une information sur la page web

supercc

Salut zaienj,

je n'ai pas très bien compris ta demande ? De quel matériel disposes-tu ? mes tests utilise un d1 mini (coté ESP) et un nano.  qu'est ce que tu appelles image ? en fait je distribue les sources sous licence libre et chacun les recompile (après éventuelles modifications) pour se produire ses exécutables à implanter sur ses cartes.


hbachetti

#3
Aug 13, 2019, 11:43 am Last Edit: Aug 13, 2019, 01:17 pm by hbachetti
Des images ? Pourtant elles y sont :
https://github.com/supercc-arduino/BoardView/


Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

lgabed420

Bonjour,

desolé pour le retard j'avais beaucoup de travail à coté :/

j'ai essayé de tester tes exemples mais l'objet Boardview est inconnu quand je compile

supercc

Salut lgabed420,

pas de soucis, moi aussi je ne viens ici que quand j'ai le temps ;-)

Tu peux me décrire le matériel que tu as utilisé, l'exemple que tu as voulu tester et la sortie d'erreur de la compilation ?

As-tu eu un soucis particulier lors de l'installation, si oui, même anecdotique, il peut avoir de l'importance.

Code: [Select]

 
Pré requis pour faire fonctionner les exemples :

  *  Avoir installé la chaîne de compilation pour votre Esp (voir par exemple ici)
  *  Avoir installé la bibliothèque "Web Sockets" de Markus Sattler (version 2.*) (via le menu "Outils -> Gérer les bibliothèques" par exemple pour l'IDE Arduino).
  *  Avoir téléchargé et installé le ZIP de BoardView (bouton "Clone or download" en haut de cette page) et ensuite, pour l'IDE Arduino "Croquis -> Inclure une bibliothèque -> -> Ajouter la bibliothèque .ZIP" (plus de détails ici).

Aucun matériel nécessaire pour les exemples autre qu'une carte esp8266 (et nano + 4 fils si test du mode "redirect").


Bref tout indice est bon à prendre...

lgabed420

Bonjour supercc,

j'utilise un esp8266-01 et une carte mega.

je voulais tester l'exemple BangBangD1mini , et j'ai pas eu de soucis particulier lors de l'installation :D

j'ai suivi toutes les étapes et j'obtiens les erreurs ci-dessous :
Quote
BangBangD1Mini:18:1: error: 'BoardView' does not name a type

 BoardView boardView;

 ^

C:\Users\medam\OneDrive\Documents\Arduino\libraries\BoardView-master\examples\BangBangD1Mini\BangBangD1Mini.ino: In function 'int parseRequest(char*, char*, unsigned int)':

BangBangD1Mini:66:28: error: 'matchCmd' was not declared in this scope

  if(matchCmd(request,"dump")) {

                            ^

BangBangD1Mini:69:49: error: 'addFloat' was not declared in this scope

   addFloat(response, MAX_LINE_LEN, "hum", hum, 1);

                                                 ^

BangBangD1Mini:72:50: error: 'addInt' was not declared in this scope

   addInt  (response, MAX_LINE_LEN, "relay", relay);

                                                  ^

BangBangD1Mini:82:50: error: 'matchAndAssignFloat' was not declared in this scope

  else if(matchAndAssignFloat(request, "hum", &hum)) strcpy(response, "ok");

                                                  ^

BangBangD1Mini:85:54: error: 'matchAndAssignInt' was not declared in this scope

  else if(matchAndAssignInt  (request, "relay", &relay)) strcpy(response, "ok");

                                                      ^

C:\Users\medam\OneDrive\Documents\Arduino\libraries\BoardView-master\examples\BangBangD1Mini\BangBangD1Mini.ino: In function 'void setup()':

BangBangD1Mini:105:2: error: 'WiFi' was not declared in this scope

  WiFi.mode(WIFI_STA);

  ^

BangBangD1Mini:105:12: error: 'WIFI_STA' was not declared in this scope

  WiFi.mode(WIFI_STA);

            ^

BangBangD1Mini:107:26: error: 'WL_CONNECTED' was not declared in this scope

  while (WiFi.status() != WL_CONNECTED) delay(500);

                          ^

BangBangD1Mini:120:2: error: 'boardViewParseRequest' was not declared in this scope

  boardViewParseRequest=parseRequest;

  ^

BangBangD1Mini:121:2: error: 'boardView' was not declared in this scope

  boardView.name="Bang-bang";

  ^

C:\Users\medam\OneDrive\Documents\Arduino\libraries\BoardView-master\examples\BangBangD1Mini\BangBangD1Mini.ino: In function 'void loop()':

BangBangD1Mini:148:2: error: 'boardView' was not declared in this scope

  boardView.loop();

  ^

exit status 1
'BoardView' does not name a type

supercc

#7
Aug 20, 2019, 10:48 am Last Edit: Aug 20, 2019, 11:05 am by supercc
On est bien d'accord que l'exemple BangBangD1Mini ne nécessite pas d'autre carte qu'une carte avec  ESP8266, donc pour l'instant on oublie la mega.

Cette erreur vient soit de mon coté (pb dans le code de détection de l'architecture) ou du tien : tu n'as pas choisi une carte ESP8266 lors de la compilation (Outils -> type de carte -> Un modèle avec ESP8266).

Dans ton cas (ESP-01) je crois que c'est le modèle "Generic ESP Module" si je me réfère par exemple à ce lien ce lien.

Je ne connais pas le module ESP-01 et l'absence de port USB nécessite de passer par un adaptateur du genre de celui utilisé ici ou via une carte externe comme fait dans le lien indiqué plus haut.

Pour voir ou se situe le problème il faudrait que tu me donnes aussi la ligne de compilation effectuée juste avant le message d'erreur.

EDIT : juste la ligne de compilation avant le message d'erreur.

lgabed420

Tu as bien raison j'avais mal compris j'essayais d'utiliser la mega avec l'ESP avec un code dedié à la D1, j'ai compilé le ChronoNano qui utilise bien l'objet BoardView et la carte Nano , et làaucune erreur !

Est ce que je peux utilisé celà pour envoyer des données ( mesure de capteur, requete ) à un serveur quelconque
avec mes moyens du bords (esp01 - mega) ?

supercc

Très bien, maintenant il faut que tu mettes BridgeD1Mini (qui fera le pont entre l'arduino (nano, uno, mega) sur lequel tourne le chnrono et le Wifi) sur l'ESP-01 (cf. le post précédent).

Quote
Est ce que je peux utilisé celà pour envoyer des données ( mesure de capteur, requete ) à un serveur quelconque avec mes moyens du bords (esp01 - mega) ?
Quel type de serveur ?


lgabed420

Ah d'accord, il faut choisir l'esp comme carte pour compiler c'est ca ?

un serveur web qui sera l'intermédiaire âvec une base de données.

supercc

#11
Aug 20, 2019, 11:45 am Last Edit: Aug 20, 2019, 11:45 am by supercc
Ah d'accord, il faut choisir l'esp comme carte pour compiler c'est ca ?
Pour BridgeD1Mini, oui.

Quote
un serveur web qui sera l'intermédiaire âvec une base de données.
Actuellement BoardView ne fait pas cela. Ce que fait BoardView est de permettre d'accéder aux variables et fonctions d'une carte (arduino, esp8266) à partir d'un navigateur Web.

La problématique de l'émission de données à une base de données (il faudrait précisée laquelle) est tout autre. Actuellement par exemple, dans ce post, nous essayons de le faire en se servant de domoticz comme base de données (pour l'instant on cherche à y placer les valeurs des capteurs).

Autre exemple ici d'un forumeur qui cherchait directement à accéder à une base de données SQL. Cela fonctionne mais le code a embarquer dans l'arduino est lourd.





lgabed420

Ah d'accord !

j'ai cherchais un peu sur le net, la plupart utilisent l'ethernet et non pas la wifi, je continuerai mes recherches et je te tiens au courants si je trouve à avancer :D

lgabed420

Voilà un petit exemple  : lien

ils recuperent les mesure et les envoie à une base de donnée SQL grace à une UNO et un module Wifly de sparkfun

supercc

Oui c'est peut être une solution ($89 quand même le module) !

Il faudra que tu cherches d'occasion :

Code: [Select]

Note: Retired Product
This product has been retired from our catalog and is no longer for sale. This page is made available for those looking for datasheets and the simply curious.


Maintenant je pense que c'est une ancienne carte et qu'il y a moyen de faire moins onéreux. Ouvre peut-être un post a ce sujet et précise bien que tu veux le faire à partir d'une mega sans connexion réseau.

Il est possible de faire un pont Arduino <-> ESP8266 <-> Base de données mais ce n'est pas ce que fait BoardView.



Go Up