Projet Bee-Honey't  1.0
BTS SN 2019
Fonctions membres publiques | Attributs publics | Attributs publics statiques | Fonctions membres privées | Attributs privés | Attributs privés statiques | Liste de tous les membres
Référence de la classe fr.campus.laurainc.honeybee.ClientMQTT
Graphe de collaboration de fr.campus.laurainc.honeybee.ClientMQTT:
Collaboration graph

Fonctions membres publiques

 ClientMQTT (String deviceID, String topic, Context context)
 
void setCallback (MqttCallbackExtended callback)
 
void deconnecter ()
 
void souscrireTopic ()
 
void desinscrireTopic ()
 
boolean estConnecte ()
 
boolean estInscrit ()
 
void setSubscriptionTopic (String subscriptionTopic)
 
double extraireHumiditeInterieure (MqttMessage mqttMessage)
 
double extraireTemperatureInterieure (MqttMessage mqttMessage)
 
int extrairePoids (MqttMessage mqttMessage)
 
String extraireHorodatage (MqttMessage mqttMessage)
 
double arrondir (double nombre, double nbApresVirgule)
 

Attributs publics

MqttAndroidClient mqttAndroidClient
 

Attributs publics statiques

static final int PORT_MESURE_ENERGIE = 1
 
static final int PORT_MESURE_POIDS = 2
 
static final int PORT_MESURE_RUCHE = 3
 
static final int PORT_MESURE_ENVIRONEMENT = 4
 
static final int PORT_MESURE_ENSOLEILLEMENT = 5
 

Fonctions membres privées

void connecter ()
 

Attributs privés

String serverUri = "tcp://eu.thethings.network:1883"
 
String clientId = "mes_ruches"
 
String username = "mes_ruches"
 
String password = "ttn-account-v2.vC-aqMRnLLzGkNjODWgy81kLqzxBPAT8_mE-L7U2C_w"
 
String subscriptionTopic
 
boolean connecte
 
boolean inscrit
 

Attributs privés statiques

static final String TAG = "ClientMQTT"
 le TAG de la classe pour les logs Plus de détails...
 

Documentation des constructeurs et destructeur

◆ ClientMQTT()

fr.campus.laurainc.honeybee.ClientMQTT.ClientMQTT ( String  deviceID,
String  topic,
Context  context 
)

Références fr.campus.laurainc.honeybee.ClientMQTT.connecter(), et fr.campus.laurainc.honeybee.ClientMQTT.setSubscriptionTopic().

39  {
40  Log.v(TAG, "deviceID : " + deviceID + " topic : " + topic);
41  setSubscriptionTopic(topic);
42  connecte = false;
43  inscrit = false;
44  mqttAndroidClient = new MqttAndroidClient(context, serverUri, clientId);
45  mqttAndroidClient.setCallback(new MqttCallbackExtended()
46  {
47  @Override
48  public void connectComplete(boolean b, String s) {
49  Log.w(TAG, s);
50  }
51 
52  @Override
53  public void connectionLost(Throwable throwable) {
54  Log.w(TAG, "Connexion perdue avec le serveur");
55  connecte = false;
56  }
57 
58  @Override
59  public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
60  Log.w(TAG, mqttMessage.toString());
61  }
62 
63  @Override
64  public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {Log.w("mqtt", "Message envoyé");}
65  });
66 
67  connecter();
68  }
boolean inscrit
Definition: ClientMQTT.java:31
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23
MqttAndroidClient mqttAndroidClient
Definition: ClientMQTT.java:24
boolean connecte
Definition: ClientMQTT.java:30
void setSubscriptionTopic(String subscriptionTopic)
Definition: ClientMQTT.java:184
String serverUri
Definition: ClientMQTT.java:25
String clientId
Definition: ClientMQTT.java:26
void connecter()
Definition: ClientMQTT.java:74

Documentation des fonctions membres

◆ arrondir()

double fr.campus.laurainc.honeybee.ClientMQTT.arrondir ( double  nombre,
double  nbApresVirgule 
)

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.afficherPoids().

280  {
281  return(double)((int)(nombre * Math.pow(10,nbApresVirgule) + .5)) / Math.pow(10,nbApresVirgule);
282  }

◆ connecter()

void fr.campus.laurainc.honeybee.ClientMQTT.connecter ( )
private

Références fr.campus.laurainc.honeybee.ClientMQTT.souscrireTopic().

