{"id":3147,"date":"2021-11-12T10:26:18","date_gmt":"2021-11-12T09:26:18","guid":{"rendered":"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commande-arduino-depuis-discord\/"},"modified":"2022-01-05T22:41:55","modified_gmt":"2022-01-05T21:41:55","slug":"commander-arduino-depuis-discord","status":"publish","type":"page","link":"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/","title":{"rendered":"Commander Arduino depuis Discord"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Arduino et Python au lyc\u00e9e avec Pymata4 : partie 09\" width=\"900\" height=\"506\" src=\"https:\/\/www.youtube.com\/embed\/_gmsJdWUlNk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Arduino et Discord pouvant \u00eatre programm\u00e9 en Python, il est assez simple d&rsquo;utiliser les commandes Python pour interagir avec la carte Arduino pour :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>allumer ou \u00e9teindre une led<\/li><li>demander une mesure<\/li><li>activer un moteur<\/li><li>r\u00e9gler une led RGB<\/li><li>&#8230;<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Du c\u00f4t\u00e9 Discord, que faire ?<\/h3>\n\n\n\n<p>Il vous faut :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>un compte Discord<\/li><li>un serveur Discord<\/li><li>un bot d\u00e9di\u00e9<\/li><\/ul>\n\n\n\n<p>Tout ceci est expliqu\u00e9 dans la page <a href=\"https:\/\/wordpress.callac.online\/index.php\/python\/programmer-un-bot-discord-en-python\/\" target=\"_blank\" rel=\"noreferrer noopener\">Programmer un bot Discord en Python<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Du c\u00f4t\u00e9 Python et Arduino, que faire ?<\/h3>\n\n\n\n<p>Il vous faut :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>une carte Arduino avec le FirmataExpress<\/li><li>sur Python les paquets Discord et Pymata4<\/li><\/ul>\n\n\n\n<p>Tout ceci est expliqu\u00e9 dans la page <a href=\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/installation\/\" target=\"_blank\" rel=\"noreferrer noopener\">Installation<\/a> de Pymata4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exemple : allumer et \u00e9teindre une led<\/h3>\n\n\n\n<p>Lorsque le script suivant est ex\u00e9cut\u00e9, la communication avec Arduino est activ\u00e9 et le bot lanc\u00e9.<\/p>\n\n\n\n<p>Les commandes possibles sont :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>!allumer<\/strong> : allumer la led<\/li><li><strong>!eteindre<\/strong> : \u00e9teindre la led<\/li><li><strong>!quitter<\/strong> : terminer la communication avec Arduino et d\u00e9conecter le du serveur Discord<\/li><li><strong>!purger<\/strong> : effacer tous les messages du salon <strong>(attention !)<\/strong><\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import discord\nfrom discord.ext import commands\nimport sys\nfrom pymata4 import pymata4\nimport time\n\nwith open(\"token.txt\",\"r\",encoding=\"utf-8\") as fichier :\n\ttoken= fichier.readline()\n\n\nbot = commands.Bot(command_prefix=\"!\")\n\n##########################################################################\n# \u00e0 la connexion\n##########################################################################\n@bot.event\nasync def on_ready():\n\tchannel = discord.utils.get(bot.get_all_channels(), name=\"g\u00e9n\u00e9ral\")  #remplacer \"g\u00e9n\u00e9ral\" par le nom du salon\n\tawait bot.get_channel(channel.id).send(\"Bonjour \u00e0 tous !\")\n\tprint(f\"{bot.user.name} est pr\u00eat.\") \n\n\n##########################################################################\n# en cas d'erreur\n##########################################################################\n@bot.event\nasync def on_command_error(ctx,error):\n\tif isinstance(error,commands.CommandNotFound):\n\t\tawait ctx.reply(\"V\u00e9rifier votre commande.\")\n\telse :\n\t\traise error\n\n\n##########################################################################\n# allumer\n##########################################################################\n@bot.command(name=\"allumer\")\nasync def allumer(ctx):\n\treponse=\"Led allum\u00e9.\"\n\tawait ctx.reply(reponse)\n\tcarte.digital_write(Led_bleue, 1)\n\tprint(f\"R\u00e9ponse \u00e0 message {ctx.message.id} : {reponse}\")\n\n##########################################################################\n# eteindre\n##########################################################################\n@bot.command(name=\"eteindre\")\nasync def eteindre(ctx):\n\treponse=\"Led \u00e9teinte.\"\n\tawait ctx.reply(reponse)\n\tcarte.digital_write(Led_bleue, 0)\n\tprint(f\"R\u00e9ponse \u00e0 message {ctx.message.id} : {reponse}\")\n\n##########################################################################\n# exit\n##########################################################################\n@bot.command(name=\"quitter\")\nasync def quitter(ctx):\n\treponse=\"Bot d\u00e9connect\u00e9. Bye Bye !\"\n\tawait ctx.reply(reponse)\n\tawait bot.close()\n\tcarte.shutdown()\n\tprint(f\"R\u00e9ponse \u00e0 message {ctx.message.id} : {reponse}\")\n\tprint(\"--------------- Fin --------------\")\n\n\n##########################################################################\n# Supprimer tous les messages : !purger\n##########################################################################\n@bot.command(name=\"purger\")\nasync def purge(ctx):\n\tawait ctx.channel.purge()\n\n\n##########################################################################\n##########################################################################\n##########################################################################\n# Initialisations de Pymata et ex\u00e9cution du bot\n##########################################################################\n##########################################################################\n##########################################################################\ncarte = pymata4.Pymata4()\n\nprint(\"--------------- D\u00e9but --------------\")\n# Constantes\nLed_bleue = 13 # Led\n\ncarte.set_pin_mode_digital_output(Led_bleue)\ntime.sleep(1)\n\nwith open(\"token.txt\",\"r\",encoding=\"utf-8\") as fichier :\n\ttoken= fichier.readline()\nbot.run(token)<\/pre>\n\n\n\n<p class=\"has-text-align-center\"> <a href=\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/\">Retour \u00e0 la rubrique<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Arduino et Discord pouvant \u00eatre programm\u00e9 en Python, il est assez simple d&rsquo;utiliser les commandes Python pour interagir avec la carte Arduino pour : allumer ou \u00e9teindre une led demander&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3046,"menu_order":9,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3147","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Commander Arduino depuis Discord - Maths &amp; Num\u00e9rique<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Commander Arduino depuis Discord - Maths &amp; Num\u00e9rique\" \/>\n<meta property=\"og:description\" content=\"Arduino et Discord pouvant \u00eatre programm\u00e9 en Python, il est assez simple d&rsquo;utiliser les commandes Python pour interagir avec la carte Arduino pour : allumer ou \u00e9teindre une led demander&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/\" \/>\n<meta property=\"og:site_name\" content=\"Maths &amp; Num\u00e9rique\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-05T21:41:55+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/\",\"url\":\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/\",\"name\":\"Commander Arduino depuis Discord - Maths &amp; Num\u00e9rique\",\"isPartOf\":{\"@id\":\"https:\/\/wordpress.callac.online\/#website\"},\"datePublished\":\"2021-11-12T09:26:18+00:00\",\"dateModified\":\"2022-01-05T21:41:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/wordpress.callac.online\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\/\/wordpress.callac.online\/index.php\/python\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Arduino en Python : le module Pymata4\",\"item\":\"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Commander Arduino depuis Discord\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wordpress.callac.online\/#website\",\"url\":\"https:\/\/wordpress.callac.online\/\",\"name\":\"Maths & Num\u00e9rique\",\"description\":\"Des outils pour les enseignants de math\u00e9matiques et de num\u00e9rique\",\"publisher\":{\"@id\":\"https:\/\/wordpress.callac.online\/#\/schema\/person\/04061f1ca2c2c42039142a704be95940\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wordpress.callac.online\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/wordpress.callac.online\/#\/schema\/person\/04061f1ca2c2c42039142a704be95940\",\"name\":\"dlefur\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/wordpress.callac.online\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4a9e17be136808c6597f28aa2b6c13126dab066fdc2198ff60090972c9b7fafc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4a9e17be136808c6597f28aa2b6c13126dab066fdc2198ff60090972c9b7fafc?s=96&d=mm&r=g\",\"caption\":\"dlefur\"},\"logo\":{\"@id\":\"https:\/\/wordpress.callac.online\/#\/schema\/person\/image\/\"},\"description\":\"Enseignant de math\u00e9matiques Lyc\u00e9e Pasteur S\u00e3o Paulo\",\"sameAs\":[\"http:\/\/wordpress.callac.online\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Commander Arduino depuis Discord - Maths &amp; Num\u00e9rique","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/","og_locale":"fr_FR","og_type":"article","og_title":"Commander Arduino depuis Discord - Maths &amp; Num\u00e9rique","og_description":"Arduino et Discord pouvant \u00eatre programm\u00e9 en Python, il est assez simple d&rsquo;utiliser les commandes Python pour interagir avec la carte Arduino pour : allumer ou \u00e9teindre une led demander&hellip;","og_url":"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/","og_site_name":"Maths &amp; Num\u00e9rique","article_modified_time":"2022-01-05T21:41:55+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/","url":"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/","name":"Commander Arduino depuis Discord - Maths &amp; Num\u00e9rique","isPartOf":{"@id":"https:\/\/wordpress.callac.online\/#website"},"datePublished":"2021-11-12T09:26:18+00:00","dateModified":"2022-01-05T21:41:55+00:00","breadcrumb":{"@id":"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/commander-arduino-depuis-discord\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/wordpress.callac.online\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/wordpress.callac.online\/index.php\/python\/"},{"@type":"ListItem","position":3,"name":"Arduino en Python : le module Pymata4","item":"https:\/\/wordpress.callac.online\/index.php\/python\/arduino-en-python-le-module-pymata4\/"},{"@type":"ListItem","position":4,"name":"Commander Arduino depuis Discord"}]},{"@type":"WebSite","@id":"https:\/\/wordpress.callac.online\/#website","url":"https:\/\/wordpress.callac.online\/","name":"Maths & Num\u00e9rique","description":"Des outils pour les enseignants de math\u00e9matiques et de num\u00e9rique","publisher":{"@id":"https:\/\/wordpress.callac.online\/#\/schema\/person\/04061f1ca2c2c42039142a704be95940"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordpress.callac.online\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/wordpress.callac.online\/#\/schema\/person\/04061f1ca2c2c42039142a704be95940","name":"dlefur","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/wordpress.callac.online\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4a9e17be136808c6597f28aa2b6c13126dab066fdc2198ff60090972c9b7fafc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4a9e17be136808c6597f28aa2b6c13126dab066fdc2198ff60090972c9b7fafc?s=96&d=mm&r=g","caption":"dlefur"},"logo":{"@id":"https:\/\/wordpress.callac.online\/#\/schema\/person\/image\/"},"description":"Enseignant de math\u00e9matiques Lyc\u00e9e Pasteur S\u00e3o Paulo","sameAs":["http:\/\/wordpress.callac.online"]}]}},"_links":{"self":[{"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages\/3147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/comments?post=3147"}],"version-history":[{"count":5,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages\/3147\/revisions"}],"predecessor-version":[{"id":3181,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages\/3147\/revisions\/3181"}],"up":[{"embeddable":true,"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/pages\/3046"}],"wp:attachment":[{"href":"https:\/\/wordpress.callac.online\/index.php\/wp-json\/wp\/v2\/media?parent=3147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}