IoT Cloud


En este post vamos a a ver conectar una placa MKR1000 (o MKR 1010) a la nube de Arduino IoT  de modo que podremos controlar y supervisar  las entradas  o salidas de estas places a través de Internet utilizando el sitio web de Arduino IoT Cloud.

Para ello simplemente seguiremos tres pasos,:

  • Agregaremos nuestra placa a Arduino IoT Cloud como una cosa( Thing) , es decir  una representación de nuestra placa en la nube.
  • A continuación, le daremos a nuestra cosa un conjunto de propiedades que representan sensores, LEDs, motores y muchos otros componentes en el proyecto al que queremos acceder desde la nube.
  • Subiremos a nuestra placa el código que nos propone Arduino IoT Cloud personalizado para nuestra red wifi

Si le  interesa  como hacerlo , vera que es muy sencillo,  pues como vamos a ver  casi todo esta hecho, pero antes, veremos las semejanzas   y diferencias de ambas placas  y después veremos paso a paso como lograrlo.

Arduino MKR1000

Arduino MKR1000 es una placa diseñada para ofrecer una solución práctica y rentable para cualquiera que busque agregar conectividad WiFi a sus proyectos con una experiencia mínima en redes.  Su precio no es excesivo  teniendo en cuenta que integra la conectividad  wifi (unos 38€ en Amazon)

El diseño incluye un circuito de carga Li-Po que permite que el Arduino MKR1000 funcione con una  batería o 5V externos, cargando la batería Li-Po mientras funciona con energía externa: el cambio de una fuente a otra se realizara automáticamente  y por tanto no tendremos que preocuparnos de nada más.

El MKR1000 tiene un procesador Arm Cortex-M0 + de 32 bits  corriendo a 2.4ghz ,  y cuenta con  el rico conjunto habitual de interfaces de E / S . Sin duda uno de su punto fuertes  es que integra  WiFi de baja potencia con un chip criptográfico para una comunicación segura.

Una de las grandes ventajas  es que puede programarlo utilizando el software Arduino (IDE) al que estamos  todos familiarizados  siendo muy  fácil de usar.

Todas estas características hacen de esta placa la opción preferida para los proyectos emergentes que funcionan con baterías de IoT en un factor de forma compacto.

 Desafortunadamente, Arduino aún no lo ha integrado en su IDE, por lo que la configuración no es tan fácil como lo es para la mayoría de sus otras placas ,sin embargo, siga algunos pasos para configurarlo y podrá ponerlo a prueba: –

  • Instale el último IDE de Arduino 
  •  Haga clic en Herramientas | Puerto – Seleccione el puerto COM (no se mostrará ninguna placa) 
  • Ahora haga clic en Herramientas | Junta | Obtener información del tablero. Verá información con “Tablero desconocido” como tipo
  •  A continuación, haga clic en Herramientas | Junta | Gerente de la Junta
  • Instale el paquete Arduino SAMD Boards (ARM Cortex-M0 + de 32 bits) que incluye MKR WiFi 1010, Genuino Zero, MKR1000, etc.
  • Reinicie el IDE para que surta efecto el nuevo paquete de placa
  • En este punto, puede desconectar y volver a conectar la placa para que el IDE lo vea
  • Haga clic en Herramientas | Información del tablero; esta vez verá “Arduino / Genuino MKR1000” !!! ¡No olvides este siguiente paso o no podrás subir tu boceto!
  • Haga clic en Herramientas | Tablero: 
  • Seleccione Arduino / Genuino MKR1000 . En este punto, yaa puede cargar un boceto en su tablero  como  por ejemplo el que vamos a ver en este post para controlar un led desde Internet

Como   se puede  ver en la imagen de  mas abajo , los pines disponibles son casi los mismos que los que solemos tener en un Arduino convencional  : los pines A0  a A6   para entradas  y salidas analógicas , los pines 0 al 14  para entradas salidas binarias y los típicos de alimentación externa(VIN,VCC 5v y GND)   , la referencia (AREF )  y  RESET.

Si le interesa esta placa la puede comprar en Amazon por unos 38€

Arduino MKR1010

Hablamos ahora de una placa muy similar a la anterior   algo mas barata que la la Mkr1000 ( unos  33€  en Amazon , es decir unos 5€ mas barato que la MKR1000)

Esta placa  está compuesta por tres bloques principales:

  • Microchip ATSAMD21 MCU basado en un procesador Arm Cortex-M0 
  • Serie u-blox NINA-W10 de baja potencia 2.4GHz IEEE 802.11 b / g / n Wi-Fi ECC508 CryptoAuthentication
  • El diseño incluye un Li-Po Circuito de carga que permite que Arduino MKR WiFi 1010 funcione con batería o 5V externos, cargando la batería Li-Po mientras funciona con energía externa. El cambio de una fuente a otra se realiza automáticamente.

Como  vemos , la gran diferencia  es  el Microcontrolador que es menos potente  pues  cuenta con el  Microchip ATSAMD21 (procesador Arm Cortex-M0 +)  en contraste  con el Arm Cortex-M0 + de 32 bits  corriendo a 2.4ghz del MKR100.

