Table of Contents
SCS2021 - Worklogs
<WRAP center round todo 60%> todo box </WRAP>
1. 20201112 - Open - Health-5G handover
1.1 Inova Health-5G
- AWS server from Inova receives data from T-shirt. And we connect to AWS to get the data.
- Agent and kms on IoT box. Agent connect T-shirt to kms.
- Get data from the IoT box over kafka or MQTT –> DS setup agent and kms and documentation.
1.2 TBD
2. 20201108 - 20201112
2.1 Setup Kura
Setup workspace
- Install latest eclipse (requires java-11 up).
- Open kura folder as workspace. Using eclipse kura.
- Import porjects from folder.
Run kura docker bind dockerport:hostport:
sudo docker run -d --name kura -p 8080:8080 -p 1883:1883 -t eclipse/kura
Setup kura simple MQTT broker (artemis)
- user:passwd mqtt:mqtt
Install MQTT server on AWS EC2
- AWS VM: 172.31.40.169/20
- user:pass mqtt:mqtt
Setup MQTT relay from kura to AWS
- Set artemis (kura) mqtt to listen on 0.0.0.0
- Listen to all topic. Wildcard #: user(mqtt)/#
2.1.1 Troubleshooting
- attach docker: docker exec -it <container name> /bin/bash
- attach docker-compose: docker-compose exec service /bin/bash
- mosquitto sub: mosquittosub -v -u mqtt -d -t # * karaf log: tail -n 200 /var/log/kura.log * OSGI console: telnet 127.0.0.1 5002 * wrong message coding: https://www.eclipse.org/forums/index.php/t/1088415/ (see attached txt) * https://www.eclipse.org/forums/index.php/t/1065163/ * Decode the body using an online base64 decoder shows the correct message. * Write custom publisher: * https://www.eclipse.org/forums/index.php/t/1086532/ * heater demo: https://eclipse.github.io/kura/dev/heater_demo.html
2.1.1.1 Message encoding mismatch - logs
<code> 2020-11-09T20:09:56,556 [MQTT Call: AwsIot] INFO o.e.k.c.c.CloudServiceImpl - Message arrived on topic: mqtt/AwsIot/cloudcat/in 2020-11-09T20:09:56,556 [MQTT Call: AwsIot] WARN o.e.k.i.j.m.u.m.CloudPayloadJsonDecoder - Cannot parse Json java.lang.IllegalArgumentException: Unrecognized value: hello at org.eclipse.kura.internal.json.marshaller.unmarshaller.message.CloudPayloadJsonDecoder.buildFromString(CloudPayloadJsonDecoder.java:79) at org.eclipse.kura.internal.json.marshaller.unmarshaller.JsonMarshallUnmarshallImpl.unmarshal(JsonMarshallUnmarshallImpl.java:43) at org.eclipse.kura.core.cloud.CloudServiceImpl.createKuraPayloadFromJson(CloudServiceImpl.java:874) at org.eclipse.kura.core.cloud.CloudServiceImpl.encodeKuraPayload(CloudServiceImpl.java:562) at org.eclipse.kura.core.cloud.CloudServiceImpl.onMessageArrived(CloudServiceImpl.java:537) at org.eclipse.kura.core.data.DataServiceListenerS.onMessageArrived(DataServiceListenerS.java:173) at org.eclipse.kura.core.data.DataServiceImpl.onMessageArrived(DataServiceImpl.java:437) at org.eclipse.kura.core.data.transport.mqtt.DataTransportListenerS.onMessageArrived(DataTransportListenerS.java:229) at org.eclipse.kura.core.data.transport.mqtt.MqttDataTransport.messageArrived(MqttDataTransport.java:655) at org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:513) at org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:416) at org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:213) at java.lang.Thread.run(Thread.java:748) 2020-11-09T20:09:56,557 [MQTT Call: AwsIot] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic: #account-name/#client-id/external-sensor/in, priority: 5 2020-11-09T20:09:56,559 [MQTT Call: AwsIot] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic: #account-name/#client-id/external-sensor/in, priority: 5 2020-11-09T20:09:56,561 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: mqtt/cloudcat-relay/external-sensor/in with QoS: 0 2020-11-09T20:09:56,566 [MQTT Call: cloudcat-relay] INFO o.e.k.c.c.CloudServiceImpl - Message arrived on topic: mqtt/cloudcat-relay/external-sensor/in </code>
Open Issues
<WRAP center round todo 60%> todo box </WRAP>
1. Compile project with maven
* sample project: https://github.com/ctron/kura-examples/tree/master/camel/camel-example4
1.1 Importing jar as dependency
This is very ugly. The source project can not be identified. * https://www.tutorialspoint.com/maven/maven_external_dependencies.htm <code> <dependency> <groupId>ldapjdk</groupId> <artifactId>ldapjdk</artifactId> <scope>system</scope> <version>1.0</version> <systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath> </dependency> </code>
2. Building Deployment Package .dp
* https://trustingiot.com/2018/02/02/building-deployment-packages-for-kura/ * https://github.com/darugnaa/deployment-package-example * https://stackoverflow.com/a/44018008/707704 * https://luigi-saetta.medium.com/eclipse-kura-oracle-iot-cloud-integration-fc30471d6a7e * http://jmini.github.io/blog/2020/2020-01-13_equinox-without-tycho.html Using osgi-dp https://ctron.github.io/osgi-dp/plugin-info.html mvn osgi-dp:package
2.0.1 Deploy everything in scs VM
Using docker-compose scripts here: /home/admin/scsworkspace/docker-deployment
Other resources:
- Setup project: https://www.eclipse.org/forums/index.php/t/1028830/