7
7
8
8
#if defined(BOARD_HAS_WIFI )
9
9
#elif defined(BOARD_HAS_GSM )
10
+ #elif defined(BOARD_HAS_LORA )
10
11
#else
11
- #error "Arduino IoT Cloud currently only supports MKR1000, MKR WiFi 1010 and MKR GSM 1400"
12
+ #error "Arduino IoT Cloud currently only supports MKR1000, MKR WiFi 1010, MKR GSM 1400 and MKR WAN 1300/1310 "
12
13
#endif
13
14
14
15
/******************************************************************************
@@ -57,6 +58,8 @@ String str_property_8;
57
58
WiFiConnectionHandler ArduinoIoTPreferredConnection (SECRET_SSID , SECRET_PASS );
58
59
#elif defined(BOARD_HAS_GSM )
59
60
GSMConnectionHandler ArduinoIoTPreferredConnection (SECRET_PIN , SECRET_APN , SECRET_LOGIN , SECRET_PASS );
61
+ #elif defined(BOARD_HAS_LORA )
62
+ LoRaConnectionHandler ArduinoIoTPreferredConnection (SECRET_APP_EUI , SECRET_APP_KEY , EU868 );
60
63
#endif
61
64
62
65
/******************************************************************************
@@ -71,7 +74,7 @@ void onStringPropertyChange();
71
74
/******************************************************************************
72
75
FUNCTIONS
73
76
******************************************************************************/
74
-
77
+ #if defined( BOARD_HAS_WIFI ) || defined( BOARD_HAS_GSM )
75
78
void initProperties () {
76
79
ArduinoCloud .setThingId (THING_ID );
77
80
@@ -101,3 +104,35 @@ void initProperties() {
101
104
ArduinoCloud .addProperty (str_property_7 , Permission ::ReadWrite ).publishEvery (1 * SECONDS ).onSync (CLOUD_WINS );
102
105
ArduinoCloud .addProperty (str_property_8 , Permission ::ReadWrite ).publishEvery (1 * SECONDS ).onSync (DEVICE_WINS );
103
106
}
107
+
108
+ #elif defined(BOARD_HAS_LORA )
109
+ void initProperties () {
110
+ ArduinoCloud .setThingId (THING_ID );
111
+
112
+ ArduinoCloud .addProperty (bool_property_1 , 1 , READWRITE , 1 * SECONDS );
113
+ ArduinoCloud .addProperty (int_property_1 , 2 , READ , 2 * MINUTES );
114
+ ArduinoCloud .addProperty (float_property_1 , 3 , WRITE , 3 * HOURS );
115
+ ArduinoCloud .addProperty (str_property_1 , 4 , READWRITE , 4 * DAYS );
116
+
117
+ ArduinoCloud .addProperty (bool_property_2 , 5 , Permission ::ReadWrite ).publishEvery (1 * SECONDS );
118
+ ArduinoCloud .addProperty (int_property_2 , 6 , Permission ::Read ).publishEvery (1 * MINUTES );
119
+ ArduinoCloud .addProperty (float_property_2 , 7 , Permission ::Write ).publishEvery (3 * HOURS );
120
+ ArduinoCloud .addProperty (str_property_2 , 8 , Permission ::ReadWrite ).publishEvery (4 * DAYS );
121
+
122
+ ArduinoCloud .addProperty (int_property_3 , 9 , READWRITE , ON_CHANGE ); /* Default 'minDelta' = 0 */
123
+ ArduinoCloud .addProperty (int_property_4 , 10 , READWRITE , ON_CHANGE , onIntPropertyChange ); /* Default 'minDelta' = 0 */
124
+ ArduinoCloud .addProperty (int_property_5 , 11 , READWRITE , ON_CHANGE , 0 /* onIntPropertyChange */ , MIN_DELTA_INT_PROPERTY );
125
+ ArduinoCloud .addProperty (int_property_6 , 12 , READWRITE , ON_CHANGE , onIntPropertyChange , MIN_DELTA_INT_PROPERTY );
126
+
127
+ ArduinoCloud .addProperty (float_property_3 , 13 , Permission ::ReadWrite ).publishOnChange (MIN_DELTA_FLOAT_PROPERTY );
128
+ ArduinoCloud .addProperty (float_property_4 , 14 , Permission ::ReadWrite ).publishOnChange (MIN_DELTA_FLOAT_PROPERTY ).onUpdate (onFloatPropertyChange );
129
+
130
+ ArduinoCloud .addProperty (str_property_3 , 15 , READWRITE , 1 * SECONDS , 0 /* onStringPropertyChange */ , 0.0 /* 'minDelta' */ , MOST_RECENT_WINS );
131
+ ArduinoCloud .addProperty (str_property_4 , 16 , READWRITE , 1 * SECONDS , 0 /* onStringPropertyChange */ , 0.0 /* 'minDelta' */ , CLOUD_WINS );
132
+ ArduinoCloud .addProperty (str_property_5 , 17 , READWRITE , 1 * SECONDS , 0 /* onStringPropertyChange */ , 0.0 /* 'minDelta' */ , DEVICE_WINS );
133
+
134
+ ArduinoCloud .addProperty (str_property_6 , 18 , Permission ::ReadWrite ).publishEvery (1 * SECONDS ).onSync (MOST_RECENT_WINS );
135
+ ArduinoCloud .addProperty (str_property_7 , 19 , Permission ::ReadWrite ).publishEvery (1 * SECONDS ).onSync (CLOUD_WINS );
136
+ ArduinoCloud .addProperty (str_property_8 , 20 , Permission ::ReadWrite ).publishEvery (1 * SECONDS ).onSync (DEVICE_WINS );
137
+ }
138
+ #endif
0 commit comments