Parte 1 - Configuración de la Red

NOTA: Esta primera parte aplica para Raspberry Pi. Sin embargo les dejo tutoriales para hacerlo en distintas plataformas.

   

Windows:  https://elandroidelibre.elespanol.com/2015/04/como-crear-una-red-wifi-desde-nuestro-ordenador.html

Mac:           https://apple2fan.com/tutoriales/crear-red-wifi-mac

Linux:        https://ubunlog.com/como-crear-un-punto-de-acceso-wifi-en-ubuntu-18-04-lts/

Para funcionar como un punto de acceso, la Raspberry Pi necesitará tener instalado un software de punto de acceso, junto con el software del servidor DHCP para proporcionar dispositivos de conexión con una dirección de red. Para crear un punto de acceso, necesitaremos DNSMasq y HostAPD. Instale todo el software requerido de una vez con este comando:

sudo apt install dnsmasq hostapd

 

 

Como los archivos de configuración aún no están listos, apague el nuevo software de la siguiente manera:

sudo systemctl stop dnsmasq

sudo systemctl stop hostapd

Configurar una IP estática Estamos configurando una red independiente para que actúe como un servidor, por lo que Raspberry Pi debe tener una dirección IP estática asignada al puerto inalámbrico. Esta documentación asume que estamos utilizando las direcciones IP estándar 192.168.x.x para nuestra red inalámbrica, por lo que asignaremos al servidor la dirección IP 192.168.4.1. También se supone que el dispositivo inalámbrico que se utiliza es wlan0. Para configurar la dirección IP estática, edite el archivo de configuración dhcpcd con:

sudo nano /etc/dhcpcd.conf

Vaya al final del archivo y edítelo para que tenga el siguiente aspecto:

interface wlan0

      static ip_address=192.168.4.1/24

      nohook wpa_supplicant

 

Ahora reinicie el demonio dhcpcd y configure la nueva configuración de wlan0:

sudo service dhcpcd restart

El servicio DHCP es proporcionado por dnsmasq. De manera predeterminada, el archivo de configuración contiene mucha información que no es necesaria y es más fácil comenzar desde cero. Cambie el nombre de este archivo de configuración y edite uno nuevo:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

sudo nano /etc/dnsmasq.conf

Escriba o copie la siguiente información en el archivo de configuración dnsmasq y guárdela:

interface=wlan0 # Use the require wireless interface - usually wlan0

dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h

Entonces, para wlan0, vamos a proporcionar direcciones IP entre 192.168.4.2 y 192.168.4.20, con un tiempo de arrendamiento de 24 horas. Si proporciona servicios DHCP para otros dispositivos de red (por ejemplo, eth0), puede agregar más secciones con el encabezado de interfaz apropiado, con el rango de direcciones que tiene la intención de proporcionar a esa interfaz. Hay muchas más opciones para dnsmasq; Consulte la documentación de dnsmasq para obtener más detalles. Inicie dnsmasq (se detuvo), ahora usará la configuración actualizada:

sudo systemctl start dnsmasq

 

Debe editar el archivo de configuración de hostapd, ubicado en /etc/hostapd/hostapd.conf, para agregar los diversos parámetros para su red inalámbrica. Después de la instalación inicial, este será un archivo nuevo / vacío.

sudo nano /etc/hostapd/hostapd.conf

Agregue la siguiente información al archivo de configuración. Esta configuración asume que estamos usando el canal 7, con un nombre de red de NameOfNetwork y una contraseña AardvarkBadgerHedgehog. Tenga en cuenta que el nombre y la contraseña no deben tener comillas alrededor de ellos. La frase de contraseña debe tener entre 8 y 64 caracteres de longitud. 

interface=wlan0

driver=nl80211

ssid=NameOfNetwork

hw_mode=g channel=7

wmm_enabled=0

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_passphrase=AardvarkBadgerHedgehog

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

Ahora necesitamos decirle al sistema dónde encontrar este archivo de configuración.

sudo nano / etc / default / hostapd

Busque la línea con #DAEMON_CONF y reemplácela con esto:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Ahora habilite e inicie hostapd:

sudo systemctl unmask hostapd

sudo systemctl enable hostapd

sudo systemctl start hostapd

Haga una comprobación rápida de su estado para asegurarse de que estén activos y en ejecución:

sudo systemctl status hostapd

sudo systemctl status dnsmasq

Edite /etc/sysctl.conf y elimine el comentario de esta línea:

net.ipv4.ip_forward=1


Agregue una mascarada para el tráfico saliente en eth0:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Guarde la regla de iptables.

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Edite /etc/rc.local y agregue esto justo arriba de "exit 0" para instalar estas reglas en el arranque.

