
IMPORTANTE: A día de hoy no se recibe recompensa por el traspaso de datos por tus Data Only HotSpot. Se espera que pronto se pueda.
¿Qué es un Data Only HotSpot?
En Helium se recibe recompensas por tener los HotSpots operativos (con largo alcance mediante la Prueba de Cobertura) y por el tráfico que pase por tu HotSpot.
Sabemos que ahora mismo apenas se producen transferencias de datos. El actual objetivo de Helium es tener una red de gran cobertura (oferta). Su uso por parte por dispositivos IoT (demanda) vendrá luego.
Pero, aunque parezca raro, ya está habiendo tráfico de aplicaciones IoT por muchos HotSpots.
Sabemos que los (full) HotSpots escasean (con tiempo de entrega por parte de los fabricantes de varios meses).
Sin embargo, hay forma de ganar $HNT sin necesidad de los codiciados Bobcat Miner, Sensecap M1, Nebra, …
Data Only HotSpot
Se tratan de dispositivos gateway LoRaWAN sin capacidad de minado (PoC). Es lo más parecido a un router convencional de ADSL o fibra óptica.
Su misión es la de pasar información de los dispositivos IoT a Helium y viceversa. Por estas transferencias, se recibe una recompensa (a día de hoy solo en el entorno de pruebas, staging).
La cuestión es ¿podemos hacernos nosotros un Data Only HotSpot?
Claro, vamos a ello.
El Hardware
En nuestro ejemplo vamos a usar el económico y fácil de conseguir Dragino LTS8. Se trata de un gateway LoRaWAN con soporte de 8 canales. Está muy extendido y hay mucha documentación Internet. Por poco más de 150€ podemos hacernos con uno.
Configurando el gateway
Vayamos paso a paso.
1. Actualizar a última versión
Suponiendo que acabamos de sacar el Dragino LTS8 de la caja. Lo conectamos a alimentación. La luz de alimentación parpadeará.
Cuando se quedé fija, conectaremos a la WiFi que habilita (dragino-XXXXXX). La contraseña suele ser «dragino+dragino» (consulta las instrucciones por si es otra).
Una vez dentro, abre el navegador y dirígete a la dirección http://10.130.1.1 Los credenciales de acceso son «root» y la contraseña por defecto «dragino«.
Dirígete a «System -> System Overview«. Aquí comprueba la versión instalada:

Vamos a la página de descargas de Dragino y descargamos nueva versión (si la hay).
La actualización es sencilla. Vamos a «System -> Firmware Upgrade«. Pulsamos en «Seleccionar archivo«, escogemos nuestro archivo de firmware y clicamos en «Upload«. Una vez subido, nos aseguramos que la casilla «Preserve Settings» esté desmarcada. Solo nos queda pulsar en «Proceed» y el gateway empezará a actualizarse. Tras aproximadamente dos minutos, volvemos a conectar a la WiFi que auto-genera y comprobamos que efectivamente la versión es la nueva.
2. Conexión a la red WiFi
Bien sea por conexión cableada ethernet o por WiFi, debemos conectar nuestro gateway a Internet. Veamos cómo hacerlo por WiFi.
Para ello debemos seguir conectados a la WiFi habilitada por el gateway y acceder a la sección «Network -> WiFi«. En la sección de «WiFi WAN Client Settings«, marcamos la casilla de «Enable WiFi WAN Client«, introducimos el nombre de la red de nuestra WiFi y la contraseña. Pulsamos en «Save&Apply» y si todo va bien, nuestro gateway se conectará a nuestra WiFi.

Podemos ver si se le ha asignado correctamente IP desde «Network -> Network Status».

