# LoRa-mqtt [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FIoTcat%2FLoRa-mqtt.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FIoTcat%2FLoRa-mqtt?ref=badge_shield) ![size](https://badge-size.herokuapp.com/iotcat/LoRa-mqtt/master/lora-mqtt.h) Use MQTT in LoRa communication.. [简体中文](./zh.md) ## Usage - with Callback Functions ```C++ #define LORA_SOCKET_IP "1.0.0.1" //need to be unique #include "lora-mqtt.h" LoRaMQTT mqtt; void setup(){ mqtt.ini(); //initalization mqtt.onReceived(doIfRec); //register callback functions which will be executed when received message mqtt.subscribe("Subject"); //subscribe MQTT subject } void doIfRec(String subject, String content){ //When received message this function will be executed. mqtt.publish("Subject", "Content"); //publish a mqtt message } void loop(){ //No delay() could be used in loop() mqtt.core(); //Mqtt service core } ``` ## Usage - with If in loop() ```C++ #define LORA_SOCKET_IP "1.0.0.1" //need to be unique #include "lora-mqtt.h" LoRaMQTT mqtt; void setup(){ mqtt.ini(); //initalization mqtt.subscribe("Subject"); //subscribe MQTT subject } void loop(){ //When received message this function will be executed. if(mqtt.isNewMsg()){ String subject, content; mqtt.getNewMsg(subject, content); Serial.println(subject, content); } mqtt.core(); //Mqtt service core } ```