{"id":39389,"date":"2019-10-31T22:31:46","date_gmt":"2019-10-31T19:31:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-v-arduino-sozdavat-programmy-dlya-windows\/"},"modified":"2019-10-31T22:31:46","modified_gmt":"2019-10-31T19:31:46","slug":"kak-v-arduino-sozdavat-programmy-dlya-windows","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-v-arduino-sozdavat-programmy-dlya-windows","title":{"rendered":"Comment cr\u00e9er des programmes pour Windows avec Arduino","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Comment cr\u00e9er des programmes pour Windows avec Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/3cc15ea6c8304f594ed7d78dace45b8f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUn jour, une id\u00e9e folle m'est venue \u00e0 l'esprit de rassembler <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/428513\/\">500 pointeurs laser au m\u00eame endroit.<\/a><\/noindex>J'ai pass\u00e9 beaucoup de temps \u00e0 le faire. C'\u00e9tait spectaculaire et inutile, mais \u00e7a m'a plu. Il y a six mois, une autre id\u00e9e farfelue m'est venue. Cette fois, ce n'\u00e9tait pas aussi spectaculaire, mais beaucoup plus utile. J'y ai \u00e9galement consacr\u00e9 beaucoup de temps. Dans cet article, je pr\u00e9sente la version b\u00eata de ma deuxi\u00e8me id\u00e9e farfelue.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nJ'ai nomm\u00e9 le projet Nanonyam (\u041d\u0430\u043d\u043e\u043d\u044f\u043c) et j'ai m\u00eame cr\u00e9\u00e9 un logo (j'ai dessin\u00e9 pendant 5 minutes).<\/p>\n<p><img decoding=\"async\" alt=\"Comment cr\u00e9er des programmes pour Windows avec Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/2c91fb239bbf26a83bda83f572f2ac98.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPour ceux qui pensent en termes d'Arduino, on peut dire que Nanonyam est un bouclier Arduino virtuel pour contr\u00f4ler Windows.<\/p>\n<p>En d'autres termes, Nanonyam est une machine virtuelle dans laquelle le code byte est un firmware pour microcontr\u00f4leur AVR (ATMEGA2560 recommand\u00e9). \u00c0 l'int\u00e9rieur de cette machine virtuelle se trouve un simulateur de noyau AVR, mais au lieu des appareils p\u00e9riph\u00e9riques situ\u00e9s aux adresses SRAM de 0x0060 \u00e0 0x01FF, il y a une interface sp\u00e9ciale pour des fonctions virtuelles (y compris les fonctions de l'API Windows). Il est tr\u00e8s important de comprendre d\u00e8s le d\u00e9part : le code pour Nanonyam ne doit avoir aucun acc\u00e8s \u00e0 cette plage de m\u00e9moire afin de ne pas appeler accidentellement, par exemple, une fonction de suppression de fichiers ou de formatage de disque. L'autre plage de m\u00e9moire SRAM de 0x0200 \u00e0 0xFFFF (ce qui est plus que dans un v\u00e9ritable microcontr\u00f4leur) est accessible \u00e0 l'utilisateur pour tous les usages. Je pr\u00e9cise qu'il existe une protection sp\u00e9ciale contre l'ex\u00e9cution accidentelle du firmware d'un v\u00e9ritable microcontr\u00f4leur (ou d'un firmware d'une autre architecture) : avant d'activer des fonctionnalit\u00e9s \u201cdangereuses\u201d, il faut appeler une fonction virtuelle sp\u00e9ciale. Il y a aussi d'autres \u00e9l\u00e9ments de protection.<\/p>\n<p>Pour cr\u00e9er des programmes pour Nanonyam, il faut utiliser des biblioth\u00e8ques sp\u00e9ciales, dans lesquelles toutes les fonctions virtuelles disponibles \u00e0 ce jour sont mises en \u0153uvre. T\u00e9l\u00e9chargez la machine virtuelle Nanonyam et ses biblioth\u00e8ques <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/downloads.html\">est possible ici<\/a><\/noindex>. Cependant, <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/libraries.html\">page de description des fonctions virtuelles<\/a><\/noindex>. Et oui, mon site est tr\u00e8s primitif et n'est pas adapt\u00e9 aux appareils mobiles.<\/p>\n<p><b>Le programme Nanonyam est gratuit pour un usage domestique et commercial. Le programme Nanonyam est fourni dans les conditions \u00ab tel quel \u00bb. Le code source n'est pas fourni.<\/b><\/p>\n<p>Actuellement, le programme est en phase de test. Environ 200 fonctions virtuelles ont \u00e9t\u00e9 mises en place, permettant de cr\u00e9er des programmes simples pour Windows.<br \/>\nIl est \u00e9vident qu'il est impossible de cr\u00e9er quelque chose de complexe dans une telle machine virtuelle, car la m\u00e9moire pour le code n'est que de 256 Ko. Les donn\u00e9es peuvent \u00eatre stock\u00e9es dans des fichiers s\u00e9par\u00e9s, et le buffer pour la partie graphique est g\u00e9r\u00e9 ext\u00e9rieurement. Toutes les fonctions sont simplifi\u00e9es et adapt\u00e9es \u00e0 l'architecture 8 bits.<\/p>\n<p>Que peut-on faire dans Nanonyam ? J'ai pens\u00e9 \u00e0 quelques t\u00e2ches.<\/p>\n<h4>Exercice des blocs logiciels<\/h4>\n<p>\nUn jour, j'ai d\u00fb d\u00e9velopper un menu complexe pour un affichage graphique de 128&#215;64 pixels. Je ne voulais vraiment pas charger constamment le firmware sur le microcontr\u00f4leur r\u00e9el pour voir \u00e0 quoi ressemblaient les pixels. C'est ainsi qu'est n\u00e9e l'id\u00e9e de Nanonyam. Sur l'image ci-dessous, vous pouvez voir un affichage r\u00e9el d'un des \u00e9l\u00e9ments de ce menu. Maintenant, je peux le travailler sans appareil r\u00e9el.<\/p>\n<p><img decoding=\"async\" alt=\"Comment cr\u00e9er des programmes pour Windows avec Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/1564f1cd12a966743a3f70ebfb592491.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNanonyam (dans son concept final) est un bon outil pour travailler sur des blocs logiciels pour microcontr\u00f4leurs, car il offre des fonctions pour travailler avec des graphiques (permettant d'imiter des \u00e9crans et des indicateurs), avec des fichiers (pour cr\u00e9er des journaux, lire des donn\u00e9es test), avec un clavier (capable de lire jusqu'\u00e0 10 boutons simultan\u00e9ment), et avec des ports COM (cela fait l'objet d'un point s\u00e9par\u00e9).<\/p>\n<h4>Cr\u00e9ation de programmes rapides<\/h4>\n<p>\nPar exemple, vous devez rapidement traiter 100500 fichiers texte. Chaque fichier doit \u00eatre ouvert, l\u00e9g\u00e8rement modifi\u00e9 selon un algorithme simple, puis enregistr\u00e9 et ferm\u00e9. Si vous \u00eates un ma\u00eetre en Python, alors je vous f\u00e9licite, vous avez tout ce qu'il vous faut. Mais si vous \u00eates un ardent utilisateur d'Arduino (et il y en a beaucoup), alors Nanonyam vous aidera \u00e0 r\u00e9soudre ce probl\u00e8me. C'est pr\u00e9cis\u00e9ment mon deuxi\u00e8me objectif avec Nanonyam : ajouter de nombreuses fonctions utiles telles que le traitement de texte, la cr\u00e9ation de captures d'\u00e9cran ou l'imitation de frappes dans le syst\u00e8me (tout cela, d'ailleurs, est d\u00e9j\u00e0 disponible), ainsi que de nombreuses autres fonctions pour r\u00e9soudre des t\u00e2ches routini\u00e8res.<\/p>\n<h4>Test des mat\u00e9riels via le port COM<\/h4>\n<p>\nNanonyam peut agir comme un terminal fonctionnant selon votre algorithme. Vous pouvez dessiner un petit menu pour contr\u00f4ler l'appareil et afficher les donn\u00e9es re\u00e7ues du port. Il est possible de sauvegarder et de lire des donn\u00e9es \u00e0 partir de fichiers pour analyse. Un outil pratique pour le d\u00e9bogage simple et l'\u00e9talonnage de mat\u00e9riel, ainsi que pour cr\u00e9er des panneaux de contr\u00f4le virtuels simples. Ce projet peut \u00eatre tr\u00e8s utile pour les \u00e9tudiants et les jeunes chercheurs.<\/p>\n<h4>Apprentissage de la programmation<\/h4>\n<p>\nComme dans tout le projet Arduino, l'utilit\u00e9 principale de Nanonyam r\u00e9side dans la simplicit\u00e9 de ses fonctions, de son interface et de son chargeur. Ce projet doit donc int\u00e9resser les nouveaux programmateurs et ceux qui sont \u00e0 l'aise avec le niveau d'Arduino. D'ailleurs, je n'ai pas encore \u00e9tudi\u00e9 Arduino en d\u00e9tail, car j'ai toujours utilis\u00e9 WinAVR ou AVR Studio, en commen\u00e7ant par l'assembleur. Par cons\u00e9quent, l'exemple de programme ci-dessous sera l\u00e9g\u00e8rement incorrect, mais tout \u00e0 fait fonctionnel.<\/p>\n<h4>Hello, Habr!<\/h4>\n<p>\nIl est temps de se familiariser avec certaines fonctions de Nanonyam et d'\u00e9crire un programme simple. Nous allons \u00e9crire dans Arduino, mais pas comme d'habitude, plut\u00f4t comme je sais le faire maintenant (j'ai d\u00e9j\u00e0 dit que je n'\u00e9tais pas encore tr\u00e8s \u00e0 l'aise avec cet environnement). Pour commencer, cr\u00e9ons un nouveau sketch et choisissons la carte Mega2560.<\/p>\n<p><img decoding=\"async\" alt=\"Comment cr\u00e9er des programmes pour Windows avec Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/edfb326204fea718e5238b0a6a32ed89.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNous sauvegardons le sketch dans un fichier et copions \u00e0 c\u00f4t\u00e9 <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/downloads.html\">la biblioth\u00e8que Nanonyam<\/a><\/noindex>. Il aurait \u00e9t\u00e9 correct d'inclure les en-t\u00eates des biblioth\u00e8ques, mais je ne sais pas comment compiler des fichiers s\u00e9par\u00e9s dans Arduino, donc pour l'instant, incluons simplement les biblioth\u00e8ques directement (et toutes \u00e0 la fois) :<\/p>\n<pre><code class=\"plaintext\">#include &lt;stdio.h&gt;\n#include \"NanonyamnN_System_lib.c\"\n#include \"NanonyamnN_Keyboard_lib.c\"\n#include \"NanonyamnN_File_lib.c\"\n#include \"NanonyamnN_Math_lib.c\"\n#include \"NanonyamnN_Text_lib.c\"\n#include \"NanonyamnN_Graphics_lib.c\"\n#include \"NanonyamnN_RS232_lib.c\"<\/code><\/pre>\n<p>\nIl serait encore plus appropri\u00e9 de faire un module sp\u00e9cial \u00ab Nanonyam for Arduino \u00bb, qui pourrait \u00eatre install\u00e9 directement depuis Arduino. D\u00e8s que j'aurai compris cela, je le ferai, mais pour l'instant, je montre simplement le principe de fonctionnement avec la machine virtuelle. \u00c9crivons ce code :<\/p>\n<pre><code class=\"plaintext\">\/\/\u0421\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0440\u0438\u0441\u0443\u0435\u043c \u0442\u0435\u043a\u0441\u0442 \u0432 \u043e\u043a\u043d\u0435\nvoid setup() {\n  sys_Nanonyam();\/\/\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u043c \u043a\u043e\u0434 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b\n  g_SetScreenSize(400,200);\/\/\u0417\u0430\u0434\u0430\u0451\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0438\u0441\u043f\u043b\u0435\u044f 400\u0445200 \u0442\u043e\u0447\u0435\u043a\n  sys_WindowSetText(\"Example\");\/\/\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043e\u043a\u043d\u0430\n  g_ConfigExternalFont(0,60,1,0,0,0,\"Arial\");\/\/\u0417\u0430\u0434\u0430\u0451\u043c \u0448\u0440\u0438\u0444\u0442 Windows \u0432 \u044f\u0447\u0435\u0439\u043a\u0435 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 0\n  g_SetExternalFont(0);\/\/\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u044f\u0447\u0435\u0439\u043a\u0443 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 0 \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430\n  g_SetBackRGB(0,0,255);\/\/\u0426\u0432\u0435\u0442 \u0444\u043e\u043d\u0430 \u0441\u0438\u043d\u0438\u0439\n  g_SetTextRGB(255,255,0);\/\/\u0426\u0432\u0435\u0442 \u0442\u0435\u043a\u0441\u0442\u0430 \u0436\u0451\u043b\u0442\u044b\u0439\n  g_ClearAll();\/\/\u041e\u0447\u0438\u0449\u0430\u0435\u043c \u044d\u043a\u0440\u0430\u043d (\u0437\u0430\u043b\u0438\u0432\u043a\u0430 \u0446\u0432\u0435\u0442\u043e\u043c \u0444\u043e\u043d\u0430)\n  g_DrawTextCenterX(0,400,70,\"Hello, Habr!\");\/\/\u0420\u0438\u0441\u0443\u0435\u043c \u043d\u0430\u0434\u043f\u0438\u0441\u044c\n  g_Update();\/\/\u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u0443\u0444\u0435\u0440 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\n}\n\n\/\/\u041f\u0440\u043e\u0441\u0442\u043e \u0436\u0434\u0451\u043c \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b\nvoid loop() {\n  sys_Delay(100);\/\/\u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u0438 \u0440\u0430\u0437\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\n}<\/code><\/pre>\n<p>\nLe sketch avec ce programme <noindex><a rel=\"nofollow\" href=\"http:\/\/www.nanoslavic.com\/downloads\/example002.ino\">peut \u00eatre t\u00e9l\u00e9charg\u00e9 ici<\/a><\/noindex>. Une description d\u00e9taill\u00e9e des fonctions <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/libraries.html\">est disponible sur le site<\/a><\/noindex>. J'esp\u00e8re que les commentaires dans ce code sont suffisants pour comprendre le principe. Ici, la fonction <b>sys_Nanonyam()<\/b> joue le r\u00f4le de \u00ab mot de passe \u00bb pour la machine virtuelle, qui supprime les restrictions sur les fonctions virtuelles. Sans cette fonction, le programme se fermera apr\u00e8s 3 secondes de fonctionnement.<\/p>\n<p>Appuyez sur le bouton \u00ab V\u00e9rifier \u00bb, et il ne devrait pas y avoir d'erreurs.<\/p>\n<p><img decoding=\"async\" alt=\"Comment cr\u00e9er des programmes pour Windows avec Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/ab8e13e6bf320848a30d4a997ba6bd8e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMaintenant, il faut obtenir le fichier binaire (firmware). S\u00e9lectionnez le menu \u00ab<i>Sketch&gt;&gt;Exporter le fichier binaire (CTRL+ALT+S)<\/i>\u00bb.<\/p>\n<p><img decoding=\"async\" alt=\"Comment cr\u00e9er des programmes pour Windows avec Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/3cae211bf76616e8d4cd7beb8f91c7a7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCela copiera deux fichiers HEX dans le dossier du sketch. <b>Nous ne prenons que le fichier sans le pr\u00e9fixe \u00abwith_bootloader.mega\u00bb.<\/b><\/p>\n<p>Il existe plusieurs mani\u00e8res d'indiquer le fichier HEX \u00e0 la machine virtuelle Nanonyam, toutes sont d\u00e9crites <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/libraries.html\">sur cette page<\/a><\/noindex>. Je vous propose de cr\u00e9er \u00e0 c\u00f4t\u00e9 du fichier <i>Nanonyam.exe<\/i> fichier <i>Nanonyam.path<\/i>, o\u00f9 nous indiquerons le chemin complet vers notre fichier HEX. Ensuite, vous pourrez lancer <i>Nanonyam.exe<\/i>. Une fen\u00eatre appara\u00eetra avec notre inscription.<\/p>\n<p><img decoding=\"async\" alt=\"Comment cr\u00e9er des programmes pour Windows avec Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/0bb6e712cedbd9d10d3a7202a5d1b488.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDe m\u00eame, il est possible de cr\u00e9er des programmes dans d'autres environnements, par exemple, dans AVR Studio ou WinAVR.<\/p>\n<p>Nous allons donc terminer ici notre introduction \u00e0 Nanonyam. L'id\u00e9e principale devrait \u00eatre claire. <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/examples.html\">Il y a encore des exemples sur le site<\/a><\/noindex>. Si suffisamment de personnes souhaitent utiliser ce projet, je ferai plus d'exemples et continuerai \u00e0 \u00ab remplir \u00bb les biblioth\u00e8ques de fonctions virtuelles. Des id\u00e9es concr\u00e8tes pour le d\u00e9veloppement du projet et des rapports sur les dysfonctionnements, bogues et erreurs sont les bienvenues. Il est pr\u00e9f\u00e9rable de les envoyer via les contacts <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/contacts.html\">indiqu\u00e9s sur le site<\/a><\/noindex>. Les discussions sont encourag\u00e9es dans les commentaires.<\/p>\n<p>Merci \u00e0 tous pour votre attention et bonne programmation !<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/472958\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u0434\u043d\u0430\u0436\u0434\u044b \u043c\u043d\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043f\u0440\u0438\u0448\u043b\u0430 \u0431\u0440\u0435\u0434\u043e\u0432\u0430\u044f \u0438\u0434\u0435\u044f \u0441\u0432\u0435\u0441\u0442\u0438 500 \u043b\u0430\u0437\u0435\u0440\u043d\u044b\u0445 \u0443\u043a\u0430\u0437\u043e\u043a \u0432 \u043e\u0434\u043d\u043e \u043c\u0435\u0441\u0442\u043e. \u042f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u0441\u0434\u0435\u043b\u0430\u043b \u044d\u0442\u043e. \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0437\u0440\u0435\u043b\u0438\u0449\u043d\u043e \u0438 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u043d\u043e \u043c\u043d\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c. \u041f\u043e\u043b\u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u043c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u0430 \u0434\u0440\u0443\u0433\u0430\u044f \u0431\u0440\u0435\u0434\u043e\u0432\u0430\u044f \u0438\u0434\u0435\u044f. \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0437\u0440\u0435\u043b\u0438\u0449\u043d\u0430\u044f, \u043d\u043e \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0435\u0435. \u042f \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b \u043d\u0430 \u043d\u0435\u0451 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0418 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":39390,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-39389","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u0434\u043d\u0430\u0436\u0434\u044b \u043c\u043d\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043f\u0440\u0438\u0448\u043b\u0430 \u0431\u0440\u0435\u0434\u043e\u0432\u0430\u044f \u0438\u0434\u0435\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-v-arduino-sozdavat-programmy-dlya-windows\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u0432 Arduino \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f Windows | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u0434\u043d\u0430\u0436\u0434\u044b \u043c\u043d\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043f\u0440\u0438\u0448\u043b\u0430 \u0431\u0440\u0435\u0434\u043e\u0432\u0430\u044f \u0438\u0434\u0435\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-v-arduino-sozdavat-programmy-dlya-windows\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:31:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:31:46+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Comment cr\u00e9er des programmes Windows dans Arduino | ProHoster","description":"Un jour, une id\u00e9e folle m'est venue \u00e0 l'esprit.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-v-arduino-sozdavat-programmy-dlya-windows","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u0432 Arduino \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f Windows | ProHoster","og:description":"\u041e\u0434\u043d\u0430\u0436\u0434\u044b \u043c\u043d\u0435 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u043f\u0440\u0438\u0448\u043b\u0430 \u0431\u0440\u0435\u0434\u043e\u0432\u0430\u044f \u0438\u0434\u0435\u044f.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/kak-v-arduino-sozdavat-programmy-dlya-windows","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:31:46+00:00","article:modified_time":"2019-10-31T19:31:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39389","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 01:51:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:51:26","updated":"2026-01-24 01:51:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/39389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=39389"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/39389\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/39390"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=39389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=39389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=39389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}