Référencé par fr.campus.laurainc.honeybee.ClientMQTT.ClientMQTT().

74  {
75  MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();
76  mqttConnectOptions.setAutomaticReconnect(true);
77  mqttConnectOptions.setCleanSession(false);
78  mqttConnectOptions.setUserName(username);
79  mqttConnectOptions.setPassword(password.toCharArray());
80 
81  try {
82  Log.d(TAG, "Connexion au serveur : " + serverUri);
83  mqttAndroidClient.connect(mqttConnectOptions, null, new IMqttActionListener() {
84  @Override
85  public void onSuccess(IMqttToken asyncActionToken) {
86  DisconnectedBufferOptions disconnectedBufferOptions = new DisconnectedBufferOptions();
87  disconnectedBufferOptions.setBufferEnabled(true);
88  disconnectedBufferOptions.setBufferSize(100);
89  disconnectedBufferOptions.setPersistBuffer(false);
90  disconnectedBufferOptions.setDeleteOldestMessages(false);
91  mqttAndroidClient.setBufferOpts(disconnectedBufferOptions);
92  connecte = true;
94  Log.d(TAG, "Connecté au serveur : " + serverUri);
95  }
96 
97  @Override
98  public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
99  Log.d(TAG, "Impossible de se connecter au serveur : " + serverUri + exception.toString());
100  }
101  });
102  } catch (MqttException ex){
103  ex.printStackTrace();
104  }
105  } // Méthode permettant de se connecter
String username
Definition: ClientMQTT.java:27
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23
MqttAndroidClient mqttAndroidClient
Definition: ClientMQTT.java:24
void souscrireTopic()
Definition: ClientMQTT.java:130
String password
Definition: ClientMQTT.java:28
boolean connecte
Definition: ClientMQTT.java:30
String serverUri
Definition: ClientMQTT.java:25

◆ deconnecter()

void fr.campus.laurainc.honeybee.ClientMQTT.deconnecter ( )

Références fr.campus.laurainc.honeybee.ClientMQTT.desinscrireTopic(), et fr.campus.laurainc.honeybee.ClientMQTT.estInscrit().

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.afficherListeRuches().

107  {
108  try {
109  if(estInscrit())
111 
112  IMqttToken disconToken = mqttAndroidClient.disconnect();
113  disconToken.setActionCallback(new IMqttActionListener() {
114  @Override
115  public void onSuccess(IMqttToken asyncActionToken) {
116  Log.d(TAG, "Déconnecté du serveur : " + serverUri);
117  connecte = false;
118  }
119 
120  @Override
121  public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
122  Log.d(TAG, "Impossible de se déconnecter du serveur : " + serverUri + exception.toString());
123  }
124  });
125  } catch (MqttException e) {
126  e.printStackTrace();
127  }
128  }
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23
MqttAndroidClient mqttAndroidClient
Definition: ClientMQTT.java:24
boolean estInscrit()
Definition: ClientMQTT.java:179
boolean connecte
Definition: ClientMQTT.java:30
void desinscrireTopic()
Definition: ClientMQTT.java:152
String serverUri
Definition: ClientMQTT.java:25

◆ desinscrireTopic()

void fr.campus.laurainc.honeybee.ClientMQTT.desinscrireTopic ( )

Référencé par fr.campus.laurainc.honeybee.ClientMQTT.deconnecter().

152  {
153  try {
154  IMqttToken unsubToken = mqttAndroidClient.unsubscribe(subscriptionTopic);
155  unsubToken.setActionCallback(new IMqttActionListener() {
156  @Override
157  public void onSuccess(IMqttToken asyncActionToken) {
158  Log.w(TAG,"Désabonné du topic " + subscriptionTopic);
159  inscrit = false;
160  }
161 
162  @Override
163  public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
164  Log.w(TAG, "Impossible de se désabonner du topic");
165  }
166  });
167  } catch (MqttException e) {
168  e.printStackTrace();
169  }
170  }
boolean inscrit
Definition: ClientMQTT.java:31
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23
MqttAndroidClient mqttAndroidClient
Definition: ClientMQTT.java:24
String subscriptionTopic
Definition: ClientMQTT.java:29

◆ estConnecte()

boolean fr.campus.laurainc.honeybee.ClientMQTT.estConnecte ( )

Références fr.campus.laurainc.honeybee.ClientMQTT.connecte.

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.afficherListeRuches().