Ahora podemos conectar directamente con el gateway desde nuestra propia red. La dirección a abrir en el navegador pasa a ser: 3. Instalación del servicio de Helium
Para la comunicación con la red Helium, es necesario instalar un servicio dentro del propio gateway que recibirá los paquetes LoRa para pasarlos a la red Helium (uplink) y viceversa, de Helium al dispositivo LoRa (downlink). Descargamos la última versión de «gateway-rs» de la página del proyecto en GitHub. Para nuestro Dragino, nos bajamos aquella versión que termine en «-dragino.ipk». Ahora es necesario copiarlo. Abrimos un terminal y ejecutamos: Hay que sustituir <paquete> e <ip> por la ruta completada del fichero descargado y la IP de nuestro gateway. Nos pedirá la misma contraseña (si no las has cambiado: dragino) Ahora accedemos al gateway para la instalacion Una vez dentro, ejecutamos el comando de instalación El software ya estaría instalado y funcionando. Antes nada, lo mejor es hacer una copia de las claves públicas/privadas de nuestro gateway. Una vez copiado a nivel local, es importante salvaguardarlo. El servicio viene configurado por defecto para funcionar con la frecuencia US915. Si estamos en otra region, como puede ser Europa, necesitamos modificar el archivo de configuración. Podemos hacerlo accediendo otra vez por SSH y ejecutando la siguiente orden desde dentro del gateway: Antes de salir de la sesión remota (SSH), reiniciamos el servicio Ahora debemos indicar al gateway que use el nuevo servicio Helium. Accedemos a la interfaz de gestión nuevamente y vamos a la sección «LoRaWAN -> LoRaWAN«. En la zona de «Primary LoRaWAN Server» especificamos como «Server Address» la IP local del gateway: 127.0.0.1. Cambiamos tanto el «Uplink Port» como «Downlink Port» al puerto 1680. Pulsamos en «Save&Apply» y ya tendríamos el gateway conectado al servicio de LoRaWAN…pero aun nos falta darlo de alta en Helium. El procedimiento más común y sencillo para dar de alta un full HotSpot es usando la app de Helium directamente con el teléfono móvil. En nuestro caso eso no es posible. Tenemos que recurrir al wallet de interfaz de comandos para hacerlo. Descargamos desde GitHub la versión compilada para nuestro sistema. En nuestro caso, nos bajamos la versión para Mac OS X. Una vez descargado, lo descomprimimos y movemos a un ruta para que esté disponible en todo el sistema NOTA: Si usas Mac OS X, probablemente tendrás que autorizar desde «Preferencias del sistema -> Seguridad y Privacidad» el ejecutable, pues no está firmado. Lo siguiente es añadir nuestra cuenta o crear una nueva. Lo normal es «importar» la cuenta ya existente. Para eso necesitamos la «lista de palabras» que nos permite recuperar una cuenta y que se crea cuando accedemos por primera vez a la app de helium. Trabajamos desde la shell Nos irá solicitando por orden las 12 palabras «mágicas». Hecho esto, ya debe aparecer la cuenta. Ya estamos terminando. Solo falta agregar nuestro data only HotSpot al blockchain y hacer el aserto (posición donde está nuestro HotSpot). Esta dos tareas requieren un pago, a modo de barrera de entrada para evitar «fraude». Esta acción tiene un coste de $10 (1.000.000 DC). Lo primero que tenemos que hacer es obtener nuestra dirección Helium de nuestro gateway. Volvemos a acceder con SSH y realizamos la siguiente tarea: Cambiamos <DIRECCION_WALLET> por nuestra dirección (obtenida ejecutando el comando helium-wallet balance en el PC). Tras su ejecución, nos imprime en pantalla un objeto JSON parecido al siguiente: El valor que nos interesa es el correspondiente «txn», es una representación de todo lo anterior (direcciones, tipo, fee, …). Lo usaremos para mandar una transacción desde nuestro wallet para que se haga la asociación. En nuestro PC, ejecutamos Esto hará una previsualización de la transacción. Una vez comprobemos que todo es correcto y que tenemos suficiente saldo (ya sea en DC o en $HNT), enviamos la transacción añadiendo «–commit» a lo anterior Después de esto, toca esperar aproximadamente unos 5 minutos (depende de lo saturada que esté la red). Podemos ir comprobando el estado de la transacción consultando en https://api.helium.io/v1/pending_transactions/<codigo_TXN>, donde <codigo_TXN> es el código de transacción devuelto en el comando anterior. Cuando devuelva un JSON con el campo «status: cleared«, nuestra gateway estará asociado y aceptado correctamente por la red. Es necesario indicar a la red de Helium dónde está nuestro HotSpot. Esta operación tiene un coste de $5 (500.000 DC). Lo primero es utilizar Google Maps u otra aplicación GPS para obtener las coordenadas donde está ubicado nuestro gateway (Ej: Lat=37.32132 Lon=-3.13212) Luego, creamos la siguiente transacción desde nuestro PC: Reemplazamos <DIRECCION_GATEWAY> con nuestra dirección, ejecutamos y comprobamos que es correcta la transacción. Verificada, añadimos el «–commit» y repetimos los pasos anteriores para comprobar si se ha efectuado correctamente. Si has conseguido ejecutar todos los pasos, al cabo de unos o días veras a tu HotSpot en el mapa de exploración de Helium. Esperemos que no haya sido muy complicado y quedamos a la espera si tienes cualquier duda o sugerencia.% scp -P 2222 <paquete>.ipk root@<ip>:/root
% ssh -p 2222 root@<ip>
% opkg install <paquete>.ipk
4. Configuración del servicio Helium
% scp root@<ip>:/etc/helium_gateway/gateway_key.bin .
% sed -i '1s/^/region = "EU868"\n/' /etc/helium_gateway/settings.toml
% /etc/init.d/helium_gateway restart
5. Alta en Helium
% cp $HOME/Downloads/helium-wallet-v1.6.6-x86-64-macos/helium-wallet /usr/local/bin
% chmod 755 /usr/local/bin/helium-wallet
% helium-wallet create basic --seed mobile
% helium-wallet balance
Asociación a la red
% helium-gateway add --owner <DIRECCION_WALLET> --payer <DIRECCION_WALLET>
{
"address": "<DIRECCION_GATEWAY>",
"fee": 65000,
"mode": "dataonly",
"owner": "<DIRECCION_WALLET>",
"payer": "<DIRECCION_WALLET>",
"staking fee": 1000000,
"txn": "CrkBCiEBrlIMpYLbJ0z0hw5b4bbisRyArgbXs9X+RrJ4pJJc9MkSIQA7yIy7F+9oPYCTmDz+v782GMJ4AC+jM+VfjvUgAHflWSJGMEQCIGfugfLkXv23vJcfwPYjLlMyzYhKp+Rg7H2YKwnsDHaUAiASkdxUO4fdS33D7vyid8Tulizo9SLEL1lduyvda9YVRCohAa5SJqWC2ydM9IcOW+IPYrEcj64G17PV/kayeKSSXPTJOMCEPUDo+wM="
}
% helium-wallet hotspots add CrkBCi...wm=
% helium-wallet hotspots add CrkBCi...wm= --commit
Aserto de posición
% helium-wallet hotspots assert --gateway <DIRECCION_GATEWAY> --lat=37.32132 --lon=-3.13212 --mode dataonly
% helium-wallet hotspots assert --gateway <DIRECCION_GATEWAY> --lat=37.32132 --lon=-3.13212 --mode dataonly --commit
¡Data-only HotSpot operativo!