Arduino IDE vs Platform IO

Plaats reactie

Onderwerp starter
Peter64
Berichten: 15
Lid geworden op: 27 mar 2022 20:38

Arduino IDE vs Platform IO

Bericht door Peter64 »

Goedenavond allen,

Ik kreeg hier laatst het verzoek eens op te schrijven hoe ik mijn ontwikkelomgeving heb ingericht met Platform IO, in plaats van het gebruik van de Arduino IDE. Ik wil graag proberen aan dit verzoek te voldoen. Omdat ik het idee heb dat het publiek op dit forum nogal gevarieerd is voor wat betreft achtergrondkennis en interesse is dat eigenlijk nog best moeilijk. Dus ik hoop op wat feedback, in de geest van "nuttig, kun je dat en dat ook eens uitleggen" tot "kompleet zinloos dit, stop er maar mee" en alles ertussenin.

Editor vs IDE

Het lijkt mij goed om eens te beginnen met het verschil tussen een "editor" en een "IDE" uit te leggen. Op het moment dat je iets gaat programmeren, en je hebt bedacht hoe dat moet, moet je de code die je bedacht hebt gaan intypen. Die code is over het algemeen in een taal die de processor in je computer niet begrijpt. Je hebt dus een stukje software nodig wat die taal wel begrijpt, en het kan omzetten in iets waar je processor wel mee overweg kan, een "compiler" of "interpreter". Tenslotte zul je die code naar je Arduino moeten sturen, zodat je Arduino er mee aan de slag kan.

Een "editor" is een programmaatje waarmee je die eerste taak, het intypen van die code, voor elkaar kunt krijgen, en niets meer. Een simpel voorbeeld van een editor is "notepad", wat iedereen met een Windows computer wel kent. De mogelijkheden daarvan zijn vrij beperkt, dus er er bestaan ook editors die wat meer mogelijkheden, comfort en luxe bieden, zoals "wordpad", "notepad++", en voor de dinosauriers onder ons "vi" en "emacs". Het voordeel van zo'n editor is dat je er elke willekeurige tekst mee kunt intypen, alle programmeertalen, simpele briefjes, Engels, Nederlands, Duits, etc, alles wat je maar kunt bedenken, het kan allemaal in dezelfde editor, handig, want je hoeft alleen maar te leren hoe die ene editor werkt.

Maar, het nadeel is natuurlijk dat het daar bij blijft. Allerlei andere taken die je moet uitvoeren om je programma op de Arduino te laten werken kun je niet met zo'n editor uitvoeren. Die zal je op een andere manier moeten aanpakken, vaak middels het intypen van ingewikkelde commando's in cmd of powershell. Het kan, maar iets voor de echte diehards. Dat is waar een "IDE" oftwel een "Integrated Development Environment" om de hoek komt kijken. Zo'n IDE bevat alles wat je nodig hebt om voor een bepaald systeem je ontwikkelwerk te doen. Met behulp van de Arduino IDE kun je dus alle taken uitvoeren die nodig zijn, intypen van je code, compileren, en naar je Arduino sturen en genieten van het resultaat. Maar, de Arduino IDE is wel specifiek gemaakt voor het programmeren van Arduinos en Arduino-achtigen. Als je ook nog wel eens iets anders programmeert zul je daar een andere IDE voor moeten gebruiken.

VS Code

Dat is waar voor mij Visual Studio Code, in het vervolg afgekort tot VSCode, om de hoek komt kijken. Dit is in principe een editor, maar deze is middels het toevoegen van extensies uitbreidbaar. Er zijn onnoemelijk veel extensies beschikbaar, waaronder een flink aantal welke de editor omvormen tot een echte IDE. Dus met een "C" extensie wordt het een ontwikkelomgeving voor de taal C, met een "LaTeX" extensie wordt het een omgeving om technisch wetenschappelijke publicaties mee te schrijven, en met de "Platform IO" extensie wordt het een IDE voor de Arduino. Verder kun je de editor uitbreiden met extensies waarmee je aan versiebeheer kunt doen met behulp van "git" (ook gebruikt door de makers van DCC++EX), extensies waarmee je spellingscontrole kunt uitvoeren, etc.

