sexta-feira, 11 de novembro de 2016

Simple solution to add 3D dynamic text in UNITY Vuforia

Considering that you already know how to build a simple example of Vuforia in UNITY, I´m going to register here a simple way to add dynamic 3D text.

1) First of all, insert a 3D Text in the scene. Go to menu GameObject > 3D Object > 3D Text. Write any text in there and call it "dynamicText";

2) Move this 3D Text into ImageTarget;

2) Create a C# Script. Right button on Asset windows > create > C# Script.


Write this code in there:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class textScript : MonoBehaviour {

         // Define this variable will allow you to associate your 3D Text. 
         // To associate it you have to grab the 

[SerializeField]
private TextMesh changeTextMesh = null;

// Use this for initialization
void Start () {
changeTextMesh.text = "This is the new text";
}

// Update is called once per frame
void Update () {

}
}

3) Save it and go back to the scene. Grab this C# script into the ImageTarget;

4) Grab the dynamicText into the changeTextMesh variable that is obviously located in the ImageTarget inspector (where you input your C# Script)

5) By the time you connect the dynamicText with changeTextMesh it will work like a charm.





sexta-feira, 4 de novembro de 2016

Diferença entre Bluetooth vs Bluetooth Low Energy

Acabei de ler um excelente artigo da empresa LinkLabs que explica as diferenças básicas entre Bluetooth (BT) e Bluetooth Low Energy (BLE).

De forma resumida, o Bluetooth serve para trabalhar com grande quantidade de dados trafegados. Por essa razão consome-se mais energia. Já o BLE é usado para aplicações que não requerem uma grande quantidade de dados. Assim, consome-se menos bateria, durando por anos e com custo reduzido.

O Bluetooth Low Energy pode se referir também como Bluetooth 4.0.

O range (distância) do BLE (no máximo 250m) é menor do que comparado ao BT (máximo 800m).

A taxa de transferência do BLE (100kbps) é baixo se comparado ao BT (2mbps).

Além de todas estas diferenças listadas acima, a implementação também é um pouco diferente na plataforma Android. Apesar de utilizar a mesma biblioteca, requere-se cuidados com a forma de implementar a interação com o BLE. Para isso existe o GATT (Generic Attribute Profile). o GATT é uma especificação para envio e recebimento de pequena quantidade de dados através de um link BLE. O bluetooth SIG define procedimentos de como o dispositivo deve trabalhar com o BLE.






Referências:
https://www.link-labs.com/bluetooth-vs-bluetooth-low-energy/
http://stackoverflow.com/questions/32367108/android-bluetooth-vs-bluetooth-low-energy
https://developer.android.com/guide/topics/connectivity/bluetooth-le.html

Diferença entre Bluetooth vs Bluetooth Low Energy

Acabei de ler um excelente artigo da empresa LinkLabs que explica as diferenças básicas entre Bluetooth (BT) e Bluetooth Low Energy (BLE).

De forma resumida, o Bluetooth serve para trabalhar com grande quantidade de dados trafegados. Por essa razão consome-se mais energia. Já o BLE é usado para aplicações que não requerem uma grande quantidade de dados. Assim, consome-se menos bateria, durando por anos e com custo reduzido.

O Bluetooth Low Energy pode se referir também como Bluetooth 4.0.

O range (distância) do BLE (no máximo 250m) é menor do que comparado ao BT (máximo 800m).

A taxa de transferência do BLE (100kbps) é baixo se comparado ao BT (2mbps).

Além de todas estas diferenças listadas acima, a implementação também é um pouco diferente na plataforma Android. Apesar de utilizar a mesma biblioteca, requere-se cuidados com a forma de implementar a interação com o BLE. Para isso existe o GATT (Generic Attribute Profile). o GATT é uma especificação para envio e recebimento de pequena quantidade de dados através de um link BLE. O bluetooth SIG define procedimentos de como o dispositivo deve trabalhar com o BLE.






Referências:
https://www.link-labs.com/bluetooth-vs-bluetooth-low-energy/
http://stackoverflow.com/questions/32367108/android-bluetooth-vs-bluetooth-low-energy
https://developer.android.com/guide/topics/connectivity/bluetooth-le.html

Beacons: Entendimento técnico

Beacons: beacon é qualquer dispositivo eletrônico que transmite um sinal que permite outro dispositivo determinar sua proximidade em relação ao beacon. O beacon não transmite conteúdo. Ele simplesmente transmite uma sinal que permite o dispositivo móvel determinar sua proximidade do beacon. O conteúdo que aparece no celular após a proximidade é gerado pelo aplicativo. 
Bluetooth Low Energy: Esta é a especificação de um tipo de sinal que o beacons transmite. Há outros tipos de sinais dos power beacons  mas o Bluetooth LE tem a vantagem de ter baixo consumo de energia e ser nativo para a maioria dos celulares e tablets. 
iBeacon:  O termo iBeacon e beacon é frequentemente usado. Mas o iBeacon é uma marca registrada da Apple referente aos protocolos, dispositivos e que usa Bluetooth LE para criar experiência de usuário.  
Devices: Existem diversos dispositivos que são capazes de atuar como transmissor Bluetooth LE. Mas alguns dispositivos podem ter outras funcionalidades. O iPhone pode ser programado para atuar como beacon além de oferecer outras funcionalidades. Similarmente, beacons de algumas empresas podem transmitir sinais Bluetooth LE mas também detectar umidade, temperatura, aceleração e também módulos wifi.

Referência: http://beekn.net/guide-to-ibeacons/ 

quinta-feira, 6 de outubro de 2016

Um pouco sobre Ionic e tecnologias relacionadas

Nas últimas duas semanas tenho estudado Ionic para verificar a possibilidade de utilizar no projeto de doutorado.

O Ionic é um framework que auxilia no desenvolvimento de aplicações móveis seja Android,IOS. Desta forma pode ser definida como desenvolvimento de aplicações híbridas.

O Ionic depende de alguns softwares para funcionar. São eles:


  1. Node JS: É um interpretador de código JavaScript Server Side, ou seja, que funciona do lado do servidor. A importância dele é permitir a criação de aplicações de alta escalabilidade.
  2. NPM: É um gerenciador de pacotes para o JavaScript que permite a utilização de linhas de comandos para instalação e configuração do ambiente de desenvolvimento.

Além disso, estou estudando o Git para fazer versionamento. Antes utilizava o svn porém o git possui maior adesão pelos desenvolvedores ionic.


terça-feira, 13 de setembro de 2016

Um pouco sobre UNITY

Recentemente, tenho estudado Unity juntamente com Vuforia e Blender para desenvolver um projeto de doutorado.

Basicamente, o Unity é uma engine que permite desenvolver jogos 3D ou 2D enquanto que o Vuforia é uma ferramenta de desenvolvimento de aplicações de Realidade Aumentada. Já o Blender é um software de modelagem 3D.

Alguns termos comumente usados no UNITY:

GameObject:

Prefabs:

Scenes:


segunda-feira, 10 de fevereiro de 2014

Augmented Reality Software developed to auxiliate patients to take drugs


This is a video that I made to show how the system works. Basically, the alarm clock alert the patient that is time to take medicine. Then, the person attend the phone and checks throw the camera which medicine he needs to take. The one that appears in green color is the drug that he has to take.