initial
This commit is contained in:
66
src/main/java/de/hottis/mbusMaster/MbusMaster.java
Normal file
66
src/main/java/de/hottis/mbusMaster/MbusMaster.java
Normal file
@ -0,0 +1,66 @@
|
||||
package de.hottis.mbusMaster;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.BufferedReader;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
|
||||
public class MbusMaster {
|
||||
static final String PROPS_FILENAME = "mbusMaster.props";
|
||||
static final Logger logger = LogManager.getRootLogger();
|
||||
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
logger.info("MbusMaster starting");
|
||||
|
||||
/*
|
||||
final Properties config = new Properties();
|
||||
try (FileInputStream propsFileInputStream = new FileInputStream(PROPS_FILENAME)) {
|
||||
config.load(propsFileInputStream);
|
||||
}
|
||||
logger.debug("Configuration loaded");
|
||||
*/
|
||||
|
||||
ProcessBuilder pb = new ProcessBuilder("/usr/local/bin/mbusgw", "-l", "-v");
|
||||
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
|
||||
Process p = pb.start();
|
||||
System.out.println("Process started");
|
||||
|
||||
|
||||
|
||||
InputStream i = p.getInputStream();
|
||||
OutputStream o = p.getOutputStream();
|
||||
System.out.println("Streams collected");
|
||||
|
||||
byte[] b = { 0x5b, 80 };
|
||||
|
||||
o.write(b);
|
||||
System.out.println("Data written");
|
||||
|
||||
o.flush();
|
||||
System.out.println("Data flushed");
|
||||
|
||||
|
||||
byte[] header = new byte[2];
|
||||
int n = i.read(header, 0, 2);
|
||||
int responseCode = Byte.toUnsignedInt(header[0]);
|
||||
int responseLen = Byte.toUnsignedInt(header[1]);
|
||||
System.out.println("n: " + n + ", h: " + responseCode + ", l: " + responseLen);
|
||||
|
||||
byte[] frame = new byte[responseLen];
|
||||
n = i.read(frame, 0, responseLen);
|
||||
for (byte x : frame) {
|
||||
System.out.print(Integer.toHexString(Byte.toUnsignedInt(x)) + " ");
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
17
src/main/resources/log4j2.xml
Normal file
17
src/main/resources/log4j2.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration debug="false">
|
||||
<Appenders>
|
||||
<Console name="ConsoleAppender" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="%d [%t, %F, %L] %-5level - %msg%n%throwable"/>
|
||||
</Console>
|
||||
<File name="FileAppender" fileName="/tmp/mqttMBusConverter.log">
|
||||
<PatternLayout pattern="%d [%t, %F, %L] %-5level - %msg%n%throwable"/>
|
||||
</File>
|
||||
</Appenders>
|
||||
<Loggers>
|
||||
<Root level="debug">
|
||||
<AppenderRef ref="ConsoleAppender"/>
|
||||
<AppenderRef ref="FileAppender"/>
|
||||
</Root>
|
||||
</Loggers>
|
||||
</Configuration>
|
38
src/test/java/de/hottis/mbusMaster/AppTest.java
Normal file
38
src/test/java/de/hottis/mbusMaster/AppTest.java
Normal file
@ -0,0 +1,38 @@
|
||||
package de.hottis.mbusMaster;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
/**
|
||||
* Unit test for simple App.
|
||||
*/
|
||||
public class AppTest
|
||||
extends TestCase
|
||||
{
|
||||
/**
|
||||
* Create the test case
|
||||
*
|
||||
* @param testName name of the test case
|
||||
*/
|
||||
public AppTest( String testName )
|
||||
{
|
||||
super( testName );
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the suite of tests being tested
|
||||
*/
|
||||
public static Test suite()
|
||||
{
|
||||
return new TestSuite( AppTest.class );
|
||||
}
|
||||
|
||||
/**
|
||||
* Rigourous Test :-)
|
||||
*/
|
||||
public void testApp()
|
||||
{
|
||||
assertTrue( true );
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user