Dus hoewel VSCode wat ingewikkelder is dan de Arduino IDE, hoef je eigenlijk maar een keer te leren hoe het werkt, onafhankelijk van wat je op een bepaald moment wil gaan doen. Als je veel extensies hebt geladen zal de editor in de meeste gevallen zelf wel herkennen wat de bedoeling is, aan de hand van het soort bestand of project waar je mee aan de slag gaat.

Samengevat tot hier:
  • Om met een Arduino aan de gang te gaan heb je een IDE nodig
  • Arduino IDE: Simpel, beperkt tot het programmeren van Arduino's, weinig "luxe", uitstekend geschikt voor beginners en mensen die geen al te ingewikkelde dingen willen doen
  • VSCode: Ingewikkelder, maar ook veel veelzijdiger. Met behulp van de Platform IO extensie wordt het een Arduino IDE, maar wel met meer mogelijkheden dan de originele Arduino IDE
Overigens is alle software die ik hier noem gratis te gebruiken, maar niet alles is Open Source. VSCode is van Microsoft, maar naast Windows ook beschikbaar voor Linux and Apple. Platform IO is ook beschikbaar als extensie voor andere multi-purpose editors, zoals bijvoorbeeld Atom, maar daar heb ik geen ervaring mee.

Als jullie denken dat dit interessant genoeg is zal ik over een paar dagen eens laten zien hoe dit geinstalleerd kan worden, en zal ik het maken van een eerste Arduino sketch laten zien. Verzoekjes zijn uiteraard ook welkom.

Met vriendelijke groeten, Peter



jw82
Berichten: 365
Lid geworden op: 11 mei 2021 09:03

Re: Arduino IDE vs Platform IO

Bericht door jw82 »

Interessant Peter en duidelijk uitgelegd! Ik ben nog geen Arduino gebruiker, maar door alles wat er op het forum verschijnt is mijn interesse wel gewekt...en ik gebruik in mijn werk wel VS Code en ben daar dus bekend mee.

Ga dit draadje volgen (al zal het voor latere toepassing zijn).


Hartelijke groet,
Jan-Willem

Nederlandse baan in ontwikkeling: Kokkerdam
Gebruikersavatar

fenix
Berichten: 595
Lid geworden op: 04 apr 2019 14:26

Re: Arduino IDE vs Platform IO

Bericht door fenix »

Hallo Peter,

Dank voor deze uiteenzetting :)
Ik ben bezig om over te schakelen naar platform io. Nieuwe projecten gaan in platform io en voor vlotte, ongecompliceerde toegang tot mijn oudere sketches heb ik nog wel de arduino ide bij de hand.

Waar ik op dit moment vooral in ben geinteresseerd is om vanuit platform io met een git server te gaan praten. Zou je daarover iets meer willen schrijven? Ik heb al een poging gedaan om het voor elkaar te krijgen, maar dat loopt stuk omdat ik sowieso nog te weinig ervaring heb met git...
(Een tip om met git een goede start te maken is ook al erg welkom ;) )

groetjes, Fenna


Gebruikersavatar

Momfer
Berichten: 570
Lid geworden op: 29 okt 2020 13:13
Locatie: Zwolle

Re: Arduino IDE vs Platform IO

Bericht door Momfer »

Hallo Peter,

Dat is een mooie start van (hopelijk) een mooie serie over VSCode, Platform IO en wellicht GIT.

Je beschrijft het in duidelijke stappen en het is daarmee (volgens mij) ook goed te volgen voor instappende Arduino gebruikers.

Top dat je dit doet! Ik zie het vervolg graag tegemoet, Fenna heeft al een mooi voorzetje voor een onderdeel gegeven :)

Groet,
Rico


Groet,
Rico (momfer)

Centrale: DCC-Ex | Arduino Mega + Motor shield
Besturing: EXRAIL | Traintastic | RocRail | Engine Driver | DecoderPro
Rails: Minitrix / Fleischmann Piccolo
En hier vind je de bouw van mijn kerstbaan en Starten met EXRAIL
Gebruikersavatar

