Même si je travail sur 5 projets a la fois, je me suis lancé dans un (petit) projet IoT - sur Arduino IoT Cloud - avec pour but final de faire une mini station domotique. Le système est composé d'un ESP8266/Wemos D1 mini (fraîchement acquis) en USB-C, et d'un capteur DHT11. Pour utiliser le logiciel, je me suis référé a cette vidéo : Créer un objet connecté (facilement) avec Arduino IOT Cloud 🌡️ - YouTube (même si la page a un peu changé, les informations restent d'actualités).
Le problème :
Après avoir configuré mes variables, mon WiFi, ma carte ESP8266, et écris le code a téléverser sur celle-ci, j'ai voulu l'uploader. Il indique qu'il me faut un logiciel - Arduino Create Agent - pour téléverser. Bien bien bien, je télécharge. Dans mon dossier téléchargement, il y a maintenant un fichier nommé "ArduinoCreateAgent-1.3.0-linux-amd64-installer-firefox.tar.gz". Je le dézippe, et il me revois un fichier .run nommé "ArduinoCreateAgent-1.3.0-linux-amd64-installer.run". Je me dis "chouette, maintenant je vais pouvoir téléverser !"... Sauf que non. Il continue de me griser le bouton upload, comme si le fichier n'était pas pris en compte.
Ce que j'ai fait :
Je recommence l'opération après avoir viré le fichier, pareil... Mon père (alias petitours ), me dit que c'est a cause d'un problème de droits Linux (je sais, j'ai oublié de précisé, je suis sur un PC Linux Xubuntu 64 bits). J'ouvre un terminal dans un dossier que j'ai créer dans lequel j'ai mis le fichier "ArduinoCreateAgent-1.3.0-linux-amd64-installer.run", et je tape la commande "chmod +x ArduinoCreateAgent-1.3.0-linux-amd64-installer.run", pour autorisé l’exécution du fichier. Sauf que le terminal ne revoit rien, et retourne a la ligne pour une nouvelle commande. Je tente donc : "sudo ./ArduinoCreateAgent-1.3.0-linux-amd64-installer.run". Il me demande mon mot de passe, je lui fournis, et il me revoit : "Aucun fichier ou dossier de ce type".
Je ne sais pas si quelqu'un a eu un problème similaire ? Si il vous manque des infos, je vous les fournirai avec plaisir.
Merci de m'avoir lu, même si on s'éloigne un peu d'Arduino.
Cordialement
Pandaroux007
oui le paquet est putôt indigeste, je n'ai pas tout lu
N'ayant aucun intérêt pour Arduino Create et le Cloud IOT d'Arduino j'ai quand même par curiosité installé un jour l'agent sur mon Ordi sous Ubuntu
il me semble que l'agent s'utilise à partir du navigateur, son seul rôle est de permettre ce dernier de communiquer avec les cartes raccordées sur l'USB
Plutot qu'une vidéeo sur youtube, tu as essayer de suivre les instructions du projet ?
Si j'ai bien compris, ton fichier est un exécutable qui doit installer l'agent pour permettre au site d'accéder à ta carte connecté par USB, comme l'indique il me semble @al1fch ?
C'est étonnant que rien ne se passe quand tu l'exécute.
Bonjour @68tjs et @al1fch
Toutes mes excuses pour ce pavé, je corrige
Je ne sais pas si cela peut vous aider, mais voici l'erreur générée si j'exécute le fichier .run :
Impossible d'exécuter le fichier
" ArduinoCreateAgent-1.3.0-linux-amd64-installer.run "
L'exécution du processus fils "/home/pandaroux007/téléchargement/Arduino Create Agent/ArduinoCreateAgent-1.3.0-linux-amd64-installer.run " a échoué (Aucun fichier ou dossier de ce type).
Vous voulez dire pourquoi je n'exécute pas le fichier en ligne de commande dans un terminal ? Je l'ai fais (je crois) en suivant cet article (voir mon premier message) : Comment exécuter des fichiers .RUN sous Linux: 3 étapes
d'abord la commande
tapée dans un terminal ouvert dans le dossier contenant le fichier .run de Arduino Create Agent. Il me revoit ceci :
-rwxr-xr-x 1 pandaroux007 pandaroux007 25697206 juin 12 12:26
ArduinoCreateAgent-1.3.0-linux-amd64-installer.run
Ce qui laisse a penser que le fichier est bien autorisé et exécutable (d'après le lien que j'ai fournis plus haut).
Mais toujours la même réponse suite a la commande :
Excusez moi, mais qu'est-ce que le tar ? Si c'est le dossier dans lequel il y a le .run, oui il n'y a que lui. Pour être précis, il est dans home -> pandaroux007 -> téléchargement -> Arduino Create Agent. J'ai créé ce dossier pour avoir le .run seul, et pas avec tous les autres trucs que j'ai téléchargé.
Amitiés
Rémi
Un tar, c'est une archive(fichier qui regroupe d'autre fichier).
dans le post 7, on voit que tu essaye d'exécuter le fichier ArduinoCreateAgent-1.3.0-linux-amd64-installer.run, mais pas que celui-ci est tout seul.
Après je n'ai pas linux sur mon PC, donc je ne peux pas tester en l'état.
pas eu a modifier lpar chmod les droits de l'exécutable, il était déjà
OK
ci dessous le contenu (abrégé) du terminal après avoir lancé sans problème l'exécutable en ligne de commande
(contenu abrégé car j'ai coupé environ 300 lignes de licence...)
al@al-ThinkPad-T450:~/Bureau/ArduinoCreateAgent-1.3.2-linux-amd64-installer-firefox$ ./ArduinoCreateAgent-1.3.2-linux-amd64-installer.run
----------------------------------------------------------------------------
Welcome to the arduino-create-agent Setup Wizard.
----------------------------------------------------------------------------
Please read the following License Agreement. You must accept the terms of this
agreement before continuing with the installation.
Press [Enter] to continue:
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
..................
.................. 300 lignes de license coupées....
...................
Press [Enter] to continue:
Do you accept this license? [y/n]: y
----------------------------------------------------------------------------
Please specify the directory where arduino-create-agent will be installed.
Installation Directory [/home/al/ArduinoCreateAgent]:
----------------------------------------------------------------------------
Setup is now ready to begin installing arduino-create-agent on your computer.
Do you want to continue? [Y/n]: Y
----------------------------------------------------------------------------
Please wait while Setup installs arduino-create-agent on your computer.
Installing
0% ______________ 50% ______________ 100%
#########################################
INFO[0000] generated config in /home/al/.config/ArduinoCreateAgent/config.ini
INFO[0000] additional config file not found in config.ini
INFO[0000] Version:1.3.2
INFO[0000] Hostname: al-ThinkPad-T450
INFO[0000] Garbage collection is on using Standard mode, meaning we just let Golang determine when to garbage collect.
INFO[0000] You specified a serial port regular expression filter: usb|acm|com
INFO[0000] Your serial ports:
INFO[0000] There are no serial ports to list.
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET / --> main.homeHandler (2 handlers)
[GIN-debug] GET /certificate.crt --> github.com/arduino/arduino-create-agent/certificates.CertHandler (2 handlers)
[GIN-debug] DELETE /certificate.crt --> github.com/arduino/arduino-create-agent/certificates.DeleteCertHandler (2 handlers)
[GIN-debug] POST /upload --> main.uploadHandler (2 handlers)
[GIN-debug] GET /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] POST /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] WS /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] WSS /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] GET /info --> main.infoHandler (2 handlers)
[GIN-debug] POST /killbrowser --> main.killBrowserHandler (2 handlers)
[GIN-debug] POST /pause --> main.pauseHandler (2 handlers)
[GIN-debug] POST /update --> main.updateHandler (2 handlers)
[GIN-debug] GET /v2/*path --> github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] POST /v2/*path --> github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] PUT /v2/*path --> github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] PATCH /v2/*path --> github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] HEAD /v2/*path --> github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] OPTIONS /v2/*path --> github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] DELETE /v2/*path --> github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] CONNECT /v2/*path --> github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] TRACE /v2/*path --> github.com/gin-gonic/gin.WrapH.func1 (2 handlers)
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Listening and serving HTTP on 127.0.0.1:8991
ERRO[0000] Could not find HTTPS certificate. Using plain HTTP only.
----------------------------------------------------------------------------
Setup has finished installing arduino-create-agent on your computer.
Bonjour @al1fch
J'ai également suivis a la lettre les indications du site d'Arduino®, mais quand je double-clique pour exécuter, j'ai l'erreur décrite au post #5. Pourtant le fichier est bien là, et il est bien exécutable !
Linux: Extract the .tar.gz archive and double-click the .run file
je lance ça en ligne de commande, sans sudo, après avoir pris soin de me positionner (commandes cd) dans le dossier contenant cet exécutable, toi aussi ?
en fait je n'ai pas essayé le double clic dans le gestionnaire de fichiers fourni avec Ubuntu, ni avec mon gestionnaire de fichiers préfére pour la bidouille : Midnight Commander
Non, je n'ai pas essayé avec cd, j'ai ouvert un terminal directement dans le dossier dans lequel il y a le .run d'Arduino Create Agent.
Cordialement
Pandaroux007
Mais j'ai pensé a un truc... Si j'inclue l'esp8266 à l'IDE Arduino, et que j'installe les librairies du code que je souhaite téléverser... Je peux me passer de Arduino create agent ?!
(voici le code que je souhaite téléverser, si ça intéresse quelqu'un...)
// depuis la vidéo suivante : https://www.youtube.com/watch?v=kS-IF9xgEqI
// lien vers la datasheet du D1 mini : https://www.wemos.cc/en/latest/d1/d1_mini.html
// lien vers Aliexpresse pour le lot de 10 D1 mini : https://fr.aliexpress.com/item/1005003722174040.html
// Clé secrete : ********************
// Device ID : ************************************
#include "thingProperties.h"
#include "DHT.h" // librairie du DHT11
const byte sensorPIN = 14; // GPIO 14 = pin D5 du D1 mini
const byte pinLED = 13; // GPIO 13 = pin D7 du D1 mini
DHT dht(sensorPIN, DHT11); // réglage de l'objet "dht", avec la pin et le type du capteur
void setup() { // setup
// on déclare la pin du capteur en sortie ? C'était dans la vidéo, alors je suis naïvement :
pinMode(sensorPIN, OUTPUT);
// on déclare la pin de la LED en sortie
pinMode(pinLED, OUTPUT);
// démarrer la communication série a 115200 bauds, ou bit/s
Serial.begin(115200);
// attendre 1s :
delay(1000);
initProperties();
// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
// démarrer le DHT11 avec la fonction dht.begin();
dht.begin();
}
void loop() { // loop
ArduinoCloud.update();
// on appelle notre fonction pour lire le capteur DHT11 :
DHTsensorReading();
// on appelle la fonction pour activer la LED en fonction du bouton du dashboard
onRelayChange();
}
void DHTsensorReading() { // fonction DHTsensorReading
temperature = dht.readTemperature();
humidity = dht.readHumidity();
}
void onRelayChange() { // fonction onRelayChange
static const bool ON = 1; // l'état 1 du switch de la LED
static const bool OFF = 0; // l'état 2 du switch de la LED
switch(relay) {
case ON:
digitalWrite(pinLED, HIGH);
Serial.println("LED ON !");
break;
case OFF:
digitalWrite(pinLED, LOW);
Serial.println("LED OFF !");
break;
}
}
et une petite capture d'écran du (futur) dashboard :
Title : IoT sensor application for ESP8266
Cordialement
Pandaroux007 EDIT : par IDE Arduino, je sous entends bien sur l'IDE installé localement sur mon PC, téléchargé depuis le site officiel d'Arduino, ou même, si l'envie me prend, PlatformIO
Si j'inclue l'esp8266 à l'IDE Arduino, et que j'installe les librairies du code que je souhaite téléverser... Je peux me passer de Arduino create agent
SI par IDE Arduino tu sous-entend l'IDE installé localement sur ta machine il me semble que l'Agent n'a aucune utilité, cet IDE local sait accéder tout seul au port USB pour téléverser et dialoguer. (ce n'est pas le cas du navigateur utilisént l'IDE en ligne)
Il ya sans doute des tutoriels montrant l'utilisation du Cloud IOT d'Arduino sans passer par l'IDE en ligne ?
Bonjour @al1fch
Oui, je pensais bien a l'IDE Arduino sur mon PC, et non celui en ligne intégré a Arduino IoT Cloud. Je n'est pas de quoi vérifier ma théorie ici (suis en vacances), mais dés que je rentre je teste. Par ailleurs, je vais aussi vérifier si il n'existe pas un/des tuto(s) sur le sujet ...
Bonjour
J'ai cherché la librairie thingProperties, qui ne correspond pas a une librairie, mais un fichier header de GitHub - arduino-libraries/ArduinoIoTCloud. Je ne peux donc pas l'installer depuis l'IDE Arduino. J'ai du mal avec GitHub... Donc, j'abandonne la piste de téléverser depuis d'IDE Arduino.
Comme j'en avais marre de me taper la tête contre les murs pour ce logiciel, je me suis penché vers un PC Windows. Je vais sur ma page Arduino IoT Cloud, sur mon sketch, et je télécharge Arduino Create Agent. Je termine l'installation. Je branche ma carte en USB a mon PC : VICTOIRE ! je téléverse : ça fonctionne. Je vais sur mon dashboard, plein d'espoir... je clique sur le bouton de la LED : rien ! Pas de connexion, les valeurs du dashboard restent nuls !
Donc, le résultat de cette expérience des plus frustrante est que Arduino IoT cloud est une usine à gaz, et que l'on peut faire bien mieux plus simplement. Pour moi, c'est fini avec ça.