77
88#if defined(BOARD_HAS_WIFI )
99#elif defined(BOARD_HAS_GSM )
10+ #elif defined(BOARD_HAS_LORA )
1011#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 "
1213#endif
1314
1415/******************************************************************************
@@ -57,6 +58,8 @@ String str_property_8;
5758 WiFiConnectionHandler ArduinoIoTPreferredConnection (SECRET_SSID , SECRET_PASS );
5859#elif defined(BOARD_HAS_GSM )
5960 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 );
6063#endif
6164
6265/******************************************************************************
@@ -71,7 +74,7 @@ void onStringPropertyChange();
7174/******************************************************************************
7275 FUNCTIONS
7376 ******************************************************************************/
74-
77+ #if defined( BOARD_HAS_WIFI ) || defined( BOARD_HAS_GSM )
7578void initProperties () {
7679 ArduinoCloud .setThingId (THING_ID );
7780
@@ -101,3 +104,35 @@ void initProperties() {
101104 ArduinoCloud .addProperty (str_property_7 , Permission ::ReadWrite ).publishEvery (1 * SECONDS ).onSync (CLOUD_WINS );
102105 ArduinoCloud .addProperty (str_property_8 , Permission ::ReadWrite ).publishEvery (1 * SECONDS ).onSync (DEVICE_WINS );
103106}
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