Z-Uno Programmierung IoT für das SmartHome für Arduino™ UI - Z-Uno - SmartHome Z-Wave Modul

Direkt zum Seiteninhalt

Z-Uno Programmierung IoT für das SmartHome für Arduino™ UI

Der Z-Uno kann mit der Arduino Oberfläche programmiert werden.
Diese open-source Arduino Software (IDE)  ist kompatibel zu Windows, LINUX und Mac OSX (bei der Programmierung) und benötigt für die Programmierung des ZWudino nur eine USB-Schnittstelle.

Es gibt hunderte (wenn nicht tausende) fertige Anwendungen und Projekte, die oft sofort eingesetzt - oder an Ihre Bedürfnisse angepasst werden können.
Die Programmieroberfläche ist an die Programmiersprache C++ angelehnt und gut dokumentiert.
Sensoren und Aktoren lassen sich über definierte Schnittstellen ansprechen.

In Abhängigkeit der verfügbaren Z-Wave Klassen in der Z-Uno Firmware lassen sich somit die verschiedensten Geräte realisieren.
Programm-Struktur:
Wir zeigen dieses an Beispiel eines Temperatur-Sensors, der mit der angepassten Bibliothek für den Z-Uno arbeitet.
// Hinzufügen der eventuell benötigten Bibliotheken:
#include "ZUNO_DS18B20.h"
 
// Arduino typische Initialisierung:

// pin connection ds18b20
#define PIN_DS18B20 11
  
OneWire ow(PIN_DS18B20);

// onewire connection temperature sensors
DS18B20Sensor ds1820(&ow);

byte addr1[8];
int temp; // here we will store the temperature

// Initialisierung des Z-Uno, Definition der Kanäle (Gerätetyp):

// set up channel
ZUNO_SETUP_CHANNELS(
   ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_TEMPERATURE,
   SENSOR_MULTILEVEL_SCALE_CELSIUS,
   SENSOR_MULTILEVEL_SIZE_TWO_BYTES,
   SENSOR_MULTILEVEL_PRECISION_TWO_DECIMALS,
   getterTemp)
);
  
// Initialisierung des Z-Uno, Definition des Modus:
// (wenn nicht definiert, dann "always awake" - immer aktiv)

//ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_SLEEPING);
ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_ALWAYS_AWAKE);
//ZUNO_SETUP_SLEEPING_MODE(ZUNO_SLEEPING_MODE_FREQUENTLY_AWAKE);

// Beginn Arduino Code:

void setup() {
 Serial.begin();             // Ohne Baudrate!
 Serial.println("start");
}
   
void loop() {
 ds1820.scanAloneSensor(addr1);
 // obtaining readings from the sensor ds18b20
 float mytemp = ds1820.getTemperature(addr1);
 // make scaled word value for report
 temp=int(mytemp *100);
 Serial.print("Your sensor address is: ");
 for(int i = 0; i < 8; i++) {
   // print OneWire code
   Serial.print(addr1[i], HEX);
   Serial.print(" ");
 }
 Serial.println();
 Serial.print("Temperature: ");
 Serial.println(mytemp);
 // send data to channel
 zunoSendReport(1);         // Wert an Gateway senden
 // send every 30 second
 delay(30000);              // Keine Übertragung an das Gateway <30 Sek.
}

// Rückgabe-Funktion für den Z-Uno, wird von zunoSendReport verwendet

int getterTemp() {
 return temp;
}
Copyright 2018 Michael Prüfer
Zurück zum Seiteninhalt