Skip to content

Commit 9ca264b

Browse files
author
Steve Trease
committed
Merge branch 'master' of github.com:stevetrease/Arduino
2 parents f994b5f + 39d86ee commit 9ca264b

File tree

1 file changed

+27
-25
lines changed

1 file changed

+27
-25
lines changed

Jeenode_3/Nanode_3_receiver_with_MQTT/Nanode_3_receiver_with_MQTT.ino

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ NanodeMQTT mqtt(&uip);
1414
#define GREEN_LED 5
1515
#define RED_LED 6
1616

17+
#define ON LOW
18+
#define OFF HIGH
19+
1720

1821
// this must be added since we're using the watchdog for low-power waiting
1922
// ISR(WDT_vect) { Sleepy::watchdogEvent(); }
@@ -23,10 +26,10 @@ char topic[STRING_BUFFER];
2326
char message[STRING_BUFFER];
2427

2528
// Payload data structure
26-
typedef struct {
27-
int nodeid; // sending node ID
29+
typedef struct {
30+
int nodeid; // sending node ID
2831
char type;
29-
float data;
32+
float data;
3033
} Payload;
3134
Payload data;
3235

@@ -35,6 +38,11 @@ Payload data;
3538
void setup() {
3639
byte macaddr[6];
3740
NanodeUNIO unio(NANODE_MAC_DEVICE);
41+
42+
pinMode(RED_LED, OUTPUT);
43+
pinMode(GREEN_LED, OUTPUT);
44+
digitalWrite(RED_LED, OFF);
45+
digitalWrite(GREEN_LED, ON);
3846

3947
Serial.begin(57600);
4048
Serial.println("Initialising...");
@@ -51,18 +59,17 @@ void setup() {
5159

5260
// FIXME: resolve using DNS instead
5361
mqtt.set_server_addr(192, 168, 1, 103);
54-
Serial.println("1");
5562
mqtt.connect();
56-
Serial.println("2");
5763
rf12_initialize(RF_NODEID, RF12_868MHZ, RF_CHANNEL);
58-
Serial.println("3");
64+
mqtt.publish("test", "nanode booted");
65+
digitalWrite(GREEN_LED, OFF);
5966
}
6067

6168

6269
void loop() {
6370

6471
uip.poll();
65-
Serial.print(".");
72+
// Serial.print(".");
6673

6774
if (rf12_recvDone()) {
6875
if (rf12_crc == 0) {
@@ -77,32 +84,27 @@ void loop() {
7784
Serial.print(data.data);
7885
Serial.println();
7986

80-
sprintf (topic, "nanode/sensor/%d", data.nodeid);
81-
dtostrf(data.data, 4, 2, message);
82-
83-
// Serial.print(topic);
84-
// Serial.print(", ");
85-
// Serial.println(message);
86-
87-
88-
89-
87+
sprintf (topic, "nanode/sensor/%d/%c", data.nodeid, data.type);
88+
dtostrf(data.data, 10, 8, message);
89+
9090
if (mqtt.connected()) {
91+
digitalWrite(GREEN_LED, OFF);
92+
digitalWrite(RED_LED, ON);
93+
9194
Serial.print("Publishing ");
9295
Serial.print(topic);
93-
Serial.print(":");
96+
Serial.print(" : ");
9497
Serial.println(message);
9598

9699
mqtt.publish(topic, message);
97-
mqtt.publish("Test", "Hello World!");
98-
Serial.println("Published.");
100+
101+
digitalWrite(RED_LED, OFF);
102+
} else {
103+
digitalWrite(RED_LED, ON);
104+
digitalWrite(GREEN_LED, ON);
99105

100-
// quick flash on publish
101-
digitalWrite(RED_LED, LOW);
102-
delay(50);
103-
digitalWrite(RED_LED, HIGH);
106+
Serial.println("not connected");
104107
}
105108
}
106109
}
107110
}
108-

0 commit comments

Comments
 (0)