iptables-restore < /etc/iptables.ipv4.nat

sudo reboot

Paso 2 - Configuracion de Kiwix server

Para Windows, linux y mac: https://wiki.kiwix.org/wiki/Kiwix-serve

Para RPI:

Descargar archivo SERVIDOR OFFLINE

 

Descomprimir carpeta

Una vez descargado en su Pi, cree una carpeta en su directorio de inicio llamada kiwix. Cree una carpeta dentro de ese bin llamado y coloque todos los archivos de la descarga ARM allí. Nuestra estructura de archivos en el Pi debería verse hasta ahora:

~/

kiwix/

bin/

kiwix-index

kiwix-install

kiwix-manage

kiwix-read

kiwix-search

kiwix-serve

Luego, cree una carpeta de datos también en kiwix para el siguiente paso, y en datos, cree tres subcarpetas: contenido, índice y biblioteca. Esto ahora debería darnos:

~/

kiwix/

bin/

...

data/

content/

index/

library/

Ahora, cree un archivo llamado library.xml en el directorio data / library / con el siguiente texto en el archivo:
 

<?xml version="1.0"?>

<library current="a8f2360d-b179-226d-a3ff-46d0fba91116" version="20110515"?>

</library>

El contenido se pone en la carpeta Content, lo pueden descargar de acá.

https://wiki.kiwix.org/wiki/Content_in_all_languages

O crear ustedes mismos y compilarlo con este tutorial

https://openzim.org/wiki/Build_your_ZIM_file

Después necesitan indexar sus archivos para que los pueda mostrar el servidor, vamos a utilizar el comando

kiwix- manage

kiwix-manage /var/www/html/library_zim.xml add /var/www/html/zim/test.zim

importante: vean el video tutorial para entender como hacer esta parte.

Ejecute el siguiente comando en su Pi:

~/kiwix/bin/kiwix-serve --library ~/kiwix/data/library/library.xml --port=8080

En el navegador de los dispositivos que conecte al servidor:

 http://localhost:8080.

O bien, obtenga su nombre de host escribiendo hostname -I e ingrese esa dirección IP en un navegador en otra computadora conectada a su red local con el puerto agregado (por ejemplo, http://192.168.0.164:8080).

Paso 3 - Configuración de Node JS, mongodb y Juego Trivia Offline

Para comenzar instalamos “NVM”, para esto utilizamos el siguiente comando en el terminal: 

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

source ~/.bashrc  # Rerun profile after installing nvm

 

 

Después de hacer esto podemos instalar “node” insertando el siguiente comando en el terminal:

sudo n 6.17.1

 

Para revisar que se haya instalado la versión correcta escribimos el siguiente comando:

node -v

 

Después, es necesario instalar las dependencias, esto lo hacemos con “npm” en el terminal y escribimos los siguientes comandos, esperamos a que se instale uno y ahí si instalamos el otro, y así sucesivamente, los comandos son:

 

npm install express

npm install moment

npm install mongodb

npm install mongoose

 

Aún así, después de realizar todo este proceso, la versión del MongoDB puede ser incompatible con el sistema, por lo cuál es necesario ajustar la versión a la que funciona, eso se hace con el siguiente comando:

 

npm install mongodb@2.2.33

 

 

 

Después de este proceso podemos proceder a correr el servidor y el juego previamente instalado.

 

Para esto primero debemos ingresar al lugar donde se encuentre la carpeta con el archivo de juego, para mí, en este caso el comando es:

 

cd/home/pi/Desktop/kahoot-clone-nodejs-master

 

Después, iniciamos el sistema & servidor:

 

cd server

sudo systemctl start mongodb

node server 

 

Estoy debería automáticamente abrir nuestro servidor, lo cual ya debería permitirnos jugar, para acceder al juego nos dirigimos a cualquier buscador e ingresamos “localhost:3000” que es básicamente acceder al puerto del nuestro sistema interno dónde se encuentra el juego guardado. 

 

Se presiona el botón de “Ser host de juego”, luego en el botón de “Crea tu propio juego”, y una vez especificadas las preguntas y respuestas se hace click en “crear juego” y automáticamente el sistema arroja un PIN para que los participantes se puedan conectar. 

 

Para acceder al juego desde el dispositivo del jugador/participante es necesario conectarse en primer lugar a la red Wifi que haya creado el dispositivo host, en este caso se llama “Wikioffline” y después nos dirigimos a cualquier buscador e ingresamos la dirección Ip estática del sistema, en este caso “192.168.4.1”, se selecciona un nombre de jugador y se ingresa el PIN generado por el host y se comienza a jugar. 

© 2018 by JUAN CORTES. All rights reserved

  • Facebook - Grey Circle
  • Instagram - Círculo gris