172  {
173  Log.w(TAG,"isConnected " + mqttAndroidClient.isConnected());
174  Log.w(TAG,"connecte " + connecte);
175  //return mqttAndroidClient.isConnected();
176  return connecte;
177  }
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23
MqttAndroidClient mqttAndroidClient
Definition: ClientMQTT.java:24
boolean connecte
Definition: ClientMQTT.java:30

◆ estInscrit()

boolean fr.campus.laurainc.honeybee.ClientMQTT.estInscrit ( )

Références fr.campus.laurainc.honeybee.ClientMQTT.inscrit.

Référencé par fr.campus.laurainc.honeybee.ClientMQTT.deconnecter().

179  {
180  Log.w(TAG,"inscrit " + inscrit);
181  return inscrit;
182  }
boolean inscrit
Definition: ClientMQTT.java:31
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23

◆ extraireHorodatage()

String fr.campus.laurainc.honeybee.ClientMQTT.extraireHorodatage ( MqttMessage  mqttMessage)

Référencé par fr.campus.laurainc.honeybee.ClientMQTT.extraireHumiditeInterieure(), fr.campus.laurainc.honeybee.ClientMQTT.extrairePoids(), fr.campus.laurainc.honeybee.ClientMQTT.extraireTemperatureInterieure(), et fr.campus.laurainc.honeybee.DashboardActivity.traiterMessage().

259  {
260  final String message = mqttMessage.toString();
261  String date = "";
262 
263  try
264  {
265  JSONObject jsonObject = new JSONObject(message);
266  date = jsonObject.getJSONObject("metadata").getString("time");
267  date = date.substring(0, 10) + " " + date.substring(11, 19);
268  Log.d(TAG, "Horodatage : " + date);
269 
270  }
271  catch (JSONException e)
272  {
273  e.printStackTrace();
274  }
275 
276  return date;
277  }
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23

◆ extraireHumiditeInterieure()

double fr.campus.laurainc.honeybee.ClientMQTT.extraireHumiditeInterieure ( MqttMessage  mqttMessage)

Références fr.campus.laurainc.honeybee.ClientMQTT.extraireHorodatage().

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.traiterMessage().

189  {
190  final String message = mqttMessage.toString();
191  double humidite = 0.;
192 
193  try
194  {
195  JSONObject jsonObjet = new JSONObject(message);
196  JSONObject payloadFields = jsonObjet.getJSONObject("payload_fields");
197  humidite = payloadFields.getDouble("humidite");
198  Log.d(TAG, "Humidite intérieure : " + humidite + " %");
199 
200  extraireHorodatage(mqttMessage);
201  }
202  catch (JSONException e)
203  {
204  e.printStackTrace();
205  }
206 
207  return humidite;
208  }
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23
String extraireHorodatage(MqttMessage mqttMessage)
Definition: ClientMQTT.java:258

◆ extrairePoids()

int fr.campus.laurainc.honeybee.ClientMQTT.extrairePoids ( MqttMessage  mqttMessage)

Références fr.campus.laurainc.honeybee.ClientMQTT.extraireHorodatage().

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.traiterMessage().

233  {
234  final String message = mqttMessage.toString();
235  int poids = 0;
236 
237  try
238  {
239  JSONObject jsonObjet = new JSONObject(message);
240  /*String payloadRaw = jsonObjet.getString("payload_raw");
241  byte[] datas = Base64.decode(payloadRaw, Base64.DEFAULT);
242  poids = ((datas[0] << 8) | datas[1]);*/
243  String payload = jsonObjet.getString("payload_fields");
244  payload = payload.substring(9, 13);
245  poids = Integer.parseInt(payload);
246  Log.d(TAG, "Poids : " + poids + " g");
247 
248  extraireHorodatage(mqttMessage);
249  }
250  catch (JSONException e)
251  {
252  e.printStackTrace();
253  }
254 
255  return poids;
256  }
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23
String extraireHorodatage(MqttMessage mqttMessage)
Definition: ClientMQTT.java:258

◆ extraireTemperatureInterieure()

double fr.campus.laurainc.honeybee.ClientMQTT.extraireTemperatureInterieure ( MqttMessage  mqttMessage)

Références fr.campus.laurainc.honeybee.ClientMQTT.extraireHorodatage().

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.traiterMessage().

