Jump to content

Search the Community

Showing results for tags 'servo'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Contacto con el staff
    • Novedades / Anuncios del foro
    • Sugerencias
    • Problemas relacionados con el foro
  • Zona general de charla
    • Presentaciones
    • Charla
    • Zona de Humor, Curiosidades y Otros
    • Mascotas Vagos
    • Noticias del Mundo
    • Tecnología
    • Ayuda y consultas de carácter general
  • Zona GNU/Linux
    • Ayuda, consultas y soporte GNU/Linux
    • Distribuciones GNU/Linux
    • Repositorios. Software GNU/Linux
    • Personalización
    • Raspberry Pi
    • Arduino
    • Manuales / Tutoriales / Guías GNU/Linux
    • Programación
    • Noticias GNU/Linux
    • Hablando de GNU/Linux
  • Zona Gaming
    • Juegos GNU/Linux
    • Noticias Gamer
    • Charla Gamer
  • Zona Móvil
    • Ayuda y soporte para dispositivos móviles
    • Apps Móviles
    • Manuales / Tutoriales / Guías Móviles
    • Roms para dispositivos Móviles
    • Noticias sobre dispositivos Móviles
    • Hablando sobre dispositivos Móviles
  • Zona Android
    • Ayuda, consultas y Soporte Android
    • Apps Android
    • Roms Android
    • Manuales / Tutoriales / Guías Android
    • Noticias Android
    • Hablando de Android
  • Zona Mozilla
    • Ayuda, consultas y soporte Mozilla
    • Aplicaciones Mozilla
    • Roms Firefox OS
    • Manuales / Tutoriales / Guías Mozilla
    • Noticias Mozilla
    • Hablando de Mozilla
  • Microsoft
    • Papelera del Foro

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Página Web


Diaspora


Pump


GNU Social


Google +


Twitter


Facebook


Xmpp


Skype


Steam


Desura


MediaGoblin


Youtube


Vimeo


Picasa


Flickr


Email


Lugar


Intereses

