Reputation: 1
I am developing an Nvidia jetson that will take instrument data over a serial connection and process it to give me my results. The instrument already exists and I do not own it, so it will be speaking serial no matter what. I also have simulator code running on a pi that takes in a dataset and outputs bytes as if the instrument measured something. I have a known input, and output in the same form as the instrument. This allows me to test my jetson code.
I am containerizing the jetson code so me and my colleagues can develop it on our desktops and laptops instead of on the jetson, which is much slower. Right now, we have a pi hooked up to the jetson at an empty desk. The pi serves as a surrogate instrument and produces a correct bytestream. After some edits one of us goes over, starts the pi, and executes the code on the jetson. This is a slow process. I thought putting our project in a container would make it easier for our remote colleagues to test things. They don't have access to the jetson since it is on our office on a desk.
We have connected the pi and jetson over ethernet in the past, which worked fine, but ethernet is not what will be used in practice. I want to be able to take the jetson container, unedited, and deploy it. I don't want to play the game, was this tested in ethernet mode, or serial? I'm not the only one developing. When developing I want everything withing a single machine, in containers, that logically emulates our hardware setup.
I have read we can use socat to make virtual ports, but then the setup is not completely controlled by docker-compose. I have been reading around and also found when I use the -t option, I give the container a pseudo-tty. Can I use the tty prompt as a means of configuring the serial ports?
I realize this is a long question, I apologize, but if there isn't a simpler method of connecting the two containers sitting next to each other, can I easily "wrap" the two jetson and simulator containers in a master container? From the master, I can play games with mounting dev/* and not worry about the host system running our code.
Upvotes: -1
Views: 16