Simple MQTT
#include <Arduino.h>
#include <nbClient.h>
#include <PubSubClient.h> //
nbClient tcp;
IPAddress server(0, 0, 0, 0);
void callback(char *topic, byte *payload, unsigned int length)
{
Serial.printf("[RECEIVE] (%s) %.*s\n", topic, length, payload);
}
PubSubClient client(server, 1883, callback, tcp);
void mqtt_setup()
{
Serial.println("Test MQTT");
if (client.connect("arduinoClient", "user", "pass"))
{
client.publish("outTopic", "hello world");
Serial.println("publish...");
client.subscribe("inTopic");
Serial.println("subscribe...");
}
}
void setup()
{
String imei;
Dev.noSleep();
Serial.begin(115200);
Serial.printf("Arduino %s\n", Dev.getVersion());
pinMode(LED, OUTPUT);
Dev.getImei(imei);
Serial.printf("IMEI %s\n", imei.c_str());
Dev.waitSimReady();
Serial.println("Sim Ready");
Dev.waitCereg();
delay(200);
Serial.println("Net Ready");
mqtt_setup();
}
void loop()
{
static int led = 0, cnt = 0;
if (++cnt % 50 == 0)
{
digitalWrite(LED, ++led & 1);
}
client.loop();
}
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.