Found 7 results

  1. Mozilla ha liberado por fin la versión 57 de su navegador Firefox, que supone un antes y un después para el software del Panda Rojo que ha alcanzado un punto de inflexión en la inclusión de mejoras provenientes de Servo, así como otros proyectos que han estado desarrollando desde hace algún tiempo. La novedad más destacada en esta ocasión es Quantum, el nuevo motor resultado de todo el trabajo llevado a cabo con Rust y Servo y que no sólo aumenta sustancialmente el rendimiento, sino que también reduce drásticamente el consumo, haciendo al navegador más ágil a la par que eficiente y ligero. Esto se combina con la adopción de un nuevo diseño denominado Photon, con una estética mejorada para ofrecer una navegación más limpia e intuitiva, además de permitir una personalización más profunda por parte del usuario. Tu navegador no soporta el formato multimedia del archivo de vídeo. Otro de los grandes cambios es WebExtensions, que rompe con el anterior sistema de extesiones XPCOM/XUL heredado de Netscape y que tras tantos años necesitaba una renovación completa, otorgando más seguridad y privacidad al navegador y una API con mayor facilidad para el desarrollo de extensiones, así como mejoras en cuanto a rendimiento, aprovechando todas las bondades de la ejecución multiproceso (Electrolysis). La contraparte negativa de este cambio tan profundo es que aquellas extensiones más antiguas o que no se hayan adaptado aún a WebExtensions no podrán funcionar en la nueva versión del navegador salvo forzando el uso de complementos "heredados", sin poder aprovechar ninguna de las ventajas de la nueva API y con algún posible problema de compatibilidad. Es de esperar que esto sea solventado rápidamente según avance la transición, aunque habrá que hacerse a la idea que aquellas extensiones que no hayan recibido mantenimiento por parte de sus autores desde hace tiempo estarán condenadas a desaparecer definitivamente, lo cual tampoco es malo precisamente pero sí puede ocasionar algunas molestias. La seguridad ha sido también un punto clave para este lanzamiento, con un nueva sistema de protección contra el rastreo más restrictiva y también función "sandbox" que aísla al explorador del sistema operativo para así prevenir ataques. Es cuestión de tiempo que esté disponible en los repositorios en los repositorios de la mayoría de distribuciones GNU/Linux, aunque si no podemos esperar siempre podremos descargarlo directamente desde la web de Mozilla https://www.mozilla.org/es-ES/firefox/new/
  2. Tras la llegada de Vulkan, el grupo Khronos ha empezado a remover los ciemientos del resto de APIs y WebGL no iba a quedarse atrás en el proceso de "modernización". El período de propuestas se ha abierto para definir lo que será el sucesor de WebGL, apodado de momento WebGL-Next, y como era de esperar, Mozilla no ha tardado en aportar su granito de arena con una API para renderizado de gráficos para la web de bajo nivel que sigue las premisas que dieron origen a Vulkan y a la que han llamado Obsidian. Esta API viene de la mano de WebAssembly, el estandar del que ya hablamos durante el lanzamiento de Firefox 52. Este estándar, así como la API, apuntan al uso de GPUs modernas y sistemas multi-hilo y tienen como objetivo permitir un rendimiento nativo, o prácticamente nativo, para juegos y aplicaciones 3D en el navegador sin necesidad de plugins de terceros. Desde Mozilla son conscientes que el rediseño de las APIs gráficas para la web es un paso claramente necesario y, si bien en discusiones previas se han dos posturas opuestas, una más próxima a Metal, con un enfoque de simplicidad y un nivel mas alto de abstracción y otra virtualmente opuesta, apostando por el enfoque Vulkan, un rediseño de más bajo nivel, que requiere más trabajo pero también supone una visión de gráficos más ricos en la web apoyados en una API explícita de bajo nivel, así como portable, no consideran la primera opción la más adecuada. Esta decisión no ha sido tomada a la ligera, ya que Mozilla ha puesto en práctica las dos visiones bajo su nuevo motor de renderizado servo y la aproximación con enfoque Metal en WebIDL (para Javascript) presentaba problemas de comunicación, debido precisamente a las capas de abstracción y la transcodificación de comandos entre APIs. Si bien pudieron demostrar que era una alternativa "viable", también dejaron claro que se puede aspirar a muchísimo más y si hay que rediseñar una nueva API no es cuetión de quedarse a las puertas de lo que "podría ser", sino de aprovechar la oportunidad única que se presenta y hacerlo bien desde el principio. La propuesta es clara y ya podemos encontrar en github algunos códigos de ejemplo javascript, aunque la resolución final llegará, como siempre, a partir del consenso al que lleguen los miembros del grupo Khronos. https://github.com/KhronosGroup/WebGLNext-Proposals/pull/2/commits/464c70a7ed96d323c77595d792cfc41b69955429
  3. Saludos.... En esta ocasión vamos a establecer el giro de un servo vía wifi desde una página web, por lo que podremos controlarlo desde un PC, tableta, smartphone, etc. Materiales utilizados Una placa Arduino (yo he utilizado la Uno). 7 Cables dupont. Un servo, yo he utilizado el de la imagen de mas abajo. Un módulo wifi HLK-RM04. Conexiones Pin Rx del módulo HLK-RM04 al pin Tx de arduino. Pin Tx del módulo HLK-RM04 al pin Rx de arduino. Pin 5V del módulo HLK-RM04 al pin 5V de arduino. Pin GND del módulo HLK-RM04 al pin GND de arduino. Cable naranja del servo (datos) al pin 9 de arduino Cable marrón del servo a pin GND de arduino. Cable rojo del servo a pin 5v de arduino Lo que vamos a necesitar son dos clases de código. Por una parte una página web que estará en nuestro servidor web en la que tendremos el formulario con los grados (de 0 a 180) que queremos que gire el servo y el código para la placa arduino que recibirá la los grados de giro del servo. Código página web, index.html: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//ES" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title>Control servo</title> <style type="text/css"> #juan { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); } </style> </head> <body> <div id="juan"> <form action="http://192.168.1.254:8080/servo" method="get"> <input type="submit" name="l" value="000"> <input type="submit" name="l" value="005"> <input type="submit" name="l" value="010"> <input type="submit" name="l" value="015"> <input type="submit" name="l" value="020"> <input type="submit" name="l" value="025"></br> <input type="submit" name="l" value="030"> <input type="submit" name="l" value="035"> <input type="submit" name="l" value="040"> <input type="submit" name="l" value="045"> <input type="submit" name="l" value="050"> <input type="submit" name="l" value="055"></br> <input type="submit" name="l" value="060"> <input type="submit" name="l" value="065"> <input type="submit" name="l" value="070"> <input type="submit" name="l" value="075"> <input type="submit" name="l" value="080"> <input type="submit" name="l" value="085"></br> <input type="submit" name="l" value="090"> <input type="submit" name="l" value="095"> <input type="submit" name="l" value="100"> <input type="submit" name="l" value="105"> <input type="submit" name="l" value="110"> <input type="submit" name="l" value="115"></br> <input type="submit" name="l" value="120"> <input type="submit" name="l" value="125"> <input type="submit" name="l" value="130"> <input type="submit" name="l" value="135"> <input type="submit" name="l" value="140"> <input type="submit" name="l" value="145"></br> <input type="submit" name="l" value="150"> <input type="submit" name="l" value="155"> <input type="submit" name="l" value="160"> <input type="submit" name="l" value="165"> <input type="submit" name="l" value="170"> <input type="submit" name="l" value="175"></br> <input type="submit" name="l" value="180"> </form> </div> </body> </html> Este código lo que hace básicamente es crear un formulario con los grados que queremos que gire el servo y lo envía, por el método get, a la dirección ip de nuestro arduino. Código para la placa arduino: #include <Servo.h> const int servo_pin = 9; Servo myservo; unsigned int old_value; void setup() { Serial.begin(57600); myservo.attach(servo_pin); old_value = 90; } int f = 0; void loop() { boolean has_request = false; String in = ""; if (Serial.available()) { in = ""; while (true) { while (Serial.available() == false) {} in += (char)(Serial.read()); if (in.endsWith("\r\n")) { has_request = true; break; } } } if (has_request) { char i1 = in.indexOf("GET /servo?l="), i2; if (i1 != -1) { i2 = in.indexOf(" ", i1+13); f = in.substring(i1+13, i2).toInt(); } Serial.println("HTTP/1.1 200 OK"); Serial.println("Content-Type: text/html"); Serial.println("Connection: close"); String sr = "<!DOCTYPE HTML>\n"; sr += "<html>\n"; sr += "<body onload='history.back();'>\n"; sr += "</body>"; sr += "</html>"; Serial.print("Content-Length: "); Serial.print(sr.length()); Serial.print("\r\n\r\n"); Serial.print(sr); has_request = false; if ((0 <= f) && (f <= 180)) { if (f < old_value) { for(int i = old_value ; i > f ; i -= 1) { myservo.write(i); delay(15); } old_value = f; } if (f > old_value) { for(int i = old_value ; i < f ; i += 1) { myservo.write(i); delay(15); } old_value = f; } } } delay(100); } El código lo que que hace es cargar la librería necesaria, recoger en una variable el valor que le enviamos desde la página web, que será el valor de giro del servo. También crea una página web que lo que hace es volver al index.html desde el que le enviamos los datos. Mencionar que el script está preparado para que el giro del servo sea un poco mas lento de lo normal, que no gire muy rápido.
  4. Hace poco hablamos de Servo, el nuevo motor de renderizado web de Mozilla desarrollado bajo el lenguaje Rust y que aún encontrándose en un estado preliminar, su desempeño y, sobre todo, su rendimiento, han hecho que este motor esté en el centro de muchas miradas. Tanto es así que Mozilla ya ha comenzado la transición, lenta y paulatina, incluyendo los primeros componentes de Servo en la nueva versión de su navegador insignia. Firefox 48 ha sido lanzado hoy y entre todas las mejoras destaca la inclusión del primer fragmento de código escrito en lenguaje Rust, que sustituirá y, por supuesto, mejorará el analizador sintáctico multimedia, centrándose en esta primera versión en el formato de vídeo MP4. En cuanto al resto de novedades, electrolisys toma más fuerza y se postula como la alternativa por defecto, se incluye una gran variedad de mejoras para la comunicación a través del protocolo WebRTC, se mejora el soporte Canvas, se hace un mayor hincapié en la firma de las extensiones del navegador a través de Mozilla, además de las ya habituales mejoras en cuanto a seguridad y corrección de errores. Si queremos conocer todas las novedades con mayor detalle, la lista completa de cambios la podemos encontrar en el blog de desarrollo de Mozilla y, como es habitual, podremos descargar el navegador desde la web oficial o, simplemente, esperar que nos llegue la actualización a través de los repositorios de nuestra distribución
  5. Ya habíamos hablado de Servo, el proyecto de Mozilla para crear un motor de renderizado web en lenguaje RUST, haciendo hincapié en el paralelismo, la seguridad, la modularidad y el rendimiento. Aunque aún está en un estado muy preliminar, durante los últimos meses hemos visto pruebas de rendimiento verdaderamente impresionantes con este motor, aunque al mismo tiempo aún le falta bastante para poder renderizar correctamente gran parte del contenido que nos encontramos hoy día en la red. Aunque el proyecto comenzó como un experimento, el interés y los esfuerzos de Mozilla van en aumento y nos habían prometido muchas cosas para este verano. La primera ya la tenemos aquí, es la primera Nigtly del navegador web que hace uso de Servo. Una versión, como ya he dicho, muy tosca, con una interfaz simple en extremo, desarrollada enteramente con Html, Css y javascript, y que aún le cuesta desenvolverse, pero que apunta maneras. La segunda es más propia de los padres del navegador del Panda Rojo y es que no se centrarán de entrada en ofrecer un navegador completamente nuevo, sino que durante los próximos meses se irán incorporando partes de Servo en FIrefox, que poco a poco deberían ir sustituyendo al veterano Gecko. Como es habitual, para GNU/Linux tenemos un paquete comprimido en tar.gz. Sólo tendremos que descomprimirlo y lanzar el ejecutable runservo.sh para empezar a probarlo. https://servo-builds.s3.amazonaws.com/index.html Así mismo, la intención de Mozilla es no sólo que veamos cómo funciona, de momento, su nuevo motor, sino que todo aquel que quiera se involucre, aporte ideas, reporte problemas, etc. Para eso han creado el correspondiente repositorio en GitHub https://github.com/servo/servo/ Aunque ahora mismo sólo están disponibles las versiones para GNU/Linux y OS X, dado que el motor Servo ha sido desarrollado pensado en todo momento en sistemas, tanto de escritorio, como integrados, en breve tendremos una versión también compatible con Android. https://blog.servo.org/2016/06/30/servo-nightlies/
  6. Servo es un motor de renderizado web muy prometedor desarrollado por Mozilla utilizando su también prometedor lenguaje Rust, diseñado específicamente para este tipo de desarrollos. Los pilares básicos en los que se asienta el proyecto servo son el paralelismo, la seguridad, la modularidad y, por supuesto, el rendimiento. Aunque se trata de un proyecto creado por Mozilla Research, en él participa una comunidad global, que incluye desde programadores individuales a pesos pesados como Samsung. Actualmente servo cuenta con soporte para GNU/Linux Linux, OSX, Android y Gonk (Firefox OS) Instalando dependencias Debian aptitude install curl freeglut3-dev autoconf libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev gperf g++ build-essential cmake virtualenv python-pip libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev libglu1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev Fedora dnf install curl freeglut-devel libtool gcc-c++ libXi-devel freetype-devel mesa-libGL-devel mesa-libEGL-devel glib2-devel libX11-devel libXrandr-devel gperf fontconfig-devel cabextract ttmkfdir python python-virtualenv python-pip expat-devel rpm-build openssl-devel cmake bzip2-devel libXcursor-devel libXmu-devel mesa-libOSMesa-devel Arch Linux pacman -S --needed base-devel git python2 python2-virtualenv python2-pip mesa cmake bzip2 libxmu glu Gentoo emerge net-misc/curl media-libs/freeglut media-libs/freetype media-libs/mesa dev-util/gperf dev-python/virtualenv dev-python/pip dev-libs/openssl x11-libs/libXmu media-libs/glu x11-base/xorg-server Clonando el repositorio de github git clone https://github.com/servo/servo/ Compilando servo Al estar escrito en lenguaje Rust, compilar servo quizá no sea tan intuitivo, pero la descarga del compilador rust y el resto del proceso se realiza de manera casi automática, así que sólo tendremos que sentarnos a esperar durante un buen rato. Versión para desarrolladores La opción --dev nos permitirá compilar servo para desarrolladores cd servo ./mach build --dev Y podemos poner a prueba el motor con alguno de los test que nos brinda Mozilla ./mach run tests/html/about-mozilla.html Versión para usuarios Con la opción "--release" obtendremos en su lugar una versión más cercana a lo que tendría un usuario común, para realizar pruebas más de andar por casa cd servo ./mach build --release Y podemos poner a prueba el motor con alguno de los test que nos brinda Mozilla ./mach run --release tests/html/about-mozilla.html Usándolo para propósitos generales De la misma forma que hemos podido ejecutar los test prediseñandos, tenemos la posibilidad de abrir cualquier página web simplemente proporcionándole a servo el enlace ./mach run --release URL Impresiones Aunque aún queda bastante para que veamos servo como motor de renderizado de Firefox y Firefox OS y antes de que eso ocurra veremos como poco a poco se incluyen pequeños fragmentos escritos en Rust dentro de Gecko, está claro que el camino que ha trazado Mozilla con Servo es probablemente la vuelta de turca definitiva que necesitarán los navegadores webs del futuro. Veremos cómo acaba todo, pero en este punto, aún siendo apenas un motor en fase de pruebas que no está ni remotamente listo para el día a día, Servo apunta maneras y realmente sorprende con su enorme rendimiento. Web https://servo.org/
  7. Durante el FOSDEM 2014, Josh Matthews nos habló sobre Servo, el motor experimental de Mozilla desarrollado apoyándose en el lenguaje Rust y que a su vez está siendo portado por Samsung a dispositivos móviles. Este motor apuesta por la paralelización para conseguir un mejor rendimiento y también en la seguridad y algún día podría remplazar al polivalente Gecko. Las diapositivas utilizadas durante la charla de Matthews podemos descargarlas desde su web http://www.joshmatthews.net/fosdemservo/ Y, por supuesto, el vídeo de la mencionada conferencia http://mirrors.dotsrc.org/fosdem/2014/UD2218A/Saturday/Servo_building_a_parallel_web_browser.webm
×
×
  • Create New...