Your comments

Hi Hyungi,

RTI-DDS is bundled with OpenICE and is used for communication between all OpenICE system nodes natively (device-adapters, supervisors, simulators, etc. no matter where they are running).

For a detailed description of how DDS is utilized in OpenICE, please read OpenICE App Architecture Description.

Thanks,
Jeff
Hey Tyler,

This is fixable - first question: what type of RJ45 port are you connected to? The serial port or the Ethernet port? I think you're in the Ethernet port and not the serial port.

If you are using a serial cape on the BBB then you should be connecting to the serial port on the MP5. The serial cape will not function with an ethernet connection on the MP5.

The connection status of "Connecting (initializing RS-232 to UDP adapter)" is an IntellivueEthernet specific state meaning OpenICE device-adapter on the Beaglebone is configured as "IntellivueEthernet" and cannot reach an Ethernet port.
The monitor's "Unsupported LAN" message means the MP5 monitor cannot obtain a IP (in your case from the serial cape - which makes sense).

Sounds like you need to do two things: first, move the RJ45 cable on the MP5 to a serial port. (If you don't have a serial port I can help you with Ethernet). Second, change the device-adapter config file on the BBB called device.this to contain: "-device IntellivueSerial". This is explained here: https://www.openice.info/docs/5_device-adapter-config.html#configure

If you want to troubleshoot easier, plug the monitor directly into the computer and run the device-adapter from your computer as shown here: https://www.openice.info/docs/6_example-setups.html#simple

Thanks,
Jeff
Hi Tim,

Node.js is a server-side technology that does not use the browser. Also, the OpenICE distributed package does not natively work in a browser, nor does it use MQTT. I'm not sure how to answer your question. There is logic for plotting vitals data in https://github.com/jeffplourde/openice/blob/master/src/plot.js. For data structures, check out our IDL here or alternatively check out HL7 FHIR.

Thanks,
Jeff
Hi Hyungi,

I'm sorry but I'm not sure what you are asking. Here is the documentation for the Device-Adapter configuration.

The command line usage for ./path-to-OpenICE/bin/OpenICE is as follows:
 -address <address>                 DeviceTypes marked with * are serial devices which require port specification.
-app <app> Application may be one of: ICE_Supervisor ICE_Device_Interface
-device <device> if Application is ICE_Device_Interface then DeviceType may be one of: Bernoulli *DraegerApollo *DraegerEvita4 *DraegerEvitaXL *DraegerV500 *FlukeProsim68 Symbiq *Ivy450C *MasimoRadical7 *NellcorN595 *Nonin *Capnostream20 IntellivueEthernet *IntellivueSerial *PB840 CO2_Simulator ECG_Simulator Pump_Simulator IBP_Simulator Multiparameter NIBP_Simulator PO_Simulator Temp_Simulator *BioPatch
-domain <domain> DDS domain identifier
-fhirServerNAme <fhirServerName> FHIR Server URL to use for patient information

Thanks and let me know how I can help you further,
Jeff
Hello Kavya,

Try importing the OpenICE project to Eclipse. The following may help:

This is an excerpt from Build OpenICE from Source:
Building the project
Option A: Do you use Eclipse? Gradle, our project automation tool of choice, has an Eclipse plugin.
Navigate to the root directory of the mdpnp-code you just downloaded
Type gradle eclipse on your command line. This will convert the project into an Eclipse project.
Type gradle build which will build your code.
Note: This command will be
$ ./gradle eclipse for Linux andMac OS X.
> gradle eclipse for Windows.
Now you can simply import the project into Eclipse.

If you still have problems, please provide a detailed list of the steps you are making to get to this issue and we will be able to help you more.

Thanks,
Jeff
Hi Hyungi,

DDS is a distributed system abstraction layer that passes messages between the OpenICE nodes. DDS is technically a standard with commercial implementations distributed by RTI and PrismTech (OpenSplice). OpenICE is distributed with a community edition of RTI DDS.

More information about how we use DDS in OpenICE can be found in the working-draft of OpenICE App Architecture Description.

Thanks,
Jeff
Hey Hyungi,

In short, there is no GUI when OpenICE is run on ARM - JavaFX is no longer supported.

But that's okay! We don't typically run a GUI on ARM anyways (It's very, very resource heavy). Check out this page: https://www.openice.info/docs/6_example-setups.html.

As you probably know, OpenICE has two operating modes: Supervisor and Device-Adapter. They are both kept in the same mdpnp repo for convenience. The Supervisor has the ability to run apps as well as start separate Device-Adapters (both real and simulated). The Device-Adapters are meant for integrating medical devices into a network so that a Supervisor can use data from that device. The Device-Adapters are typically run "headlessly" i.e. without a GUI. A Supervisor on the same network as a Device-Adapter is used to view and analyze the data. My recommendation is that BBB (ARM chips in general) are used only to integrate devices headlessly as shown in the "example setups".

To start the Device-Adapter on the BBB without a GUI, use the following on the BBB command line:
$ /path-to-openice/bin/OpenICE -app ICE_Device_Interface -domain 15 -device DEVICE_TYPE -address /dev/ttyO0
Follow the instructions found here: https://www.openice.info/docs/5_device-adapter-config.html#configure. Note that the -address is the Unix device from /dev/ that you're medical device is plugged into. For a BBB connected to RS232 on UART0 (debug console on J1) the corresponding /dev/ is /dev/ttyO0.

To start the Supervisor GUI and view the data from the Device-Adapter, either click on the OpenICE icon (instructions here) or enter the following on your main computer's command line:
$ /path-to-openice/bin/OpenICE
Use the Supervisor GUI to select Domain 15 and launch the Supervisor.

Thanks and let me know if you have anymore questions,
Jeff
Hi Hyungi,

First, I do not recommend building the source code on the BBB itself. Build the source on your main computer and then transfer to the BBB. This process has been automated by the buildAndDeploy .sh procedure. The recommended process is as follows:
  1. Copy the OpenICE BBB disk image to the the BBB following the instructions here: https://www.openice.info/docs/4_device-adapter-setup.html.
  2. Enable SSH to the BBB from your main computer without a password. You can either generate a key on the BBB and copy it to your main computer or, alternatively, copy your main computer's SSH public key to the BBB. Please consult Google for help with SSH keys. The purpose is to allow the buildAndDeploy .sh script to transfer the build to the BBB without a password.
  3. Ensure the BBB is on the same local network segment as your main computer. Copy the BBB's IP address to the "targets" file in the mdpnp repo on your computer. The targets file is found here: https://github.com/mdpnp/mdpnp/blob/master/targets. Comment out all other unknown IP addresses.
  4. Run the buildAndDeploy.sh script on your main machine. The script can be found here: https://github.com/mdpnp/mdpnp/blob/master/buildAndDeploy.sh. This script will build the source code with ./gradlew, compress, transfer and install the build.
Second, BBBs do not have RS-232 serial ports. To connect an RS232 serial port to your BBB you will need a serial cape. Serial capes can be purchased from many distributors world-wide. My preferred cape is from Logic Supply http://www.logicsupply.com/cbb-ttl-232/. The instructions for configuring a BBB are found here: https://www.openice.info/docs/5_device-adapter-config.html.

Thanks,
Jeff