141
Berichten: 348
Lid geworden op: 18 sep 2013 07:23

Re: Arduino IDE vs Platform IO

Bericht door 141 »

Hallo Peter,

Wat een mooi en duidelijk verhaal. :Thumb
Ik ben beginnend Arduino gebruiker, dus ik moet nog een hoop leren. Ik ga dit draadje met belangstelling volgen!

Groet, Clemens


Onbereikbare doelen; ze gaan zo lekker lang mee.
Pendelbaan Wolfach
Gebruikersavatar

PaulRoman
Berichten: 154
Lid geworden op: 25 feb 2017 13:48
Locatie: RO

Re: Arduino IDE vs Platform IO

Bericht door PaulRoman »

Hallo Peter,

Complimenten voor je uitstekende verhaal ! Duidelijk en ik denk ook voor beginners begrijpelijk !
Hoewel ik me tot nu toe uistekend red met de Arduino IDE en wat Notepad++ editing en mijn eigen versie beheer zijn er wel een aantal zaken die ik mis. Ik wacht met spanning op het vervolg.

Groet,

Paul


Schäßburg an der Kokel

Onderwerp starter
Peter64
Berichten: 15
Lid geworden op: 27 mar 2022 20:38

Re: Arduino IDE vs Platform IO

Bericht door Peter64 »

Hartelijk dank voor de motiverende woorden, dat betekent dat het zin heeft om hiermee door te gaan. Zoals gezegd, over een paar dagen de installatie van VSCode met Platform IO, en de eerste sketch. Maar zeker leuk om te lezen dat er ook belangstelling is voor git, dat is voor mij ook nog vrij nieuw. Op het werk zijn we onlangs overgestapt van TFS (Microsoft's Team Foundation Server) naar git, dus dat is voor mij ook nog vrij nieuw. Ik gebruik het tot nu toe alleen vanuit Visual Studio, dus nog niet VSCode (verwarrend, die naamgeving), maar dit is wel een mooie aanleiding om dat ook eens goed uit te zoeken.

Overigens is git gemaakt door Linus Torvalds, dezelfde kerel die Linux gemaakt heeft. Naar eigen zeggen heeft het hem slechts een dag gekost om een eerste versie van git te maken die voldoende goed was om de rest van de ontwikkeling daarin onder te brengen. Na 10 dagen had hij er voldoende vertrouwen in om de Linux kernel erin onder te brengen. In een oud interview verteld Linus hier iets meer over.

Inmiddels heb ik wat rails en wissels besteld voor m'n eigen eerste proefbaantje, dus daar ga ik ook mee aan de slag. Ik zal ingaan op al jullie suggesties en vragen, maar het tempo zal niet heel hoog liggen. Ik heb zelf ook veel te leren, m'n eerste uitdaging zal zijn de rails echt netjes te leggen, dan leren hoe om te gaan met blokindeling en bezetmelders, wissels netjes omleggen met behulp van servo's, etc.


Gebruikersavatar

fenix
Berichten: 595
Lid geworden op: 04 apr 2019 14:26

Re: Arduino IDE vs Platform IO

Bericht door fenix »

hallo Peter,

Dank alvast :)

Linus Thorvalds ken ik (van naam) .. vanaf kernel versie 2.0 ongeveer draai ik vrijwel uitsluitend linux-gnu installaties op mijn computers ;)
Dat hij ook git heeft bedacht, is nieuw voor me :Thumb

groetjes, Fenna



Albert
Berichten: 54
Lid geworden op: 01 aug 2020 10:34

Re: Arduino IDE vs Platform IO

Bericht door Albert »

Goed verhaal en goed initiatief hoor.
Vooral doorgaan.
Mvg.



swets
Berichten: 1
Lid geworden op: 28 okt 2024 20:57
Locatie: Krimpen a/d ijssel

Re: Arduino IDE vs Platform IO

Bericht door swets »

Ben nieuw hier, en ben eigenlijk hier terecht gekomen om dat ik dus micro controller via PlatformIO wil gaan programmeren...

Dus ik hou in ieder geval dit topic in de gaten :-)


Plaats reactie