| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // This example uses an Arduino Yun or a Yun-Shield
- // and the MQTTClient to connect to shiftr.io.
- //
- // You can check on your device after a successful
- // connection here: https://shiftr.io/try.
- //
- // by Joël Gähwiler
- // https://github.com/256dpi/arduino-mqtt
- #include <Bridge.h>
- #include <BridgeSSLClient.h>
- #include <MQTT.h>
- BridgeSSLClient net;
- MQTTClient client;
- unsigned long lastMillis = 0;
- void connect() {
- Serial.print("connecting...");
- while (!client.connect("arduino", "try", "try")) {
- Serial.print(".");
- delay(1000);
- }
- Serial.println("\nconnected!");
- client.subscribe("/hello");
- // client.unsubscribe("/hello");
- }
- void messageReceived(String &topic, String &payload) {
- Serial.println("incoming: " + topic + " - " + payload);
- }
- void setup() {
- Bridge.begin();
- Serial.begin(115200);
- // Note: Local domain names (e.g. "Computer.local" on OSX) are not supported by Arduino.
- // You need to set the IP address directly.
- //
- // MQTT brokers usually use port 8883 for secure connections.
- client.begin("broker.shiftr.io", 8883, net);
- client.onMessage(messageReceived);
- connect();
- }
- void loop() {
- client.loop();
- if (!client.connected()) {
- connect();
- }
- // publish a message roughly every second.
- if (millis() - lastMillis > 1000) {
- lastMillis = millis();
- client.publish("/hello", "world");
- }
- }
|