1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #include <SPI.h>
- #include <Ethernet.h>
- #include <PubSubClient.h>
- byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
- IPAddress ip(172, 16, 0, 100);
- IPAddress server(172, 16, 0, 2);
- void callback(char* topic, byte* payload, unsigned int length) {
- Serial.print("Message arrived [");
- Serial.print(topic);
- Serial.print("] ");
- for (int i=0;i<length;i++) {
- Serial.print((char)payload[i]);
- }
- Serial.println();
- }
- EthernetClient ethClient;
- PubSubClient client(ethClient);
- void reconnect() {
-
- while (!client.connected()) {
- Serial.print("Attempting MQTT connection...");
-
- if (client.connect("arduinoClient")) {
- Serial.println("connected");
-
- client.publish("outTopic","hello world");
-
- client.subscribe("inTopic");
- } else {
- Serial.print("failed, rc=");
- Serial.print(client.state());
- Serial.println(" try again in 5 seconds");
-
- delay(5000);
- }
- }
- }
- void setup()
- {
- Serial.begin(57600);
- client.setServer(server, 1883);
- client.setCallback(callback);
- Ethernet.begin(mac, ip);
-
- delay(1500);
- }
- void loop()
- {
- if (!client.connected()) {
- reconnect();
- }
- client.loop();
- }
|