Respecto a la conectividad,  es similar al  MKR1000  contando con WiFi u-blox NINA-W102 (ESP32)

La alimentación se puede hacer con una fuente de alimentación externa de 5v DC  bien por  USB  o bien por el pin VIN , pero  cuenta   además  con conexión para Batería compatible (*) Li-Po de celda única, 3,7 V, 700 mAh  siendo el voltaje mínimo de funcionamiento del circuito 3,3 V .

 

Como   se puede  ver en la imagen de  mas abajo , los pines disponibles son casi los mismos que los que solemos tener en un Arduino convencional  ( y los mismo que el  MKR100)   : los pines A0  a A6   para entradas  y salidas analógicas , los pines 0 al 14  para entradas salidas binarias y los típicos de alimentación externa(VIN,VCC 5v y GND)   , la referencia (AREF )  y  RESET.

Si le interesa esta placa la puede comprar en Amazon por unos 33€

 

1. Crear una cosa y controlar un LED a través de la nube

Para empezar vamos a crear un circuito simple que consiste en un LED conectado a la placa Arduino MKR1000  (o MKR 1010).

Como se muestra en el esquema, simplemente conectaremos la pata positiva del LED al Pin digital 2 de la placa y la pata negativa a tierra a través de una resistencia de 150 ohmios.

Observe que la potencia de la placa de pan proviene del Vcc, no del pin de 5V de la placa MKR1000 pues  si lo conectamos al pin de 5V, podríamos dañar la placa  cuando por ejemplo  agreguemos  un botón.

An LED connected to Digital Pin 2 of an Arduino MKR1000

Ahora que hemos conectado nuestro LED, podremos  habilitado para IoT pero antes de eso, tendremos que configurar una placa Arduino para que pueda comunicarse con la nube.

