Mostrando entradas con la etiqueta config. Mostrar todas las entradas
Mostrando entradas con la etiqueta config. Mostrar todas las entradas

lunes, 11 de febrero de 2019

0

Proyecto: Conexión a Internet

Una vez preparada la Raspberry y conectado el circuito para la medida de temperatura, es necesario crear el código que realice las mediciones. El objetivo del código que se va a desarrollar va a ser leer datos del sensor y subirlos a una plataforma IoT. En este caso se ha decidido que sea ThingSpeak. Además de ello también se han de cumplir los siguientes requerimientos:
  • Creación automática del canal sin intervención del usuario.
  • Muestreo cada 10 segundos.
  • Subir los datos desde la red eduroam de la facultad.
Se va a comenzar explicando como realizar la conexión a internet. Si esta parte no te interesa, puedes saltar directamente a la entrada del código de Python. O si solo te interesa el código de conexión al wifi, puedes ir al repositorio de GitHub.

Conexión a Internet
En caso de haber instalado Raspbian con interfaz gráfica, la conexión se realiza de forma similar a la de cualquier ordenador. Trabajando desde el propio Raspbian, basta con ir a la sección de redes e introducir las credenciales que se soliciten. La dificultad viene cuando se trabaja en línea de comandos. Se va a explicar cómo realizar la conexión usando como supuesto este último caso.

El primer paso va a ser editar el archivo interfaces. Para ello se ha de usar el comando sudo nano /etc/network/interfaces. Este archivo, dependiendo de la versión de Raspbian que se tenga instalado, puede tener dos aspectos.

En el caso de tener un aspecto parecido al que aparece a continuación, significa que se tiene una versión nueva de Raspbian, y no hace falta tocarlo. Hay que dejarlo tal cual viene.

#interfaces(5) file used by ifup(8) and ifdown(8)
#Please note that this file is written to be used with dhcpcd
#For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
#Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

Otra opción es que tenga un aspecto parecido a:

auto lo
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

En caso de que el código tenga ese aspecto, va a ser necesario editar este archivo antes de pasar al siguiente paso. El archivo debe dejarse de la siguiente manera:


La línea iface id_str inet dhcp permite añadir más redes, con lo que basta con añadir tantas líneas al código como redes se tengan configuradas en el archivo .config. Por otro lado, id_str deberá sustituirse por el valor que se le haya dado al mismo en el archivo .config.

Si se ha abierto por la consola de comando haciendo uso de sudo, tal y como se indica arriba, para editarlo bastará con seguir las instrucciones que aparecen en la propia consola. Esto es muy importante ya que, si se abre desde el navegador como usuario pi, no se tienen permisos de edición y se denegará la acción.

Editado o no el archivo interfaces (en función de la necesidad), se puede pasar a la edición del archivo .config, necesario en todos los casos. Esto se realizará usando el comando sudo nano /etc/wpa_supplicant/wpa_supplicant.conf Versiones anteriores de Raspbian permiten un archivo .config más simple, pero aquí se va a indicar cómo debe ser el código completo, para que así función en todas las versiones.


Aquí se muestra la configuración más básica, para la red eduroam (requerimiento del proyecto) y un ejemplo de cómo conectarse a la red de casa. Los parámetros que hay que editar son:
  • ssid: habrá que poner la de la red a la que se quiere conectar, debe ir entre comillas.
  • identity: hay que indicar el usuario, entre comillas.
  • password: es la contraseña, también entre comillas.
  • id_str: el nombre que le vas a poner a la red para llamarla desde el archivo interfaces (esta línea se puede omitir si no has tenido que editar interfaces).
  • psk: contraseña de la red doméstica. Entre comillas.
  • Country: iniciales del país de la configuración de Raspbian.

Tras esto, la Raspberry debería ser capaz de conectarse ella sola a internet en cuanto detecte alguna red que coincida con las configuradas en .config. Finalmente, si la Raspberry de repente es incapaz de ver redes, es posible que sea porque:
  • Has editado el archivo interfaces cuando no era necesario.
  • Hayas incluido la línea id_str="nombre" en el archivo .config cuando no era necesario.
Con la conexión realizada, el siguiente paso será la programación.
ir arriba