{"id":198,"date":"2022-01-02T08:51:29","date_gmt":"2022-01-02T08:51:29","guid":{"rendered":"http:\/\/www.net2plaza.com\/?page_id=198"},"modified":"2022-01-09T04:23:38","modified_gmt":"2022-01-09T04:23:38","slug":"primeros-pasos-con-iot-ambiente-de-desarrollo-ide","status":"publish","type":"post","link":"http:\/\/www.net2plaza.com\/index.php\/2022\/01\/02\/primeros-pasos-con-iot-ambiente-de-desarrollo-ide\/","title":{"rendered":"Primeros pasos con IoT: Ambiente de desarrollo (IDE)"},"content":{"rendered":"\n<p>El ambiente o entorno de desarrollo, llamado tambi\u00e9n&nbsp;<strong>IDE<\/strong>&nbsp;por sus siglas en ingles (Integrated development environment), es un programa inform\u00e1tico que permite al desarrollador la escritura de software y que usualmente es desarrollado por los fabricantes de microprocesadores\/microcontrolador para simplificar la escritura de programas y maximizar la productividad del programador.<\/p>\n\n\n\n<p>Para entender mejor los detalles al respecto, comenzaremos por definir brevemente lo que es un&nbsp;<strong>microprocesador<\/strong>&nbsp;y un&nbsp;<strong>microcontrolador<\/strong>, as\u00ed como las diferencias entre ellos, ya que estos son la base de pr\u00e1cticamente la totalidad de los sistemas de c\u00f3mputo y por supuesto, lambien la base sobre la que trabajan sistemas como Arduino o Raspberry.<\/p>\n\n\n\n<p>El&nbsp;<strong>microprocesador<\/strong>&nbsp;contiene \u00fanicamente la unidad de procesamiento (CPU) en un circuito integrado y esta unidad es la que toma decisiones basada en la informaci\u00f3n que tiene almacenada en una unidad de memoria (ROM), mientras los c\u00e1lculos intermedios para obtener este resultado se almacenan en otra memoria externa (RAM), sin embargo estas memorias usualmente se encuentran f\u00edsicamente separadas entre s\u00ed y tambi\u00e9n separadas del propio microprocesador.<\/p>\n\n\n\n<p>Asimismo, los dispositivos que sirven para que el microprocesador se comunique con el mundo exterior, tambi\u00e9n llamados dispositivos de entrada\\salida, est\u00e1n ubicados en forma independiente del resto de los componentes.<\/p>\n\n\n\n<p>Este tipo de arquitectura, es precisamente la que se emplea en las computadoras personales, donde por ejemplo, el disco duro funciona como ROM, mientras los c\u00e1lculos intermedios se almacenan en RAM y los dispositivos de entrada\/salida serian por ejemplo, teclado, mouse, pantalla, puertos \/USB, etc.<\/p>\n\n\n\n<p>Por otra parte, en un&nbsp;<strong>microcontrolador<\/strong>, toda la estructura de una computadora es empaquetada en un solo circuito integrado, que incluye la unidad de procesamiento (CPU), memoria RAM, memoria ROM y circuitos de entrada\/salida en el mismo paquete, donde las ventajas principales son bajo costo y tama\u00f1o reducido, esto a cambio de incorporar cantidades de memoria limitadas y dispositivos de entrada\/salida de capacidad reducida.<\/p>\n\n\n\n<p>Tenemos adem\u00e1s que para que una aplicaci\u00f3n basada en microcontroladores o microprocesadores realice el trabajo que deseamos, es necesario instalarle las instrucciones necesarias en un programa en ROM, lo cual es un poco m\u00e1s complejo cuando hablamos de sistemas basados en microcontroladores, debido precisamente a las limitaciones en dispositivos de entrada\/salida.<\/p>\n\n\n\n<p>Los sistemas Arduino, pertenecen a la categor\u00eda de microcontrolador, mientras que Raspberry-PI, pertenece a la de microprocesador, por lo cual se puede observar una relativa diferencia en complejidad al observar la cantidad de componentes que tienen ambos en las im\u00e1genes que se muestran a continuaci\u00f3n (dos variantes bastante comunes de Arduino y Raspberry-PI).<\/p>\n\n\n\n<p>Sin embargo como mencion\u00e1bamos, estos sistemas independientemente de la tecnolog\u00eda en que se basan, al estar enfocados en tener bastantes prestaciones manteniendo un tama\u00f1o reducido, tienen tambi\u00e9n algunas desventajas, como es el hecho que para cargar por primera vez un programa a la hora de manufacturar el modulo, es necesario equipo de programaci\u00f3n especial.<\/p>\n\n\n\n<p>Sin embargo, con la finalidad de facilitar su uso, el fabricante al momento de ensamblar el modulo, carga un primer programa (al que se acostumbra llamar \u201cbootloader\u201d), de manera que este bootloader permite que el modulo se conecte y pueda recibir programas adicionales desde una computadora personal por medio de un cable USB, haciendo bastante m\u00e1s simple y amigable su uso, sobre todo al utilizar ambientes de desarrollo amigables, de lo cual hablaremos a continuaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"398\" src=\"http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-19-1024x398.png\" alt=\"\" class=\"wp-image-68\" srcset=\"http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-19-1024x398.png 1024w, http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-19-300x117.png 300w, http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-19-768x299.png 768w, http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-19.png 1309w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Arduino Nano (basado en microcontrolador SAMD21g18)<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"600\" src=\"http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-20-1024x600.png\" alt=\"\" class=\"wp-image-69\" srcset=\"http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-20-1024x600.png 1024w, http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-20-300x176.png 300w, http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-20-768x450.png 768w, http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-20-1536x901.png 1536w, http:\/\/www.net2plaza.com\/wp-content\/uploads\/2021\/11\/word-image-20.png 1564w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Raspberry Pi 4<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>El ambiente o entorno de desarrollo, llamado tambi\u00e9n&nbsp;IDE&nbsp;por sus siglas en ingles (Integrated development environment), es un programa inform\u00e1tico que permite al desarrollador la escritura de software y que usualmente es desarrollado por los fabricantes de microprocesadores\/microcontrolador para simplificar la escritura de programas y maximizar la productividad del programador. Para entender mejor los detalles al [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-198","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/posts\/198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/comments?post=198"}],"version-history":[{"count":3,"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/posts\/198\/revisions"}],"predecessor-version":[{"id":201,"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/posts\/198\/revisions\/201"}],"wp:attachment":[{"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/media?parent=198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/categories?post=198"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.net2plaza.com\/index.php\/wp-json\/wp\/v2\/tags?post=198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}