wDSPiy - commander le DSPiy par Wifi (et par Alexa et en MQTT)
- thierryvalk
- Administrateur du site
- Messages : 3523
- Enregistré le : jeu. 9 juil. 2015 20:08
- Localisation : Belgique
Re: wDSPiy - commander le DSPiy par Wifi
Je m'insurge sur ton point de vue du langage c.
Tu aurais pu écrire : char c= 3; et là c aurait eu comme valeur 3.
'3' indique un caractère ASCII, maintenant utf-8. C'est bien un code et non une valeur et c'est grâce au langage c que tu as pu en extraire sa valeur très simplement sans a avoir à rajouter une lib.
Le c reste l'un des rares langage performant utilisé par des gens qui comprennent ce qu'ils font.
Je prévois de migrer le forum de son hébergement actuel pas vraiment fiable vers un serveur virtuel privé et par la même occasion y installer un Broker MQTT.
Broker qui sera mis a disposition des membres du forum.
Mais il faut du temps et du courage car je ne métrise pas trop les serveurs ni Linux.
Tu aurais pu écrire : char c= 3; et là c aurait eu comme valeur 3.
'3' indique un caractère ASCII, maintenant utf-8. C'est bien un code et non une valeur et c'est grâce au langage c que tu as pu en extraire sa valeur très simplement sans a avoir à rajouter une lib.
Le c reste l'un des rares langage performant utilisé par des gens qui comprennent ce qu'ils font.
Je prévois de migrer le forum de son hébergement actuel pas vraiment fiable vers un serveur virtuel privé et par la même occasion y installer un Broker MQTT.
Broker qui sera mis a disposition des membres du forum.
Mais il faut du temps et du courage car je ne métrise pas trop les serveurs ni Linux.
- alka
- Administrateur du site
- Messages : 2908
- Enregistré le : mer. 15 juil. 2015 15:18
- Localisation : 92
- Contact :
Re: wDSPiy - commander le DSPiy par Wifi
J'ai pas vraiment eu le choix, ca vient d'un code externe. Quand c'est moi, pour une chaine de caractères, j'utilise String. C'est un type spécifique à Arduino bien plus manipulable même s'il n'est pas parfait.
Bien sûr c'est parfois utile en programmation de pouvoir se mettre au niveau de la machine mais pas tout le temps. c a près de 50 ans, on ne peut rien lui demander mais c++ pourrait être plus "developer-friendly".
Faut quand meme être tordu pour nommer (int) une conversion qui ne retourne pas la valeur de la variable mais celle du code ascii. Confusion entre la forme et le fond. Ils n'avaient qu'a nommer ça (intascii). Sans stackoverflow c'est impossible de programmer en c
en c, (bière)chouffe renverrait 5410769300085.Indigeste
cool. l'intérêt d'un broker MQTT externe c'est qu'on peut y accéder de n'importe où.
Ca me donnera l'occasion de tester la communication de broker a broker
Bien sûr c'est parfois utile en programmation de pouvoir se mettre au niveau de la machine mais pas tout le temps. c a près de 50 ans, on ne peut rien lui demander mais c++ pourrait être plus "developer-friendly".
Faut quand meme être tordu pour nommer (int) une conversion qui ne retourne pas la valeur de la variable mais celle du code ascii. Confusion entre la forme et le fond. Ils n'avaient qu'a nommer ça (intascii). Sans stackoverflow c'est impossible de programmer en c
en c, (bière)chouffe renverrait 5410769300085.Indigeste
Je prévois de migrer le forum de son hébergement actuel pas vraiment fiable vers un serveur virtuel privé et par la même occasion y installer un Broker MQTT.
Broker qui sera mis a disposition des membres du forum.
cool. l'intérêt d'un broker MQTT externe c'est qu'on peut y accéder de n'importe où.
Ca me donnera l'occasion de tester la communication de broker a broker
acheter un DSPiy ? c'est ici
- thierryvalk
- Administrateur du site
- Messages : 3523
- Enregistré le : jeu. 9 juil. 2015 20:08
- Localisation : Belgique
Re: wDSPiy - commander le DSPiy par Wifi
Oui, passer par un String aurait plus élégant.
En C un String est un tableau de caractères, là encore c'est au final plus parlant: une suite de char et un zéro pour indiquer la fin.
Ton code aurait été, par exemple :
//j'aime le c
char c ='3';
char str[20];
str[0]=c;
str[1]=0;
int cn = atoi(str);
Au fait, ta ligne :
int cn = c - '0'; // cn contient 3
Fonctionne en c, mais tu fais : int = char-char
Le c , c'est très vieux, développé principalement pour Unix et n'a que très peu évolué tout en étant standardisé. Rien que pour cela, s'il ne fallait connaitre qu'un langage ce serait le c.
C'est pas stackoverflow qu'il te faut mais ceci : la bible, c'est pas bien gros tout en étant très simple à lire.
Et c'est pas cher :https://www.amazon.fr/langage-C-ANSI/dp/2225820708
En C un String est un tableau de caractères, là encore c'est au final plus parlant: une suite de char et un zéro pour indiquer la fin.
Ton code aurait été, par exemple :
//j'aime le c
char c ='3';
char str[20];
str[0]=c;
str[1]=0;
int cn = atoi(str);
Au fait, ta ligne :
int cn = c - '0'; // cn contient 3
Fonctionne en c, mais tu fais : int = char-char
Le c , c'est très vieux, développé principalement pour Unix et n'a que très peu évolué tout en étant standardisé. Rien que pour cela, s'il ne fallait connaitre qu'un langage ce serait le c.
C'est pas stackoverflow qu'il te faut mais ceci : la bible, c'est pas bien gros tout en étant très simple à lire.
Et c'est pas cher :https://www.amazon.fr/langage-C-ANSI/dp/2225820708
- alka
- Administrateur du site
- Messages : 2908
- Enregistré le : mer. 15 juil. 2015 15:18
- Localisation : 92
- Contact :
Re: wDSPiy - commander le DSPiy par Wifi
je l'ai eu ce livre il y a fort longtemps! Il a fait l'objet du grand débarras en même temps que quelques dictionnaires
Attention : en Arduino il y a string (celui du c/c++) et String (propre à Arduino). La classe String est plus souple avec des opérations comme substing() ou toInt() qui sont quand même plus claires pour moi.
int cn = c - '0'; // cn contient 3
c'est une super ruse de programmeur c ! Se base sur le fait que les codes ascii des chiffres se suivent. 51- 48 = 3
Attention : en Arduino il y a string (celui du c/c++) et String (propre à Arduino). La classe String est plus souple avec des opérations comme substing() ou toInt() qui sont quand même plus claires pour moi.
int cn = c - '0'; // cn contient 3
c'est une super ruse de programmeur c ! Se base sur le fait que les codes ascii des chiffres se suivent. 51- 48 = 3
acheter un DSPiy ? c'est ici
- alka
- Administrateur du site
- Messages : 2908
- Enregistré le : mer. 15 juil. 2015 15:18
- Localisation : 92
- Contact :
Re: wDSPiy - commander le DSPiy par Wifi
a l'heure du café, je me rappelle de vieux souvenirs d'école. On m'avait dit que les gars des Bell Labs qui ont fait Unix avaient besoin d'un langage pour le développer et en même temps il fallait un langage pour faire des programmes une fois que l'OS était prêt.
Comme A était déjà pris (assembleur) et B aussi (un obscur langage oublié, aussi fait chez Bell) ils l'ont appelé C. Imagination d'informaticien.
Bien plus tard est arrivé ce qui devait être l'évolution du C, C++ toujours dans les Bell Labs. Humour d’informaticien.
J'en retiens surtout que les informaticiens avaient une imagination et un humour limité à l'époque. Contrairement aux électroniciens a qui on doit le "bug" en cas de panne.
L'humour et l'imagination ont bien progressé par la suite:
- un type nommé Gates qui fait Windows.
- Java nommé d'après une sorte de café que l'équipe buvait beaucoup. Les conteneurs appelé Beans. On a échappé de peu à Margarita ou Calzone !
- Eclipse, nommé pour faire de l'ombre à l'outil de développement Java originel, détenu à l'époque par SUN.
- Python nommé d'après les Monthy Pythons. Un IDE nommé Boa.
- un de mes préférés : l'encodeur MP3 LAME pour Lame Ain't an MP3 Encoder.
Comme A était déjà pris (assembleur) et B aussi (un obscur langage oublié, aussi fait chez Bell) ils l'ont appelé C. Imagination d'informaticien.
Bien plus tard est arrivé ce qui devait être l'évolution du C, C++ toujours dans les Bell Labs. Humour d’informaticien.
J'en retiens surtout que les informaticiens avaient une imagination et un humour limité à l'époque. Contrairement aux électroniciens a qui on doit le "bug" en cas de panne.
L'humour et l'imagination ont bien progressé par la suite:
- un type nommé Gates qui fait Windows.
- Java nommé d'après une sorte de café que l'équipe buvait beaucoup. Les conteneurs appelé Beans. On a échappé de peu à Margarita ou Calzone !
- Eclipse, nommé pour faire de l'ombre à l'outil de développement Java originel, détenu à l'époque par SUN.
- Python nommé d'après les Monthy Pythons. Un IDE nommé Boa.
- un de mes préférés : l'encodeur MP3 LAME pour Lame Ain't an MP3 Encoder.
acheter un DSPiy ? c'est ici
- thierryvalk
- Administrateur du site
- Messages : 3523
- Enregistré le : jeu. 9 juil. 2015 20:08
- Localisation : Belgique
Re: wDSPiy - commander le DSPiy par Wifi
Complément d'infos ici :
https://www.scriptol.fr/programmation/origine-des-noms.php
https://www.scriptol.fr/programmation/origine-des-noms.php
Re: wDSPiy - commander le DSPiy par Wifi
Au labo c'est toujours le grand jeu quand on doit nommer une carte ou une puce. Le but étant de trouver un acronyme qui tient aussi la route...
Les grands champions étant la puce "Fish'n'chip" qui fait suivi de poisson et son PCB qui équipé d'une communication RF "Wi-Fish"...
Les grands champions étant la puce "Fish'n'chip" qui fait suivi de poisson et son PCB qui équipé d'une communication RF "Wi-Fish"...
- alka
- Administrateur du site
- Messages : 2908
- Enregistré le : mer. 15 juil. 2015 15:18
- Localisation : 92
- Contact :
Re: wDSPiy - commander le DSPiy par Wifi
louisr a écrit :Au labo c'est toujours le grand jeu quand on doit nommer une carte ou une puce. Le but étant de trouver un acronyme qui tient aussi la route...
Les grands champions étant la puce "Fish'n'chip" qui fait suivi de poisson et son PCB qui équipé d'une communication RF "Wi-Fish"...
excellent
acheter un DSPiy ? c'est ici
- alka
- Administrateur du site
- Messages : 2908
- Enregistré le : mer. 15 juil. 2015 15:18
- Localisation : 92
- Contact :
Re: wDSPiy - commander le DSPiy par Wifi
comme je sais que vous aimez bien avoir de mes nouvelles, voici le chapitre suivant du "C qui me rend chèvre 🐐 dommage qu'on puisse pas en faire du fromage"
J'ai eu cette idée de baisser le contraste de l'affichage OLED de mon système quand le soleil se couche.
Le site meteo norvégien offre une api pour connaitre l' heure de lever et coucher du soleil. On lui donne sa longitude, latitude, hauteur et la date et il répond instantanément en xml ou Json. Il donne plein d'infos sur le soleil ou la lune.
Depuis quelques jours, j'ai appris a dompter la chèvre pour
- faire des requêtes https depuis ma carte esp8266.
- convertir les formats de date et heure dans tous les sens (et il y en a des sens !)
- l'overload de fonctions selon le type de leurs paramètres
- les fonctions avec des paramètres optionnels (dont la déclaration possède une capacité chevresque élevée !)
Ca marche
A partir de demain, je m'attaque au client mqtt. Ca va encore bêler 🐐 🐐 🐐
J'ai eu cette idée de baisser le contraste de l'affichage OLED de mon système quand le soleil se couche.
Le site meteo norvégien offre une api pour connaitre l' heure de lever et coucher du soleil. On lui donne sa longitude, latitude, hauteur et la date et il répond instantanément en xml ou Json. Il donne plein d'infos sur le soleil ou la lune.
Depuis quelques jours, j'ai appris a dompter la chèvre pour
- faire des requêtes https depuis ma carte esp8266.
- convertir les formats de date et heure dans tous les sens (et il y en a des sens !)
- l'overload de fonctions selon le type de leurs paramètres
- les fonctions avec des paramètres optionnels (dont la déclaration possède une capacité chevresque élevée !)
Ca marche
A partir de demain, je m'attaque au client mqtt. Ca va encore bêler 🐐 🐐 🐐
acheter un DSPiy ? c'est ici
- thierryvalk
- Administrateur du site
- Messages : 3523
- Enregistré le : jeu. 9 juil. 2015 20:08
- Localisation : Belgique
Re: wDSPiy - commander le DSPiy par Wifi
Une petite table + quelques calculs et l'on a les infos de lever/coucher du soleil.
De manière globale, l'utilisation de tous ces services "connectés" sont tout de même interpellant.
Que se passe t'il si le site interrompt son service ?
Un jour il faudra évaluer l'impact énergétique de ce genre de service.
Tu te lances dans l'élevage ?
De manière globale, l'utilisation de tous ces services "connectés" sont tout de même interpellant.
Que se passe t'il si le site interrompt son service ?
Un jour il faudra évaluer l'impact énergétique de ce genre de service.
Tu te lances dans l'élevage ?
- alka
- Administrateur du site
- Messages : 2908
- Enregistré le : mer. 15 juil. 2015 15:18
- Localisation : 92
- Contact :
Re: wDSPiy - commander le DSPiy par Wifi
C'est sur que a mon échelle et la faible précision requise, je pourrai me contenter de beaucoup moins précis. Simplement recopier l'éphéméride de l'almanach que le facteur me vend chaque année a cette période par exemplethierryvalk a écrit :Une petite table + quelques calculs et l'on a les infos de lever/coucher du soleil.
un message dans le log du wDSPiy pour me prévenir que la Norvège a fermé Il y a des dizaines de sites qui fournissent une API pour ça. J'ai pris le premier qui me paraissait sérieux.De manière globale, l'utilisation de tous ces services "connectés" sont tout de même interpellant.
Que se passe t'il si le site interrompt son service ?
une personne qui regarde un film sur netflix en 4K doit consommer plus que ces services en 100 ans. Et je ne te parle pas des gamers dont les consoles consomment 60W + écran 50W pendant des heures en utilisant des ressources internet et serveur pharaoniques juste pour dégommer leurs avatars virtuels avec leur pouce. Une vraie question.Un jour il faudra évaluer l'impact énergétique de ce genre de service.
bêêêêê bêêêêê 🐐🐑 🐀 🐄 🐇 🐕 🐥 🐦Tu te lances dans l'élevage ?
ps: le forum ne m'envoie plus de notification par mail a nouveau. C'est pas le week end pourtant ? avec ce confinement je ne suis plus sur de faire la différence et le forum non plus manifestement
acheter un DSPiy ? c'est ici
- thierryvalk
- Administrateur du site
- Messages : 3523
- Enregistré le : jeu. 9 juil. 2015 20:08
- Localisation : Belgique
Re: wDSPiy - commander le DSPiy par Wifi
ps: le forum ne m'envoie plus de notification par mail a nouveau. C'est pas le week end pourtant ? avec ce confinement je ne suis plus sur de faire la différence et le forum non plus manifestement
Le forum, LUI, fait des économies d'énergie.
- alka
- Administrateur du site
- Messages : 2908
- Enregistré le : mer. 15 juil. 2015 15:18
- Localisation : 92
- Contact :
Re: wDSPiy - commander le DSPiy par Wifi
Je prend le temps de faire une vidéo de la télécommande rowD (remote oled wifi DSPiy).
Les commandes passent en MQTT vers ma carte wDSPiy qui pilote le DSPiy
https://youtu.be/aIV5bIr_4vM
Les commandes passent en MQTT vers ma carte wDSPiy qui pilote le DSPiy
https://youtu.be/aIV5bIr_4vM
acheter un DSPiy ? c'est ici
- thierryvalk
- Administrateur du site
- Messages : 3523
- Enregistré le : jeu. 9 juil. 2015 20:08
- Localisation : Belgique
Re: wDSPiy - commander le DSPiy par Wifi
Fonctionne pas "vidéo privée" et cela même après m'être connecté à mon compte Google.
- alka
- Administrateur du site
- Messages : 2908
- Enregistré le : mer. 15 juil. 2015 15:18
- Localisation : 92
- Contact :
Re: wDSPiy - commander le DSPiy par Wifi
ca devrait aller maintenant. j'ai été fort en la mettant privée !
acheter un DSPiy ? c'est ici
- thierryvalk
- Administrateur du site
- Messages : 3523
- Enregistré le : jeu. 9 juil. 2015 20:08
- Localisation : Belgique
Re: wDSPiy - commander le DSPiy par Wifi
Impressionnant, cela semble presque simple.
Dommage de ne pas avoir de démo des commandes vocales ni de la commande en MQtt via Smartphone.
Dommage de ne pas avoir de démo des commandes vocales ni de la commande en MQtt via Smartphone.
- alka
- Administrateur du site
- Messages : 2908
- Enregistré le : mer. 15 juil. 2015 15:18
- Localisation : 92
- Contact :
Re: wDSPiy - commander le DSPiy par Wifi
merci. C'est fait pour être super simple à utiliser
j'ai dernièrement ajouté en haut a gauche un bouton poussoir pour changer les sources. Design toujours aussi "tripes a l'air" qui fait très DIY et qui plait beaucoup.
Alexa sait changer de source par commande vocale mais j'aime bien un bouton physique
Jusqu'il y a quelques semaines, je n'écoutais quasiment qu' en Bluetooth.
J'ai récemment rebranché mon vieux ChromeCast Audio (CCA) sur l'entrée toslink du DSPiy. Le CCA stream en wifi via Spotify Connect. La qualité est nettement supérieure a ce que j'obtiens en BT et en plus c'est super pratique avec spotify.
Pour parler boutique, j'ai fait dans mon code ESP8266 une sorte d'API pour piloter le DSPiy avec des fonctions du type set/get (par exemple setVolume(x) ou getVolume() ).
Toutes les interfaces que j'ai ajoutées (boutons, HTTP, MQTT, Alexa) utilisent les fonctions de l'API. Simple a maintenir.
Les commandes par smartphone sont par pages web et utilisent l'interface HTTP. Je réfléchis a faire une interface native android qui envoie des commandes MQTT. C'est un gros morceau pour moi car le fonctionnement que je veux n'a pas l'air si simple à faire. Il y a tellement de possibilités sur android que je suis bloqué au démarrage. Faut que je trouve une bonne âme compétente qui me guide pour partir dans la bonne voie.
j'ai dernièrement ajouté en haut a gauche un bouton poussoir pour changer les sources. Design toujours aussi "tripes a l'air" qui fait très DIY et qui plait beaucoup.
Alexa sait changer de source par commande vocale mais j'aime bien un bouton physique
Jusqu'il y a quelques semaines, je n'écoutais quasiment qu' en Bluetooth.
J'ai récemment rebranché mon vieux ChromeCast Audio (CCA) sur l'entrée toslink du DSPiy. Le CCA stream en wifi via Spotify Connect. La qualité est nettement supérieure a ce que j'obtiens en BT et en plus c'est super pratique avec spotify.
Pour parler boutique, j'ai fait dans mon code ESP8266 une sorte d'API pour piloter le DSPiy avec des fonctions du type set/get (par exemple setVolume(x) ou getVolume() ).
Toutes les interfaces que j'ai ajoutées (boutons, HTTP, MQTT, Alexa) utilisent les fonctions de l'API. Simple a maintenir.
Les commandes par smartphone sont par pages web et utilisent l'interface HTTP. Je réfléchis a faire une interface native android qui envoie des commandes MQTT. C'est un gros morceau pour moi car le fonctionnement que je veux n'a pas l'air si simple à faire. Il y a tellement de possibilités sur android que je suis bloqué au démarrage. Faut que je trouve une bonne âme compétente qui me guide pour partir dans la bonne voie.
acheter un DSPiy ? c'est ici
- thierryvalk
- Administrateur du site
- Messages : 3523
- Enregistré le : jeu. 9 juil. 2015 20:08
- Localisation : Belgique
Re: wDSPiy - commander le DSPiy par Wifi
Tu veux développer ta propre application Android ?
Pourquoi ne pas utiliser une appli tel que MQtt dash ?
Pourquoi ne pas utiliser une appli tel que MQtt dash ?
Retourner vers « DSPiy général »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 8 invités