Para este proyecto, podemos elegir un MKR1000 o un MKR  1010.  Una vez que nuestra placa está configurada, necesitaremos crear a una cuenta Arduino  ( ai aún no la tenemos creada, y hecho ya nos iremos a Arduino IoT Cloud y comenzaremos  con el  viaje a través de IoT 

Asi pues nos  iremos  Arduino IoT Cloud que comenzara con el proceso guiado de introducción  que nos ayudará a configurar nuestra placa, darle un nombre e instalar las claves que le permitirán conectarse de forma segura a nuestra nube mediante un canal cifrado.

Getting Started Wizard
Este es el asistente de introducción
Select a supported board
Seleccionaremos  una placa compatible
Let's make it connect securely to IoT Cloud
Haremos que se conecte de forma segura a IoT Cloud
Time to plug our board into our computer, it will be recognised automatically
Es hora de conectar nuestra placa a nuestro ordenador, se reconocerá automáticamente
Let's give it a name...
Vamos a darle un nombre…
and click on CONFIGURE
Ahora  haremos clic en CONFIGURAR
After a little time all is done, and we can get BACK TO CLOUD
Después de un poco de tiempo todo está hecho, y podemos llegar DE VUELTA A CLOUD

Al hacer clic en el botón “BACK TO CLOUD” podremos crear nuestra primera Cosa.

Nuestra placa MKR recién configurada se seleccionará automáticamente para ser asociada con nuestra Cosa, por lo que todo lo que queda es darle un nombre. Elegimos llamarlo IoTCloud_Tutorial_Thing pero puede nombrarlo como desee.

 

Our board is preselected ->
Nuestra placa está preseleccionada ->
Let's name it...
Vamos a nombrarlo…
and click the CREATE button
y haga clic en el botón CREAR

Ahora seremos redirigidos a nuestra vista de edición de Thing, donde podremos crear y modificar sus Propiedades – la representación de sensores y actuadores a los que queremos acceder a través de la nube.

Nuestro objetivo es encender y apagar el LED a través de Cloud cuando alternamos un interruptor gráfico en nuestro navegador. Para hacerlo, tenemos que crear una propiedad, así que haga clic en el botón + como se muestra en la imagen de abajo.

Time to create our first Property
Es hora de crear nuestra primera propiedad

Usaremos como nombre significativo que lo represente  (este nombre se reflejará en el nombre de la variable que usaremos en el boceto) como por ejemplo dado que va ser un led   de  “.light"

El Tipo de esta propiedad debe ser “ON/OFF (Boolean)”.

Our properties details are set, let's CREATE it
Nuestros detalles de propiedades están establecidos  así que vamos vamos a crearlo

Podemos dejar El permiso establecido en “Leer y escribir” – para que podamos encender y apagar el LED desde el navegador. 

También deje Actualizar en “Cuando cambie el valor”, lo cual  asegurará de que siempre que el valor de la propiedad/variable cambie dentro del boceto de la placa, dicho valor se enviará inmediatamente a la nube.

Finalmente haga clic en CREAR.

Property Edit view
Vista de edición de propiedades
Dashboard view
Vista del panel

 

Desde la vista Editar podemos hacer clic en “EDITAR CODE”. Esto nos redirigirá al Editor mostrando un boceto ya hecho que se ha generado para nuestra Cosa.

En este caso de ejemplo se generará el siguiente código que tendremos que cargar en nuestra placa:

 

*
Sketch generated by the Arduino IoT Cloud Thing "testThing"
https://create.arduino.cc/cloud/things/d276ab77-67cb-420b-9ea4-bd34cdf385d9



Arduino IoT Cloud Properties description



The following variables are automatically generated and updated when changes are made to the Thing properties



bool switchState;
int potentiometerValue;
bool ledState;



Properties which are marked as READ/WRITE in the Cloud Thing will also have functions
which are called when their values are changed from the Dashboard.
These functions are generated with the Thing and added at the end of this sketch.
*/



include "thingProperties.h"



include



define LED_PIN 2



define POT_PIN A1



define BUTTON_PIN 5



FTDebouncer buttons;



void setup() {
pinMode(LED_PIN, OUTPUT);
buttons.addPin(BUTTON_PIN, LOW);
buttons.init();



/*
The following function allows you to obtain more information
related to the state of network and IoT Cloud connection and errors
the higher number the more granular information you’ll get.
The default is 0 (only errors).
Maximum is 3
*/
setDebugMessageLevel(2);



// Initialize serial and wait for port to open:
Serial.begin(9600);
// This delay gives the chance to wait for a Serial Monitor without blocking if none is found
delay(1500);



// Defined in thingProperties.h
initProperties();



// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
}



void loop() {
buttons.update();
ArduinoCloud.update();
// Your code here
int angleSensor = analogRead(A1);
angle = map(angleSensor, 0, 1023, 0, 270);
}



void onLightChange() {
digitalWrite(LED_PIN, light);
Serial.print("The light is ");
if (light) {
Serial.println("ON");
} else {
Serial.println("OFF");
}
}



void onPinActivated(uint8_t pinNr) {
// do something according to the _pinNR that is triggered. For instance:
Serial.println(pinNr);
toggle = !toggle;
}



void onPinDeactivated(uint8_t pinNr) {
// do something according to the _pinNR that is triggered. For instance:
Serial.println(pinNr);
}

 

El boceto se denominará exactamente igual que nuestra Cosa, más la fecha de creación y, finalmente, un número si ya existe un boceto con nombre .

Aparte del archivo .ino principal , verá tres archivos más:

  • ReadMe.adoc: se trata de un archivo de texto sin formato que contiene información sobre el boceto, el autor y el propio proyecto.
  • thingProperties.h: este es el código generado por Arduino IoT Cloud cuando agregamos nuestra propiedad. No necesitamos editar este código, pero es útil verlo ya que muestra qué variablesde nuestro archivo de boceto principal (.ino) se sincronizarán con la nube.light
  • En la Pestaña Secreto: Detalles de la conexión WiFi,  esta pestaña nos permite rellenar los valores  como  son el nombre y la contraseña de la red WiFi a la que se conectará nuestra placa.SECRET_SSIDSECRET_PASS

 

Vamos a profundizar en cada línea de este boceto para entender lo que hacen los difrentes ficheros qeu lo compone:

Fichero thingProperties.h

#include <ArduinoIoTCloud.h>

Importa la biblioteca ArduinoIoTCloud, que es necesaria para sincronizar nuestras variables de boceto locales con sus propiedadesde IoT Cloud.

#include <Arduino_ConnectionHandler.h>

El WiFiConnectionManager se utiliza para gestionar la conexión WiFi y la reconexión sin problemas.

char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS;

Estos valores se extraen de la pestaña Secreto.

#define THING_ID "d276ab77-67cb-420b-9ea4-bd34cdf385d9"

El código de identificación único de la cosa.

void onLightChange();

Esta línea declara una función que se llamará cada vez que se cambia el valor de nuestra propiedad en el panel. Este tipo de función se conoce como devolución de llamada.light

bool light;

Declaración de la variable.light

void initProperties()

Esta función se llamará dentro del bloque de nuestro archivo *.ino. setup()

ArduinoCloud.setThingId(THING_ID);

Le dice a nuestro boceto a qué cosa conectarse.

ArduinoCloud.addProperty(light, READWRITE, ON_CHANGE, onLightChange);

Este código pues le indica al sketch que trate la variable como una propiedad de nuestra cosa y que ejecute la función de devolución de llamada cada vez que se cambie el valor de propiedad de Arduino IoT Cloud.

Los permisos se establecen para esta propiedad porque esto es lo que seleccionamos al crear esta propiedad.lightonLightChangeREADWRITE

 

El resto de codigo es  el siguiente:

void onLightChange();

bool toggle;
int angle;
bool light;

void initProperties(){
ArduinoCloud.setThingId(THING_ID);
ArduinoCloud.addProperty(toggle, READ, ON_CHANGE, NULL);
ArduinoCloud.addProperty(angle, READ, ON_CHANGE, NULL, 3.000000);
ArduinoCloud.addProperty(light, READWRITE, ON_CHANGE, onLightChange);
}

WiFiConnectionHandler ArduinoIoTPreferredConnection(ssid, pass);

 

Este código Inicializa Connection Manager con el nombre de punto de acceso WiFi (SECRET_SSID) y la contraseña (SECRET_PASS)que establecemos en la pestaña Secreto

 

Fichero *.ino

Al igual que en cualquier Arduino Sketch, hay dos funciones principales, y . Se llama una sola vez; cuando el croquis se inicia o se restablece. El se ejecuta continuamente siempre y cuando la placa esté siendo alimentada.void setup(){...}void loop() {...}setup()loop()

#include "thingProperties.h"

Importa variables y funciones declaradas en thingProperties.h, así como en otras bibliotecas importadas.

setDebugMessageLevel(2);

Establece el nivel deseado de mensajes de registro que se imprimirán en el Monitor serie. En este momento el nivel se establece en 2, pero podemos cambiarlo de0 (que registra sólo errores) hasta 3 (que registra TODO!). Si algo no está funcionando con la conexión a WiFi o Cloud, será más fácil encontrar el problema si se establece en un nivel superior. Por ahora, podemos dejarlo como está.

Serial.begin(9600);

Inicializa el monitor seriepara imprimir lo y leer deél.

delay(1500);

Espera 1,5 segundos para dar al Monitor serie el tiempo necesario para inicializar.

initProperties();

Inicializa las propiedades tal como se definen en thingProperties.h.

ArduinoCloud.begin(ArduinoIoTPreferredConnection);

InicializatheArduinoCloudusingthe mencionado anteriormente ConnectionManager.

Dentro de lo que encontramosloop()

ArduinoCloud.update();

Maneja muchas cosas en segundo plano, incluyendo la sincronización de los valores de las propiedades entre la nube y la placa, checkingtheconnectiontonetworkyCloudy otra lógica. Si el valor de una propiedad cambia en el boceto, la biblioteca la detectará automáticamente y notificará a la nube, de modo que dicho valor se reflejará en nuestro Arduino IoT Cloud Dashboard. Del mismo modo, cuando se cambia el valor de una propiedad en el panel, la biblioteca actualizará el valor correspondiente en el dispositivo.

void onLightChange() {...}

La implementación de nuestra devolución de llamada que se llamará en cualquier momento que cambie el valor de la propiedad. Aquí agregaremos cualquier código que queramos que se ejecute cuando cambie la propiedad de nuestro panel.light

Y ahora, con el fin de encender y apagar el LED desde el Arduino IoT Cloud Dashboard, necesitamos escribir algunas líneas de código. Primero definimos el pin al que está conectado nuestro LED. Agregue este código justo encima de la funciónsetup()

#define LED_PIN 2

En la función, necesitamos inicializar este pin para que sea una SALIDA:setup()

pinMode(LED_PIN, OUTPUT);

Por último, en la función, agregamos un poco de lógica para rastrear el estado en el monitor serie y para encender y apagar el LED. Tenga en cuenta que esta función de devolución de llamada se genera automáticamente cada vez que se agrega una nueva propiedad con permisos de lectura y escritura.onLightChange()light

void onLightChange() {
    digitalWrite(LED_PIN, light);
    Serial.print("The light is ");
    if (light) {
        Serial.println("ON");
    } else {
        Serial.println("OFF");
    }
}

 

Pruebas

Una vez preparados los ficheros  anteriores  podemos cargar el boceto desde el IDE de Arduino haciendo clic en el botón Cargar y luego abra el Monitor Serie a la izquierda para ver si todo funciona.

Debido a que hemos establecido el nivel de registro en 2, el Monitor serie nos mostrará información sobre el progreso de nuestra placa que se conecta a IoT Cloud.

Una vez conectado con éxito a nuestro WiFi, logró obtener una dirección e inició un enlace seguro, la placa se conectará a IoT Cloud y comenzará a intercambiar datos con ella.

[ 144313 ] Connecting to "FT Mobile"
[ 148284 ] Connected to "FT Mobile"
[ 148284 ] Acquiring Time from Network
....
[ 148690 ] Network Time: 1550057496
[ 148910 ] Connecting to Arduino IoT Cloud...
[ 152212 ] Connected to Arduino IoT Cloud

Si alguno de los pasos anteriores falla, recibiremos un error. Si eso sucede, podemos restablecer el tablero e intentarlo de nuevo. Si los pasos anteriores se han seguido cuidadosamente, es un caso poco probable 🙂

Al hacer clic en el botón GO TO IOT CLOUD seremos redirigidos a la página de nuestra Cosa en Arduino IoT Cloud. Desde aquí haremos clic en el botón del panel.

Dasboard view
En la Vista de Dasboard ya deberíamos ver un widget que muestra el estado de la propiedad que creamos, y debe establecerse en OFF.light

Vamos a hacer clic en él un par de veces y vamos a ver el LED encender y apagar… y ON… y OFF de nuevo…

¡Misión cumplida!

 

Ejecute cualquier app Android en su PC


Aunque cada día los terminales móviles  y tabletas   tanto como Android como Ios  roban el protagonismo al clásico ordenador personal , no faltan las voces alertando de  que es mucho mejor disfrutar de una aplicación desde el propio ordenador  a hacerlo en un dispositivo móvil . 

Desgraciadamente aunque fuese deseable , no siempre  están disponibles las mismas aplicaciones tanto para móvil como para ordenador , así que vamos a  ver  una solución  muy sencilla : usar  un emulador Android para poder usar la aplicación desde el ordenador.

BlueStacks es una compañía de tecnología americana autora que produce BlueStacks App Player , aplicación  diseñada para permitir que aplicaciones de Android puedan ejecutarse en ordenadores  con  Windows y Macintosh , asi como  otros productos multi-plataforma basado en la nube.

El App Player (reproductor de aplicaciones) ,  según sus autores , puede ejecutar más del 96% de los 1.4 millones de aplicaciones que esten disponibles en Google Play ​ y es una pieza descargable de aplicación para Windows y Macintosh que virtualiza la completa experiencia del entorno de Android.

La aplicación es de libre descarga y uso, aunque hace unos años presentó a los usuarios la opción de paso a modo freemium, para instalar aplicaciones patrocinadas o comprar una suscripción mensual por $2 ​( lamentablemente  esto no se menciona antes de la descarga o durante la instalación).  

Para los amigos de  mundo Apple en  2012, la compañía lanzó una versión alfa- y  después beta  de la aplicación para Mac OS pero no duró mucho la versión para Mac OS del reproductor ,pues dejó de estar disponible para descargar en 2014. Afortunadamente por fin en  2015, BlueStacks, Inc. anunció  una versión nueva del reproductor para Mac OS

 

El modo más fácil y seguro de descargar BlueStacks es desde su página web oficial.

Como vemos  en la imagen anterior, se muestran allí de forma prominente mas de un botón verde de Descarga BlueStacks, que al pulsar  procederá a  descargar e instalar  la  citada aplicación  en función del sistema operativo   que disponga( Windows o Mac )  sin  mas pasos intermedios .

Los requisitos mínimos de BlueStacks no son elevados aunque se recomienda  uan buena dosis de memoria  RAM

Los requisitos recomendados por sus creadores son los siguientes :

      • CPU Con Soporte De Virtualizacion Por Hardware
      • Windows 7 O Superior
      • CPU Intel o amd
      • RAM 4GB
      • GPU Nvidia Geforce, AMD RADEON HD O Intel HD Graphics

Desde  su página web oficial obtendremos automáticamente  el instalador para el so desde el que se pide  , en este caso si es un ordenador con windows para windows , y que podemos lanzar con un  simple doble clic de iniciar   simplemente  pulsando “Instalar ahora” y comenzará primero la descarga, de aproximadamente 500   MB, para continuar con la instalación.

Una ayuda innegable de este emulador es que viene integrado con Google Play , de modo que  si nos validamos contra  nuestra cuenta de Google , se  pueden descargar juegos y  todo tipo de aplicaciones directamente desde la  propia tienda de Google ( y  por supuesto comprar las que no sean gratuitas). 

Originalmente  una vez instalado la aplicación no veremos casi nada  a excepción del navegador ,el gestor de medios ,el  acceso a la parte de Configuración , el acceso de la cámara (del pc)  y poco más.

Asimismo BlueStacks incluye además su propio Centro de aplicaciones desde la pestaña  superior  junto a Biblioteca “Game Center “, que es algo así como un directorio, listado y top-ten de las aplicaciones y juegos en BlueStacks.  En algunos casos la descarga nos  llevará a Google Play por lo que lógicamente necesitará también iniciar sesión con una cuenta de Google.

 

 

Algo de agradecer es que también podemos  instalar aplicaciones desde los propios archivos  de instalación (apk)  sin tener que relajar en la propia aplicación admitiendo fuentes desconocidas . De hecho,iniciar la instalación es tan fácil como hacer doble clic desde el explorador de  nuestro ordenador  sobre uno de estos archivos. Esto es así porque después de instalar BlueStacks en el PC, los archivos APK se asociarán automáticamente con BlueStacks

 

A pesar de los juegos  y la posibilidad  de instalar las apk directamente ,con toda  probabilidad  al poco de instalar  esta aplicación querremos instalar muchas mas aplicaciones  de forma similar a como lo hacemos  en un móvil Android: desde Google Play, para lo cual  necesitamos  haber iniciado sesión con nuestra  cuenta de Google,  buscar una aplicación que nos interese y  instalarla (recuerde  que más del 96% de los 1.4 millones de aplicaciones que estén disponibles en Google Play podrá instalarlas de este modo ​).

Dada la forma de trabajar  de este emulador, no solo las aplicaciones que instalemos aparecerán en la ventana principal ,  como vemos en la imagen de mas abajo, pues también aparecerán los acceso directos en nuestro escritorio Windows para lanzar precisamente esas mismas aplicaciones  pero desde el propio s.o.

 

Por ejemplo,  para acceder  directamente  a la aplicación TikTok  desde el escritorio Windows el acceso  sera algo similar  a ejecutar    lo siguiente “C:\Program Files\BlueStacks\HD-RunApp.exe” -json “{\”app_icon_url\”:\”\”,\”app_name\”:\”TikTok\”,\”app_url\”:\”\”,\”app_pkg\”:\”com.zhiliaoapp.musically\”}”

Afortunadamente este acceso directo  lo hará la propia aplicación BlueStacks  para cada app que instalemos  ,tanto desde Google Play, como desde el propio apk . En este punto destacar que si la app la instalamos desde Google Play solo  se mostrarán aplicaciones compatibles y que, por tanto , deberían funcionar bien en el emulador.

 

Ejemplo instalación de  TikTok

 
En el entorno de BletStacks podemos usar cualquier aplicación  Android como por ejemplo Tik Tok ,una aplicación que actualmente se ha puesto a la par con otras redes sociales como Instagram, pues su gran popularidad en los últimos años la ha llevado a convertirse incluso en la aplicación más descargada en 2019, superando nada más y nada menos que a WhatsApp.

Se trata de una red social asiática donde se pueden compartir vídeos cortos con música de fondo. En sus inició comenzó como una app de música (musically)  pero con el paso del tiempo se fue transformando a lo que hoy se conoce como Tik Tok.

Si bien esta aplicación va dirigida a dispositivos móviles, existe una forma bastante sencilla de instalarla a la PC con sistema operativo Windows. Lo que se debe hacer , como  amigo lector ya habrá intuido  es descargar el emulador Android BueStacks ( actualmente ya sabe  que el mejor emulador Android para pc )  desde  su página web oficial pues   como se mencionó, Tik Tok solo está disponible para teléfonos, por lo que es necesario descargar BlueStacks como paso previo.

Una vez instalado el emulador  ,tal y como hemos comentado, lo siguiente es introducir nuestras credenciales de  la cuenta Gmail para poder acceder a la tienda de aplicaciones  de Google Play . Una vez iniciada sesión en la cuenta se podrá buscar esta app en  la tienda Google Play Store   y seguir los pasos . 

Por supuesto al tener este emulador de Android BlueStacks , no solo se podrá descargar TikTok, sino también otras aplicaciones y juegos de Android con la consiguiente ventaja de no ocupar la preciada memoria de su terminal móvil.

La aplicación dispone de stickers para las stories donde muchas personas piensan que sus preguntas son realmente  anónimas

El usuario puede ingresar a la famosa aplicación desde el sitio oficial de Tik Tok, sin embargo, esta versión tiene muchas limitaciones que le impedirían al usuario disfrutarlo de un modo tan sencillo debido sobre todo  a la ausencia de interfaz táctil que debe simularse con  el ratón

VT-X is disabled in BIOS


Cada  vez existe mas software disponible para ejecutarse en entornos virtuales  destacando  cualquier sw de virtualización , aunque existe mucho mas sw  de otro tipo (como el desarrollo ), que también lo puede requerir ,como por ejemplo   sin ir mas lejos puede ser  el propio Google Android Studio , lo cual  intrínsecamente exigirá  una vez más que     la configuración del BIOS de su ordenador  este configurado  para permitir la virtualización.

En caso de no  tener  habilitado esta opción, como el lector  ya se habrá imaginado   obtendremos  el citado error :” VT-X is disabled in BIOS”  es decir que VT-x está desactivado (o que hace referencia a un problema con AMD-V si tiene una CPU AMD), lo que  significa que la configuración de aceleración de hardware requerida por la CPU para admitir la virtualización está actualmente desabilitada en su BIOS.

Bien, entonces   sabemos que tenemos que habilitar VT-x desde la BIOS para solucionar este inconveniente , pero el problema es  que el acceso al BIOS de un ordenador  diferirá de un fabricante a otro. Además, el mismo fabricante puede implementar diferentes versiones de BIOS según la antiguedad o el modelo de su ordenador.

Para acceder al BIOS, la mayoría de las ordenadores ofrecen un aviso para presionar una combinación de botón / botón para ‘ingresar a la configuración’ en los primeros segundos después de encender su ordenador antes que su sistema operativo comience a cargarse. En algunas máquinas, esta combinación de botón / botón lo llevará directamente a la configuración del BIOS, en otras máquinas puede encontrar un ‘Menú de configuración’ que incluirá una opción para ingresar al BIOS.

Si su ordenador no ofrece ninguna opción para acceder a su BIOS antes de que se cargue su sistema operativo, entonces es posible que use UEFI en su lugar. Lea más adelante en este post  para obtener información sobre cómo acceder al UEFI de su ordenador o en caso de no disponer de UEFI cuales son las opciones mas típicas para acceder a esta configuración.

Photo by Pixabay on Pexels.com

 

 

 

Ordenador basado en  UEFI 

En un ordenador basado en UEFI, a menudo no hay un botón para presionar antes de que se cargue el SO. 

En primer lugar  para saber  que verdaderamente tenemos activado  o no la funcionalidad VT-x  ejecutar  desde Cortana el interprete de comandos   mediante  la siguiente sentencia

cmd

Luego lanzar la utilidad de información del sistema:

systeminfo.exe

Nos debería dar un informe en pantalla similar al  siguiente :

En este caso nos interesa las tercera  fila empezando por el final. En caso de tener desactivada la virtualizacion en el firmware , tal y como vemos en la pantalla anterior, para habilitar la Tecnología Virtual o VT-x  siga los siguientes pasos para ir a la configuración de firmware BIOS / UEFI:

  •  Ir a la rueda de ajustes
  • Pulsar en Cambiar configuración de PC
  • Nos vamos a Actualización y recuperación
  • Pulsar en Recuperación
  • Haga clic en Reiniciar en Opciones avanzadas
  • Después Reiniciar
  • Ir a  Solucionar problemas
  • Opciones avanzadas
  • Configuración de firmware UEFI
  • Luego finalmente se reiniciara  pudiendo acceder  directamente a BIOS y en Configuración encontrará Tecnología virtual y la habilitará.Como ejemplo  en BIOS AMI de Asus:
      •  Opciones Avanzadas
      • Configuración de la CPU
      • Intel Virtualizacion Tecnology  (ojo tendra que hacer un scroll hacia abajo de  la pantalla pues no aparece directamente) 
      • Pulsar en el botón  de la derecha  junto al item para dejarla “Habilitada”

 

Ordenadores  sin UEFI

No todos los ordenadores admiten la opción Configuración de firmware UEFI en Opciones avanzadas,pero  en esos casos suele haber un botón directo para ir al BIOS. 

A continuación se muestra una lista de los fabricantes de ordenadores  más comunes e información sobre el acceso a la configuración del BIOS para cada fabricante.

Acer

Más comúnmente: F2 o Eliminar.En computadoras más antiguas: F1 o la combinación de teclas CTRL + ALT + ESC.

    1. Girar  EN  el sistema.
    2. Presione la   tecla F2 al iniciar la configuración del BIOS.
    3. Presione la tecla de flecha derecha hacia la   pestaña Configuración del sistema , seleccione  Tecnología de virtualización  y luego presione la  tecla Intro .
    4. Seleccione  Activado  y presione la   tecla Intro .
    5. Presione la   tecla F10 y seleccione    y presione la   tecla Entrar para guardar los cambios y  reiniciar  en Windows.

Asus

Más comúnmente: F2. Alternativamente: Eliminar o Insertar clave, y con menos frecuencia F10.

    1. Girar  EN  el sistema.
    2. Presione la   tecla F2 al iniciar la configuración del BIOS.
    3. Presione la tecla de flecha hacia la derecha hasta la  pestaña Avanzado  , seleccione  Tecnología de virtualización  y luego presione la   tecla Intro .
    4. Seleccione  Activado  y presione la   tecla Intro .
    5. Presione la   tecla F10 y seleccione    y presione la   tecla Entrar para guardar los cambios y  reiniciar  en Windows.

DELL

Modelos más nuevos: tecla F2 mientras el logotipo de Dell está en la pantalla. Alternativamente: F1, Eliminar, F12 o F3. Modelos más antiguos: CTRL + ALT + ENTRAR o Eliminar o Fn + ESC o Fn + F1.

    1. Girar  EN  el sistema.
    2. Presione la   tecla F2 al iniciar la configuración del BIOS.
    3. Presione la tecla de flecha derecha para la   pestaña Avanzado , seleccione  Virtualización  y luego presione la   tecla Intro .
    4. Seleccione  Activado  y presione la   tecla Intro .
    5. Presione la   tecla F10 y seleccione    y presione la   tecla Entrar para guardar los cambios y  reiniciar  en Windows.

HP

Más comúnmente: F10 o ESC.Alternativamente: F1, F2, F6 o F11.En las tabletas HP  : F10 o F12 

    1. Encienda el sistema
    2. Presione repetidamente la  tecla Esc  al inicio.
    3. Presione la   tecla F10 para la configuración del BIOS.
    4. Presione la tecla de flecha derecha hacia la   pestaña Configuración del sistema , seleccione  Tecnología de virtualización  y luego presione la  tecla Intro  .
    5. Seleccione  Activado  y presione la   tecla Intro .
    6. Presione la   tecla F10 y seleccione    y presione la   tecla Entrar para guardar los cambios y  reiniciar .

Lenovo

Más comúnmente: F1 o F2.Hardware antiguo: la combinación de teclas CTRL + ALT + F3 o CTRL + ALT + INS o Fn + F1.Si tiene un ThinkPad, consulte este recurso de Lenovo:  cómo acceder al BIOS en un ThinkPad .

Habilitación de VT-x en ThinkPad (tabletas / convertibles / portátiles):

    1. Pulsar el boton de encendido
    2. Presione  Entrar o  toque la pantalla táctil durante la  pantalla de inicio de Lenovo  .
    3. Presione o toque  F1 para ingresar a la configuración del BIOS.
    4. Navegue a  la  pestaña Seguridad , luego presione Entrar en  Virtualización .
    5. Seleccione Tecnología de virtualización Intel (R),  presione  Entrar  elija  Habilitar  y presione Entrar .
    6. Presione  F10.
    7. Presione  Entrar  en    para guardar la configuración e iniciar Windows.

 ThinkCentre (equipos de escritorio):

  1. Pulsar el boton de encendido
  2. Presione  Entrar  durante la  pantalla de inicio de Lenovo  .
  3. Presione  la tecla F1 para ingresar a la configuración del BIOS.
  4. Navegue a la  pestaña Avanzado y presione Entrar en  la configuración de la CPU.
  5. Seleccione Tecnología de virtualización Intel® (R),  presione  Entrar  elija  Habilitar  y presione Entrar .
  6. Presione  F10.
  7. Presione Entrar en    para guardar la configuración e iniciar Windows.

Sony

Sony VAIO: F2 o F3 Alternativamente: F1 .Si su VAIO tiene una tecla ASSIST, intente mantenerla presionada mientras enciende su ordenador

    1. Con el ordenador completamente apagado, presione y mantenga presionado el   botón Asistir hasta que aparezca la pantalla negra VAIO. NOTA:  La ubicación del   botón de Asistencia será diferente según el modelo de la computadora. Consulte las instrucciones de funcionamiento suministradas con la computadora para conocer la ubicación exacta del   botón Asistir en su modelo.
    2. En el  VAIOCare |  Pantalla de modo de rescate , presione la   tecla de flecha hacia abajo hasta que   se resalte la opción Iniciar configuración de BIOS [F2] y luego presione la   tecla Intro .
    3. En la   pantalla de la Utilidad de configuración [Nombre del BIOS] , presione la tecla de flecha derecha hasta que   se seleccione la pestaña Avanzado .
    4. En la   pestaña Avanzado , presione la tecla de flecha hacia abajo hasta que   se seleccione Tecnología de virtualización Intel (R) y luego presione la   tecla Intro . 
    5. Use las teclas de flecha para seleccionar  Activado  y luego presione la   tecla Intro .
    6. Presione la tecla de flecha derecha hasta que   se seleccione la pestaña Salir .
    7. Presione la tecla de flecha hacia abajo hasta que   se seleccione Exit Setup y luego presione la   tecla Enter .
    8. En la   pantalla Guardar , verifique que    esté seleccionado y luego presione la   tecla Intro .

Toshiba

Más comúnmente: tecla F2.  Alternativamente: F1 y ESC.Toshiba Equium: F12

        1. Girar  EN  el sistema.
        2. Presione la   tecla F2 al iniciar la configuración del BIOS.
        3. Presione la tecla de flecha hacia la derecha hasta la  pestaña Avanzado  , seleccione  Tecnología de virtualización  y luego presione la   tecla Intro .
        4. Seleccione  Activado  y presione la   tecla Intro .
        5. Presione la   tecla F10 y seleccione    y presione la   tecla Entrar para guardar los cambios y  reiniciar  en Windows.

 

OTROS MODELOS

Como se mencionó, los pasos necesarios para habilitar la virtualización pueden diferir de los anteriores, dependiendo de la versión del BIOS de su máquina, por lo que si ese es su caso, deberá buscar las opciones etiquetadas como ‘ Tecnología de virtualización ‘ o ‘ Tecnología de virtualización Intel® ‘ en la pestaña ‘ Configuraciones de CPU ‘, ‘ Configuraciones del sistema ‘,  ‘Avanzado’  , ‘ Seguridad ‘ o ‘ Procesador ‘ y verificar si la opción está habilitada o deshabilitada.

Con menos frecuencia, puede encontrar la configuración dentro del ‘ Chipset ‘ o ‘ Northbridge ‘ o la pestaña de overclocking específico del BIOS.

 

Notas finales

Si ha habilitado estas configuraciones dentro del BIOS o, si la ha habilitado, y todavía ve mensajes de error de su software de virtualización que hacen referencia a VT-X o AMD-V, entonces puede ser necesario deshabilitar Hyper-V en su ordenador 

Esto puede hacerse de la siguiente manera:

Vaya a Panel de control ->

Programas ->

Programas y características ->

haga clic en Activar o desactivar las características de Windows ->

desmarque Hyper-V ->

haga clic en Aceptar.

 

 

Asimismo también es importante tener en cuenta que una máquina VM de 64 bits no se ejecutará en un procesador de 32 bits . Sin embargo, es posible que pueda ejecutar una máquina virtual de 64 bits si tiene un procesador de 64 bits pero ha instalado un sistema operativo host de 32 bits y su procesador admite las extensiones correctas.