[acao-it] Accesso al server AMQP

Daniele Orlandi daniele at orlandi.com
Fri Apr 3 18:13:25 CEST 2015


Ciao,

Queste informazioni sono per Troiano ma le mando qui che possono servire
ad altri:

Sulla macchina virtuale lino.acao.it è in funzione un server AMQP che è
un sistema di messaggistica ad alta velocità.

Ho creato delle credenziali per l'accesso al server:

Hostname: amqp.acao.it
Username: terminale
Password: eP4Buasha1oh

Alle quali corrisponde l'URL (per i client che la vogliono):

amqp://terminale:eP4Buasha1oh@amqp.acao.it


Nel server vengono definite delle code e degli exchange. Le code,
intuitivamente, tengono i messaggi, gli exchange sono i destinatari dei
messaggi e decidono come distribuirli alle code.

Per i nostri scopi (pubblicazione dati vento) c'è un exchange chiamato
ygg.acao.meteo al quale vengono mandati messaggi periodici da tutti i
sistemi che abbiamo per la raccolta di informazioni meteo, ovvero:

- Anemometro (vento + temperatura + pressione atmosferica)
- Termometro+Igrometro
- Varie e eventuali :)

Per ricevere i messaggi delle stazioni meteo bisogna:

1- Dichiarare un exchange con le stesse caratteristiche di quello
esistente (topic, durable)

2- Creare una coda (se non si dà un nome viene creata dinamicamente)

3- Fare il bind tra l'exchange e la coda

4- Ascoltare (subscribe) alla coda.


I messaggi sono codificati nel modo seguente:

Nelle intestazioni c'è un "type" che identifica il tipo di messaggio e
al momento è sempre WX_UPDATE

I messaggi hanno una routing_key composta dal nome della stazione, al
momento è una sola ed è uguale a "WS" (WindSock)

Il contenuto del messaggio è un docuento JSON con questo formato:

{
  station_id: 'WS',
  time: <>,
  data: {
    pressure: <>,
    temperature: <>,
    humidity: <>,
    dp: <>,
    wind_ok: <>,
    wind_dir: <>,
    wind_speed: <>,
  }
}

- time è l'ora di misurazione del dato
- station_id è il nome della stazione
- pressure è la pressione atmosferica in bar
- temperature è la temperatura in °C
- humidity è l'umidità relativa in %
- dp è il DewPoint in °C
- wind_ok è boolean e dice se il dato del vento è valido
- wind_dir è la direzione in ° rispetto al nord
- wind_speed è la velocità del vento in m/s


Esiste un'interfaccia di supervisione del server AMQP a questa URL, ci
si può collegare con le credenziali di cui sopra:

http://amqp.acao.it:15672/

Ciao,


More information about the It mailing list