...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>opendevice-tutorial</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <opendevice-version>0.1.2-SNAPSHOT</opendevice-version> </properties> <dependencies> <dependency> <groupId>br.com.criativasoft.opendevice</groupId> <artifactId>opendevice-connection-stream</artifactId> <version>${opendevice-version}</version> </dependency> <dependency> <groupId>br.com.criativasoft.opendevice</groupId> <artifactId>opendevice-core</artifactId> <version>${opendevice-version}</version> </dependency> </dependencies> <repositories> <repository> <id>oss.sonatype.org</id> <url>https://oss.sonatype.org/content/repositories/releases</url> </repository> <repository> <id>oss.sonatype.org-snapshot</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </repository> </repositories> </project> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
import br.com.criativasoft.opendevice.core.SimpleDeviceManager; import br.com.criativasoft.opendevice.core.connection.Connections; import br.com.criativasoft.opendevice.core.model.Device; import br.com.criativasoft.opendevice.core.model.DeviceType; public class Demo extends SimpleDeviceManager { public static void main(String[] args) throws Exception { new Demo(); } public Demo() throws Exception { Device led = new Device(1, DeviceType.DIGITAL); // setup connection with arduino/hardware addOutput(Connections.out.usb()); // Connect to first USB port available connect(); addDevice(led); while(true){ led.on(); delay(200); led.off(); delay(200); } } } |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
import br.com.criativasoft.opendevice.connection.ConnectionListener; import br.com.criativasoft.opendevice.connection.ConnectionStatus; import br.com.criativasoft.opendevice.connection.DeviceConnection; import br.com.criativasoft.opendevice.connection.message.Message; import br.com.criativasoft.opendevice.core.command.DeviceCommand; import br.com.criativasoft.opendevice.core.connection.Connections; public class BlinkCommandDemo implements ConnectionListener { public BlinkCommandDemo() throws Exception { DeviceConnection conn = Connections.out.usb(); conn.addListener(this); conn.connect(); long delay = 500; while(conn.isConnected()) { conn.send(DeviceCommand.ON(1)); // '1' is Device ID not pin ! Thread.sleep(delay); conn.send(DeviceCommand.OFF(1)); Thread.sleep(delay); } System.out.println("TERMINATED !"); } public static void main(String[] args) throws Exception { new BlinkCommandDemo(); } // ------------------------------------------------------------ // ------------- ConnectionListener Impl -------------------------- public void onMessageReceived(Message message, DeviceConnection connection) { String type = message.getClass().getSimpleName(); System.out.println("onMessageReceived("+type+"): "+ message); } public void connectionStateChanged(DeviceConnection connection, ConnectionStatus status) { System.out.println("connectionStateChanged : " + status); } } |
...
Reference: http://openenergymonitor.org/emon/buildingblocks/mains-ac-relay-module
Tutorial: http://www.instructables.com/id/Connecting-a-12V-Relay-to-Arduino/
See next step: B. Adding REST Support
Troubleshooting
If you have a problem, check this guide: Troubleshooting