OpenWSPR Receiver: II - Resultados

Imagen
Dado que la estación WSPR TX (WSPR TX 80To10 de Zachtek + UnUn 9:1 + end-feed 16,2m) había obtenido resultados satisfactorios al situarse diariamente dentro del top 200, lo que significa estar por encima del percentil 96 tanto en numero de spots reportados como en el número de estaciones distintas que los habian recibido, se uso la misma infraestructura para la WSPR RX (openWSPR+ UnUn 9:1 + end-feed 16,2m), dejando para mas adelante el problema de compartir recursos como la antena. Haciendo uso de las consultas SQL de WSPRnet hemos podido obtener varias métricas. POSICIÓN POR NUMERO DE SPOTS - BEICONS RECIBIDOS DE ESTACIONES WSPR TX Se ocupa la posición 874 del total de 1.558 estaciones que estuvieron activas en las 24h de estudio, lo que viene a estar en la mitad de la tabla. Algo parecido se observa a nivel nacional pues se ocupa el puesto 7º de 14 estaciones EA , en la mitad de la tabla WSPR RX.   Pese a estos datos si se analiza en relación al promedio de mensajes que recibe...

Control de circuitos eléctricos con Raspberry Pi: Java


Después de hacer nuestro primer programa en Java, vamos a pasar a controlar un circuito eléctrico a través del GPIO de Raspberry PI.

Previamente hay que descargar las librerías de Java necesarias para trabajar con GPIO que están bajo el proyecto pi4j. En este caso además de poder usar el comando apt-get install pi4j‘ puede hacerlo directamente con el navegador en la URL http://get.pi4j.com/download/pi4j-1.2-SNAPSHOT.deb (Versiones anteriores dan el error «Unable to determine hardware version. I see: Hardware : BCM2835» ) descargándola y ejecutando.

Hay que comprobar que la libreria gpio ya está en el sistema mediante el comando  gpio -v

En JAVA la numeración de los PIN varía y así el 18 pasa a ser el 1 ver aquí.

El programa en JAVA quedaría así:

/**
 * led.java
 * Parpadea el LED 18
 */

import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;

public class led
{
 public static void main(String[] args) throws InterruptedException {
 System.out.println("GPIO LED");
 // Crea controlador GPIO
 final GpioController gpio = GpioFactory.getInstance();
 // Pone PIN 18 como salida y ON
 final GpioPinDigitalOutput ledPin = 
 gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01,"LED");
 ledPin.high();
 System.out.println("LED ON");
 Thread.sleep(2000);
 // Pone PIN 18 como salida y OFF
 ledPin.low();
 System.out.println("LED OFF");
 gpio.shutdown();
} 
}

Algunos comentarios:

  • EN JAVA los comentarios pueden ir bloque entre /* y */  o en la linea a continuacion de //
  • Los métodos de la libreria GPIO controller pueden ser consultados en la documentación en linea.
  • Puede ajustarse el estado inicial (p.e. apagado) con gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, «LED»,ledPin.LOW); 
  • Puede programar parpadeo con la instrucción ledpin.blink(1000, 15000);
  • Puede cambiar el estado con  ledPin.toggle();
  • Puede tener un estado un tiempo determinado con ledPin.pulse(1000,true);
  • Para terminar gpio.shutdown();

Para ejecutar la clase led.class necesita ir al terminal y teclear java -classpath .:/opt/pi4j/lib/’*’ led

Programo en Java desde hace más de 15 años y mi conclusión es que en JAVA es muy dificil programar tareas sencillas (Por ejemplo Hola mundo)  pero muy fácil programar tareas complejas (Observe a potencia de los comandos).



Comentarios

Entradas populares de este blog

ESP32 LoRa for dummys - Inicio

Receptores DAB/DAB+

Antena exterior logarítmica UHF/VHF : Metronic 425010 - Ia Características