{"id":4076,"date":"2023-07-18T09:18:54","date_gmt":"2023-07-18T09:18:54","guid":{"rendered":"https:\/\/picockpit.com\/raspberry-pi\/?p=4076"},"modified":"2023-07-26T14:44:58","modified_gmt":"2023-07-26T14:44:58","slug":"whats-the-difference-between-micropython-circuitpython-cpython-anyway","status":"publish","type":"post","link":"https:\/\/picockpit.com\/raspberry-pi\/it\/qual-e-la-differenza-tra-micropython-circuitpython-cpython-anyway\/","title":{"rendered":"Qual \u00e8 la differenza tra CPython, MicroPython e CircuitPython?"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-1024x576.png\" alt=\"\" class=\"wp-image-4331\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-1024x576.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-300x169.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-768x432.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-18x10.png 18w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>CPython, MicroPython e CircuitPython occupano un posto importante nel cuore di molti smanettoni. Ma non \u00e8 sempre chiaro quali siano le differenze. E se vi state cimentando per la prima volta con i microcontrollori, queste distinzioni possono giocare un ruolo fondamentale nel capire cosa succede al vostro codice.<\/p>\n\n\n\n<p>In questo articolo, quindi, spiegher\u00f2 cosa sono queste tre implementazioni di Python e come si confrontano.<\/p>\n\n\n\n<p>\u00c8 importante ricordare che Python \u00e8 un linguaggio <em>e<\/em> un programma. In questo contesto, l'implementazione \u00e8 il programma che interpreta ed esegue il codice Python.<\/p>\n\n\n\n<p>Quindi stiamo parlando principalmente di tre programmi (che includono ambienti di esecuzione, librerie standard e altri strumenti) che possono eseguire codice Python. Iniziamo con il programma di riferimento: CPython.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">CPython<\/h1>\n\n\n\n<p>CPython \u00e8 l'implementazione predefinita e pi\u00f9 diffusa del linguaggio di programmazione Python. Di solito, quando si parla di Python, si parla di Python che gira su CPython.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-1024x683.jpg\" alt=\"\" class=\"wp-image-4233\" width=\"577\" height=\"384\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-1024x683.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-300x200.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-768x512.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-1536x1024.jpg 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-2048x1365.jpg 2048w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-18x12.jpg 18w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure>\n<\/div>\n\n\n<p>Non sorprende che sia scritto in C (da qui il \"C\") e che serva come implementazione di riferimento per il linguaggio Python. Se si vogliono tutti i dettagli, si pu\u00f2 <a href=\"https:\/\/docs.python.org\/3\/c-api\/intro.html\">consultare la documentazione di CPython qui<\/a>.<\/p>\n\n\n\n<p>CPython interpreta ed esegue il codice Python e fornisce le funzionalit\u00e0 e le caratteristiche principali di Python. Essendo il pi\u00f9 utilizzato, ha anche accesso al pi\u00f9 vasto ecosistema di librerie e pacchetti, tra cui librerie come NumPy, Django, Flask, TensorFlow, ecc.<\/p>\n\n\n\n<p>CPython dispone anche di un ambiente di runtime con gestione dinamica della memoria (compresa l'allocazione automatica della memoria attraverso il conteggio dei riferimenti e la garbage collection).<\/p>\n\n\n\n<p>Per quanto riguarda la gestione degli errori, CPython offre la possibilit\u00e0 di gestire errori ed eccezioni attraverso blocchi try-except.<\/p>\n\n\n\n<p>Naturalmente, dispone anche di un modulo debugger integrato, <code data-no-translation=\"\">pdb<\/code>che supporta i breakpoint e il single stepping. Potete provarlo eseguendo:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import pdb; pdb.set_trace()\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">pdb<\/span><span style=\"color: #D8DEE9FF\">; <\/span><span style=\"color: #8FBCBB\">pdb<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">set_trace<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Infine, CPython utilizza un blocco globale dell'interprete (GIL), che consente a un solo thread principale di eseguire il bytecode Python all'interno di un singolo processo. In altre parole, CPython supporta la programmazione asincrona, ma non quella parallela. <em>Maggiori informazioni sulla programmazione asincrona e parallela in un prossimo post!<\/em><\/p>\n\n\n\n<p>Alcune altre implementazioni non utilizzano il GIL per poter offrire approcci diversi alla concorrenza e al parallelismo. <\/p>\n\n\n\n<p>Ad esempio, Jython viene eseguito sulla Java Virtual Machine. <\/p>\n\n\n\n<p>IronPython funziona su .NET. <\/p>\n\n\n\n<p>E PyPy funziona con la memoria transazionale del software.<\/p>\n\n\n\n<p>CPython, MicroPython e CircuitPython, tuttavia, funzionano tutti con il GIL inserito.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">MicroPython<\/h1>\n\n\n\n<p>A differenza di CPython, che \u00e8 stato progettato per scopi generici (desktop, server, sistemi embedded, ecc.), MicroPython \u00e8 un'implementazione di Python specificamente ottimizzata per microcontrollori (come il Pico!) e sistemi embedded.<\/p>\n\n\n\n<p>Vale la pena ricordare che MicroPython viene talvolta scritto come uPython, a causa della lettera greca \u03bc (\"mu\", come la prima lettera di \"mikr\u00f3s\").<\/p>\n\n\n\n<p>MicroPython non richiede quindi un sistema operativo e pu\u00f2 essere eseguito in modo efficace <em>come <\/em>il sistema operativo su un microcontrollore.<\/p>\n\n\n\n<p>In genere, per fare ci\u00f2, ci si affida a <a href=\"https:\/\/thonny.org\/\">l'IDE Thonny<\/a>, che ha una serie di strumenti estremamente utili per gestire MicroPython.<\/p>\n\n\n\n<p>Pur essendo ancora scritto in C, MicroPython si propone di fornire un runtime compatto per i dispositivi meno potenti, quindi utilizza meno memoria e fornisce solo moduli e librerie specifiche per i sistemi embedded, come ad esempio <code data-no-translation=\"\">machine<\/code>, <code data-no-translation=\"\">utime<\/code>, e <code data-no-translation=\"\">network<\/code>.<\/p>\n\n\n\n<p>Se siete alla ricerca di alcune librerie MicroPython, potete dare un'occhiata a <a href=\"https:\/\/awesome-micropython.com\/\">Fantastico MicroPython<\/a>.<\/p>\n\n\n\n<p>CPython utilizza il conteggio dei riferimenti come algoritmo di garbage collection principale, ma <a href=\"https:\/\/docs.micropython.org\/en\/latest\/develop\/memorymgt.html\">MicroPython utilizza Mark e Sweep come algoritmo principale di garbage collection.<\/a> per gestire la memoria.<\/p>\n\n\n\n<p>\u00c8 stato creato da Damien George 10 anni fa e se volete ascoltarlo, potete consultare questa conferenza:<\/p>\n\n\n\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\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/watch?v=WI-nTf5iM84\" title=\"Usare MicroPython in libert\u00e0\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/WI-nTf5iM84?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Quindi MicroPython non ha tutte le caratteristiche della libreria standard di CPython.<\/p>\n\n\n\n<p>A differenza di CPython, MicroPython non ha un supporto incorporato per i file <code data-no-translation=\"\">pdb<\/code> come strumento di debug. Se invece si utilizza MicroPython, \u00e8 necessario affidarsi ad altre tecniche, come le istruzioni di stampa.<\/p>\n\n\n\n<p>Se si \u00e8 interessati a utilizzare debugger esterni, si pu\u00f2 dare un'occhiata a <a href=\"https:\/\/github.com\/bobveringa\/mpdb\">questo debugger MicroPython molto bello su GitHub<\/a>. L'obiettivo \u00e8 quello di fornire <code data-no-translation=\"\">pdb<\/code> a MicroPython.<\/p>\n\n\n\n<p>Se siete interessati a consultare la documentazione di MicroPython per maggiori approfondimenti, potete seguire <a href=\"https:\/\/docs.micropython.org\/en\/latest\/index.html\">questo link per vedere tutti i dettagli<\/a>.<\/p>\n\n\n\n<p>Quindi MicroPython \u00e8 un'implementazione pi\u00f9 limitata di CPython, ma \u00e8 ancora meravigliosamente potente e spesso \u00e8 lo strumento ideale per molti progetti.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">CircuitPython<\/h1>\n\n\n\n<p>Un altro ottimo strumento \u00e8 CircuitPython.<\/p>\n\n\n\n<p>CircuitPython \u00e8 un fork di MicroPython associato a <a href=\"https:\/\/www.adafruit.com\/\">Adafruit<\/a> e mira a essere pi\u00f9 facile per i principianti (se MicroPython non sia abbastanza facile per i principianti \u00e8 certamente una questione di discussione).<\/p>\n\n\n\n<p>In effetti, le differenze tra MicroPython e CircuitPython sono estremamente ridotte.<\/p>\n\n\n\n<p>Una differenza notevole \u00e8 che CircuitPython \u00e8 stato progettato per far s\u00ec che i file vengano spostati sulla scheda apparendo come un disco esterno (proprio come farebbe una USB). L'idea \u00e8 che non sia necessario caricare un file attraverso Thonny (anche se \u00e8 comunque possibile farlo).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28.png\" alt=\"\" class=\"wp-image-4234\" width=\"591\" height=\"485\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28.png 797w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28-300x246.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28-768x630.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28-15x12.png 15w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/figure>\n<\/div>\n\n\n<p>Ad esempio, CircuitPython dispone di librerie specifiche, quali <code data-no-translation=\"\">adafruit_neopixel<\/code>, <code data-no-translation=\"\">adafruit_bmp280<\/code>, e <code data-no-translation=\"\">adafruit_dotstar<\/code>che si rivolgono tutti a un hardware specifico.<\/p>\n\n\n\n<p>Un aspetto che contraddistingue CircuitPython \u00e8 la vivace comunit\u00e0 che Adafruit ha creato intorno ad esso. \u00c8 possibile consultare il sito CircuitPython <a href=\"https:\/\/forums.adafruit.com\/viewforum.php?f=60\">forum<\/a> e il <a href=\"https:\/\/adafru.it\/discord\">discordia<\/a> per verificare di persona. (Vorrei far notare che MicroPython ha anche un programma di <a href=\"https:\/\/github.com\/orgs\/micropython\/discussions\">forum<\/a> e un <a href=\"https:\/\/discord.com\/invite\/RB8HZSAExQ\">discordia<\/a>anche se molto meno frequentato, dato che la maggior parte delle discussioni su MicroPython avviene su <a href=\"https:\/\/github.com\/orgs\/micropython\/discussions\">GitHub<\/a>).<\/p>\n\n\n\n<p>Se volete saperne di pi\u00f9 su CircuitPython e sulle sue differenze con MicroPython (e CPython), potete dare un'occhiata a <a href=\"https:\/\/docs.circuitpython.org\/en\/latest\/docs\/index.html#\">la sua pagina di documentazione qui<\/a>. Anche la documentazione \u00e8 simile a quella di MicroPython!<\/p>\n\n\n\n<p>Altrimenti, potete dare un'occhiata a questo video realizzato da Adafruit:<\/p>\n\n\n\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\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/watch?v=rN7kvWuAt7k\" title=\"CircuitPython: Python su hardware (Dave Astels)\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/rN7kvWuAt7k?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Se conoscete altre differenze interessanti, fatecele sapere nei commenti qui sotto!<\/p>\n<div class=\"shariff shariff-align-center shariff-widget-align-left shariff-buttonstretch\"><ul class=\"shariff-buttons theme-white orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fit%2Fqual-e-la-differenza-tra-micropython-circuitpython-cpython-anyway%2F&text=What%E2%80%99s%20the%20difference%20between%20CPython%2C%20MicroPython%2C%20%26%20CircuitPython%20anyway%3F\" title=\"Condividi su X\" aria-label=\"Condividi su X\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#000\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#000\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#000\">condividi<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fit%2Fqual-e-la-differenza-tra-micropython-circuitpython-cpython-anyway%2F\" title=\"Condividi su Facebook\" aria-label=\"Condividi su Facebook\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#3b5998\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#3b5998\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#3b5998\">condividi<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button telegram shariff-nocustomcolor\" style=\"background-color:#4084A6\"><a href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fit%2Fqual-e-la-differenza-tra-micropython-circuitpython-cpython-anyway%2F&text=What%E2%80%99s%20the%20difference%20between%20CPython%2C%20MicroPython%2C%20%26%20CircuitPython%20anyway%3F\" title=\"Condividi su Telegram\" aria-label=\"Condividi su Telegram\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0088cc; color:#0088cc\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#0088cc\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\"><path fill=\"#0088cc\" d=\"M30.8 6.5l-4.5 21.4c-.3 1.5-1.2 1.9-2.5 1.2L16.9 24l-3.3 3.2c-.4.4-.7.7-1.4.7l.5-7L25.5 9.2c.6-.5-.1-.8-.9-.3l-15.8 10L2 16.7c-1.5-.5-1.5-1.5.3-2.2L28.9 4.3c1.3-.5 2.3.3 1.9 2.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#0088cc\">condividi<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fit%2Fqual-e-la-differenza-tra-micropython-circuitpython-cpython-anyway%2F\" title=\"Condividi su Reddit\" aria-label=\"Condividi su Reddit\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#ff4500\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#ff4500\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#ff4500\">condividi<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>CPython, MicroPython e CircuitPython occupano un posto importante nel cuore di molti smanettoni. Ma non \u00e8 sempre chiaro quali siano le differenze. E se vi state cimentando per la prima volta con i microcontrollori, queste distinzioni possono giocare un ruolo fondamentale nel capire cosa succede al vostro codice. Per questo motivo, in questo articolo...<\/p>","protected":false},"author":2,"featured_media":4331,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1193],"tags":[1196,477,996,1200,1199,1198,1194,178,597,789,14,826,11,1195,476,187,456,1197],"class_list":["post-4076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-brython","tag-circuitpython","tag-cpython","tag-execution","tag-implementation","tag-ironpython","tag-jython","tag-memory","tag-microcontroller","tag-microcontrollers","tag-micropython","tag-optimization","tag-pico","tag-pypy","tag-python","tag-raspberry-pi","tag-raspberry-pi-projects","tag-stackless-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What&#039;s the difference between CPython, MicroPython, &amp; CircuitPython anyway? | PiCockpit<\/title>\n<meta name=\"description\" content=\"In this post, we&#039;re looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picockpit.com\/raspberry-pi\/it\/qual-e-la-differenza-tra-micropython-circuitpython-cpython-anyway\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What&#039;s the difference between CPython, MicroPython, &amp; CircuitPython anyway? | PiCockpit\" \/>\n<meta property=\"og:description\" content=\"In this post, we&#039;re looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picockpit.com\/raspberry-pi\/it\/qual-e-la-differenza-tra-micropython-circuitpython-cpython-anyway\/\" \/>\n<meta property=\"og:site_name\" content=\"PiCockpit\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pi3gshop\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-18T09:18:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-26T14:44:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"raspi berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pi3g\" \/>\n<meta name=\"twitter:site\" content=\"@pi3g\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\"},\"author\":{\"name\":\"raspi berry\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\"},\"headline\":\"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?\",\"datePublished\":\"2023-07-18T09:18:54+00:00\",\"dateModified\":\"2023-07-26T14:44:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\"},\"wordCount\":965,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"keywords\":[\"brython\",\"circuitpython\",\"cpython\",\"execution\",\"implementation\",\"IronPython\",\"jython\",\"memory\",\"microcontroller\",\"microcontrollers\",\"microPython\",\"optimization\",\"Pico\",\"pypy\",\"python\",\"Raspberry Pi\",\"Raspberry Pi projects\",\"stackless python\"],\"articleSection\":[\"Python\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\",\"name\":\"What's the difference between CPython, MicroPython, & CircuitPython anyway? | PiCockpit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"datePublished\":\"2023-07-18T09:18:54+00:00\",\"dateModified\":\"2023-07-26T14:44:58+00:00\",\"description\":\"In this post, we're looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/category\\\/python\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"name\":\"PiCockpit\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"width\":1165,\"height\":283,\"caption\":\"PiCockpit.com\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pi3gshop\",\"https:\\\/\\\/x.com\\\/pi3g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\",\"name\":\"raspi berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"caption\":\"raspi berry\"},\"description\":\"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)\",\"sameAs\":[\"https:\\\/\\\/picockpit.com\"],\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/it\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Qual \u00e8 la differenza tra CPython, MicroPython e CircuitPython? | PiCockpit","description":"In questo post analizzeremo ci\u00f2 che distingue CPython da MicroPython ed entrambi da CircuitPython.","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:\/\/picockpit.com\/raspberry-pi\/it\/qual-e-la-differenza-tra-micropython-circuitpython-cpython-anyway\/","og_locale":"it_IT","og_type":"article","og_title":"What's the difference between CPython, MicroPython, & CircuitPython anyway? | PiCockpit","og_description":"In this post, we're looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.","og_url":"https:\/\/picockpit.com\/raspberry-pi\/it\/qual-e-la-differenza-tra-micropython-circuitpython-cpython-anyway\/","og_site_name":"PiCockpit","article_publisher":"https:\/\/www.facebook.com\/pi3gshop","article_published_time":"2023-07-18T09:18:54+00:00","article_modified_time":"2023-07-26T14:44:58+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","type":"image\/png"}],"author":"raspi berry","twitter_card":"summary_large_image","twitter_creator":"@pi3g","twitter_site":"@pi3g","twitter_misc":{"Scritto da":"raspi berry","Tempo di lettura stimato":"5 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#article","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/"},"author":{"name":"raspi berry","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee"},"headline":"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?","datePublished":"2023-07-18T09:18:54+00:00","dateModified":"2023-07-26T14:44:58+00:00","mainEntityOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/"},"wordCount":965,"commentCount":0,"publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","keywords":["brython","circuitpython","cpython","execution","implementation","IronPython","jython","memory","microcontroller","microcontrollers","microPython","optimization","Pico","pypy","python","Raspberry Pi","Raspberry Pi projects","stackless python"],"articleSection":["Python"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/","url":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/","name":"Qual \u00e8 la differenza tra CPython, MicroPython e CircuitPython? | PiCockpit","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","datePublished":"2023-07-18T09:18:54+00:00","dateModified":"2023-07-26T14:44:58+00:00","description":"In questo post analizzeremo ci\u00f2 che distingue CPython da MicroPython ed entrambi da CircuitPython.","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picockpit.com\/raspberry-pi\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/picockpit.com\/raspberry-pi\/category\/python\/"},{"@type":"ListItem","position":3,"name":"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?"}]},{"@type":"WebSite","@id":"https:\/\/picockpit.com\/raspberry-pi\/#website","url":"https:\/\/picockpit.com\/raspberry-pi\/","name":"PiCockpit","description":"","publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picockpit.com\/raspberry-pi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.com","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","width":1165,"height":283,"caption":"PiCockpit.com"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pi3gshop","https:\/\/x.com\/pi3g"]},{"@type":"Person","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee","name":"bacca di raspi","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","caption":"raspi berry"},"description":"Sono qui per aiutarvi con tutte le vostre domande relative al Raspberry Pi e amo condividere nuove idee di progetto per il Raspberry Pi, e dare consigli veloci. Naturalmente vi aiuter\u00f2 anche con PiCockpit e come rendere il vostro Raspberry Pi ancora pi\u00f9 facile da usare con questa soluzione di monitoraggio per Raspberry Pi :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/it\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/posts\/4076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/comments?post=4076"}],"version-history":[{"count":24,"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/posts\/4076\/revisions"}],"predecessor-version":[{"id":4332,"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/posts\/4076\/revisions\/4332"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/media\/4331"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/media?parent=4076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/categories?post=4076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/it\/wp-json\/wp\/v2\/tags?post=4076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}