{"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\/nl\/blog\/administrirovanie\/kak-v-arduino-sozdavat-programmy-dlya-windows","title":{"rendered":"Hoe programma's voor Windows te maken in Arduino","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Hoe programma&#039;s voor Windows te maken in Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/3cc15ea6c8304f594ed7d78dace45b8f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOp een dag kwam ik met een bizarre idee om <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/428513\/\">500 laserpointers op \u00e9\u00e9n plek te verzamelen<\/a><\/noindex>. Ik heb er veel tijd aan besteed en het gedaan. Het was spectaculair en nutteloos, maar ik vond het leuk. Zes maanden geleden kreeg ik weer een andere bizarre idee. Dit keer was het helemaal niet spectaculair, maar veel nuttiger. Ook hier heb ik veel tijd aan besteed. In dit artikel presenteer ik de b\u00e8taversie van mijn tweede bizarre idee.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIk noemde het project Nanonyam en heb zelfs een logo hiervoor ontworpen (het heeft me in totaal 5 minuten gekost).<\/p>\n<p><img decoding=\"async\" alt=\"Hoe programma&#039;s voor Windows te maken in Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/2c91fb239bbf26a83bda83f572f2ac98.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVoor degenen die denken in termen van Arduino, kun je zeggen dat Nanonyam een virtueel Arduino-shield is voor het besturen van Windows.<\/p>\n<p>Met andere woorden, Nanonyam is een virtuele machine waarin de firmware voor de AVR microcontroller (het wordt aangeraden om ATMEGA2560 te gebruiken) als bytecode wordt gebruikt. Binnen deze virtuele machine bevindt zich een simulator van de AVR-kern, maar in plaats van perifere apparaten die zich op de SRAM-adressen van 0x0060 tot 0x01FF bevinden, is er een speciale interface voor de virtuele functies (inclusief Windows API-functies). Het is zeer belangrijk om onmiddellijk te begrijpen: de code voor Nanonyam mag geen verwijzingen naar het opgegeven geheugengebied bevatten, om te voorkomen dat bijvoorbeeld een functie voor het verwijderen van bestanden of het formatteren van een schijf per ongeluk wordt aangeroepen. Het overige geheugengebied van SRAM van 0x0200 tot 0xFFFF (dit is meer dan in een echte microcontroller) is beschikbaar voor de gebruiker voor elk doel. Ik moet opmerken dat er een speciale bescherming is tegen het per ongeluk starten van de firmware van een echte microcontroller (of firmware van een andere architectuur): voordat je 'gevaarlijke' functies activeert, moet je een speciale slimme virtuele functie aanroepen. Er zijn ook enkele andere beveiligingselementen.<\/p>\n<p>Om programma's voor Nanonyam te maken, moet je speciale bibliotheken gebruiken waarin alle momenteel beschikbare virtuele functies zijn ge\u00efmplementeerd. Je kunt de virtuele machine Nanonyam en de bibliotheken hiervoor <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/downloads.html\">hier downloaden<\/a><\/noindex>Maar een <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/libraries.html\">pagina met beschrijving van de virtuele functies<\/a><\/noindex>. En ja, mijn website is erg primitief en niet geoptimaliseerd voor mobiele apparaten.<\/p>\n<p><b>Het programma Nanonyam is gratis voor thuis- en commercieel gebruik. Het programma Nanonyam wordt aangeboden 'zoals het is'. De broncode wordt niet verstrekt.<\/b><\/p>\n<p>Op dit moment bevindt het programma zich in de testfase. Ongeveer 200 virtuele functies zijn ge\u00efmplementeerd, waarmee eenvoudige programma's voor Windows kunnen worden gemaakt.<br \/>\nHet is duidelijk dat het niet mogelijk is om iets complex in zo'n virtuele machine te cre\u00ebren, aangezien er slechts 256 KB geheugen beschikbaar is voor de code. Gegevens kunnen in afzonderlijke bestanden worden opgeslagen, terwijl de buffer voor de grafische gedeelte extern is ge\u00efmplementeerd. Alle functies zijn vereenvoudigd en aangepast voor een 8-bits architectuur.<\/p>\n<p>Wat kun je doen in Nanonyam? Ik heb een paar taken bedacht.<\/p>\n<h4>Het uitwerken van programmablokken<\/h4>\n<p>\nOp een gegeven moment moest ik een ingewikkeld menu ontwikkelen voor een grafisch scherm van 128&#215;64 pixels. Het was erg frustrerend om steeds de firmware op de echte microcontroller te laden om te zien hoe de pixels eruitzagen. Zo ontstond het idee voor Nanonyam. Hieronder is een afbeelding van een echte OLED-display van een van de items in dat menu. Nu kan ik het uitwerken zonder het echte apparaat.<\/p>\n<p><img decoding=\"async\" alt=\"Hoe programma&#039;s voor Windows te maken in Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/1564f1cd12a966743a3f70ebfb592491.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNanonyam (in zijn uiteindelijke concept) is een goed instrument voor het uitwerken van programmablokken voor microcontrollers, omdat er functies zijn voor grafische verwerking (je kunt displays en indicatoren simuleren), voor bestanden (je kunt logs maken, testgegevens uitlezen), voor toetsenborden (je kunt tot 10 knoppen tegelijkertijd uitlezen), en voor COM-poorten (hier is een apart punt voor).<\/p>\n<h4>Het cre\u00ebren van snelle programma's<\/h4>\n<p>\nBijvoorbeeld, je moet snel 100500 tekstbestanden verwerken. Elk bestand moet worden geopend, een beetje gewijzigd volgens een eenvoudig algoritme, opgeslagen en gesloten. Als je een Python-master bent, gefeliciteerd, je hebt alles wat je nodig hebt. Maar als je een doorgewinterde Arduinokeyner bent (en dat zijn er velen), zal Nanonyam je helpen om deze taak op te lossen. Dit is precies mijn tweede doel in Nanonyam: een aantal nuttige functies toevoegen zoals tekstverwerking, screenshots maken of het simuleren van toetsindrukken in het systeem (dit is trouwens allemaal al beschikbaar), evenals verschillende andere functies voor het oplossen van routinetaken.<\/p>\n<h4>Hardware testen via de COM-poort<\/h4>\n<p>\nNanonyam kan optreden als een terminal die naar uw algoritme werkt. U kunt een eenvoudig menu tekenen om het apparaat te besturen en gegevens te tonen die uit de poort worden verkregen. Gegevens kunnen worden opgeslagen en gelezen uit bestanden voor analyse. Een handig hulpmiddel voor eenvoudige debugging en calibratie van hardware, evenals voor het maken van eenvoudige virtuele bedieningspanelen voor apparaten. Voor studenten en jonge wetenschappers kan dit project zeer nuttig zijn.<\/p>\n<h4>Programmeren leren<\/h4>\n<p>\nToch, net als in het hele Arduino-project, ligt de belangrijkste nuttigheid van Nanonyam in de eenvoud van de functies, interface en bootloader. Daarom moet dit project interessant zijn voor novice programmeurs en degenen die tevreden zijn met het niveau van Arduino. Trouwens, ik heb Arduino zelf nog steeds niet diep bestudeerd, omdat ik altijd WinAVR of AVR Studio heb gebruikt en begonnen ben met assembler. Daarom zal het voorbeeldprogramma hieronder een beetje onnauwkeurig zijn, maar goed werkend.<\/p>\n<h4>Hallo, Habr!<\/h4>\n<p>\nHet is tijd om kennis te maken met een paar functies van Nanonyam en een eenvoudig programma te schrijven. We zullen schrijven in Arduino, maar niet op de gebruikelijke manier, maar op de manier die ik nu kan (ik heb al gezegd dat ik nog niet zo goed bekend ben met deze omgeving). Laten we beginnen met het cre\u00ebren van een nieuwe sketch en kiezen voor het bord Mega2560.<\/p>\n<p><img decoding=\"async\" alt=\"Hoe programma&#039;s voor Windows te maken in Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/edfb326204fea718e5238b0a6a32ed89.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSla de sketch op in een bestand en kopieer deze ernaast <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/downloads.html\">de Nanonyam-bibliotheek<\/a><\/noindex>. Het zou correct zijn om de bibliotheekheaders op te nemen, maar ik weet niet hoe ik in Arduino de compilatie van afzonderlijke bestanden moet aangeven, dus laten we voorlopig de bibliotheken rechtstreeks (en allemaal tegelijk) toevoegen:<\/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>\nHet zou nog beter zijn om een speciale module \u201cNanonyam voor Arduino\u201d te maken, die rechtstreeks vanuit Arduino kan worden ge\u00efnstalleerd. Zodra ik hiervan meer begrijp, zal ik dat doen, maar voor nu laat ik gewoon de essentie van het werken met de virtuele machine zien. Schrijf deze 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>\nDe sketch met dit programma <noindex><a rel=\"nofollow\" href=\"http:\/\/www.nanoslavic.com\/downloads\/example002.ino\">is hier te downloaden<\/a><\/noindex>. Voor gedetailleerde beschrijvingen van de functies <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/libraries.html\">zoek op de website<\/a><\/noindex>. Ik hoop dat de opmerkingen in deze code voldoende zijn om de essentie te begrijpen. Hier speelt de functie <b>sys_Nanonyam()<\/b> de rol van een \"wachtwoord\" voor de virtuele machine, dat de beperkingen op virtuele functies opheft. Zonder deze functie sluit het programma na 3 seconden af.<\/p>\n<p>Druk op de knop \u201cControleren\u201d en er mogen geen fouten zijn.<\/p>\n<p><img decoding=\"async\" alt=\"Hoe programma&#039;s voor Windows te maken in Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/ab8e13e6bf320848a30d4a997ba6bd8e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNu moet je het binaire bestand (de firmware) verkrijgen. Kies het menu &#171;<i>Sketch&gt;&gt;Exporteer binaire bestand (CTRL+ALT+S)<\/i>&#171;.<\/p>\n<p><img decoding=\"async\" alt=\"Hoe programma&#039;s voor Windows te maken in Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/3cae211bf76616e8d4cd7beb8f91c7a7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTijdens dit proces worden er twee HEX-bestanden naar de map met de sketch gekopieerd. <b>We only take the file without the prefix \"with_bootloader.mega.\"<\/b><\/p>\n<p>There are several ways to specify a HEX file to the Nanonyam virtual machine, all of them described <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/libraries.html\">on this page<\/a><\/noindex>. I suggest creating a file next to <i>Nanonyam.exe<\/i> bestand <i>Nanonyam.path<\/i>, in which to write the full path to our HEX file. After that, it can be launched <i>Nanonyam.exe<\/i>. We receive a window with our inscription.<\/p>\n<p><img decoding=\"async\" alt=\"Hoe programma&#039;s voor Windows te maken in Arduino\" src=\"\/wp-content\/uploads\/2019\/10\/0bb6e712cedbd9d10d3a7202a5d1b488.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSimilarly, programs can be created in other environments, such as AVR Studio or WinAVR.<\/p>\n<p>For now, we will finish our introduction to Nanonyam. The main idea should be clear. <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/nanonyam\/examples.html\">There are more examples on the site<\/a><\/noindex>. If there are enough interested parties to use this project, I will create more examples and continue to \"fill\" the libraries of virtual functions. Concrete ideas for the project's development and reports on malfunctions, bugs, and quirks are welcome. It is desirable to send them through the contacts <noindex><a rel=\"nofollow\" href=\"http:\/\/nanoslavic.ru\/contacts.html\">provided on the site<\/a><\/noindex>. Discussion is welcome in the comments.<\/p>\n<p>Thank you all for your attention and happy programming!<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/kak-v-arduino-sozdavat-programmy-dlya-windows\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47How to create programs for Windows in Arduino | ProHoster","description":"One day, a crazy idea came to my mind.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/kak-v-arduino-sozdavat-programmy-dlya-windows","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/39389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=39389"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/39389\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/39390"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=39389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=39389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=39389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}