211  {
212  final String message = mqttMessage.toString();
213  double temperature = 0.;
214 
215  try
216  {
217  JSONObject jsonObjet = new JSONObject(message);
218  JSONObject payloadFields = jsonObjet.getJSONObject("payload_fields");
219  temperature = payloadFields.getDouble("temperature");
220  Log.d(TAG, "Température : " + temperature + " °C");
221 
222  extraireHorodatage(mqttMessage);
223  }
224  catch (JSONException e)
225  {
226  e.printStackTrace();
227  }
228 
229  return temperature;
230  }
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23
String extraireHorodatage(MqttMessage mqttMessage)
Definition: ClientMQTT.java:258

◆ setCallback()

void fr.campus.laurainc.honeybee.ClientMQTT.setCallback ( MqttCallbackExtended  callback)

Référencé par fr.campus.laurainc.honeybee.DashboardActivity.communiquerTTN().

70  {
71  mqttAndroidClient.setCallback(callback);
72  }
MqttAndroidClient mqttAndroidClient
Definition: ClientMQTT.java:24

◆ setSubscriptionTopic()

void fr.campus.laurainc.honeybee.ClientMQTT.setSubscriptionTopic ( String  subscriptionTopic)

◆ souscrireTopic()

void fr.campus.laurainc.honeybee.ClientMQTT.souscrireTopic ( )

Référencé par fr.campus.laurainc.honeybee.ClientMQTT.connecter().

130  {
131  try {
132  mqttAndroidClient.subscribe(subscriptionTopic, 0, null, new IMqttActionListener() {
133  @Override
134  public void onSuccess(IMqttToken asyncActionToken) {
135  Log.w(TAG,"Abonné au topic " + subscriptionTopic);
136  inscrit = true;
137  }
138 
139  @Override
140  public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
141  Log.w(TAG, "Impossible de s'abonner du topic");
142  inscrit = false;
143  }
144  });
145 
146  } catch (MqttException ex) {
147  System.err.println("Exceptionst subscribing");
148  ex.printStackTrace();
149  }
150  } // Abonnement à un topic
boolean inscrit
Definition: ClientMQTT.java:31
static final String TAG
le TAG de la classe pour les logs
Definition: ClientMQTT.java:23
MqttAndroidClient mqttAndroidClient
Definition: ClientMQTT.java:24
String subscriptionTopic
Definition: ClientMQTT.java:29

Documentation des données membres

◆ clientId

String fr.campus.laurainc.honeybee.ClientMQTT.clientId = "mes_ruches"
private

◆ connecte

boolean fr.campus.laurainc.honeybee.ClientMQTT.connecte
private

◆ inscrit

boolean fr.campus.laurainc.honeybee.ClientMQTT.inscrit
private

◆ mqttAndroidClient

MqttAndroidClient fr.campus.laurainc.honeybee.ClientMQTT.mqttAndroidClient

◆ password

String fr.campus.laurainc.honeybee.ClientMQTT.password = "ttn-account-v2.vC-aqMRnLLzGkNjODWgy81kLqzxBPAT8_mE-L7U2C_w"
private

◆ PORT_MESURE_ENERGIE

final int fr.campus.laurainc.honeybee.ClientMQTT.PORT_MESURE_ENERGIE = 1
static

◆ PORT_MESURE_ENSOLEILLEMENT

final int fr.campus.laurainc.honeybee.ClientMQTT.PORT_MESURE_ENSOLEILLEMENT = 5
static

◆ PORT_MESURE_ENVIRONEMENT

final int fr.campus.laurainc.honeybee.ClientMQTT.PORT_MESURE_ENVIRONEMENT = 4
static

◆ PORT_MESURE_POIDS

final int fr.campus.laurainc.honeybee.ClientMQTT.PORT_MESURE_POIDS = 2
static

◆ PORT_MESURE_RUCHE

final int fr.campus.laurainc.honeybee.ClientMQTT.PORT_MESURE_RUCHE = 3
static

◆ serverUri

String fr.campus.laurainc.honeybee.ClientMQTT.serverUri = "tcp://eu.thethings.network:1883"
private

◆ subscriptionTopic

String fr.campus.laurainc.honeybee.ClientMQTT.subscriptionTopic
private

◆ TAG

final String fr.campus.laurainc.honeybee.ClientMQTT.TAG = "ClientMQTT"
staticprivate

◆ username

String fr.campus.laurainc.honeybee.ClientMQTT.username = "mes_ruches"
private

La documentation de cette classe a été générée à partir du fichier suivant :