Wireless Nano to Nano communication

Hi,

Imagine I have two Jetson Nano, 50 meters apart (~160 ft), with no obstacles between them. When the first Nano detects a car, it must send a signal to the second Nano, so that it takes a photo.

What would be the best wireless way to make this kind of communication between the Nanos in this particular configuration ?

Thanks for any advice,

Adrien

I definitely cannot answer this, but wanted to comment that it may depend on a lot of things. For example, do you have power available, or do you require a battery? Do you have the ability to attach a directional antenna on a stable structure (e.g., a building or tower which doesn’t sway in the wind, so on)? Do you have strict timing requirements, and do you have a high resolution clock, e.g., via GPS? Are you limited to low budget, or can you afford a commercial band bridge instead of lower cost license free bands? What is the physical barrier between them (such as buildings, hills, etc.)? So on. I don’t think it would matter that this is a Nano, and I cannot give you any useful answer, but you’ll probably want to provide that information before anyone will be able to talk about it.

1 Like

Hi,

Thanks for the reply. Here are some details:

  • No power available. Both Nanos are battery-powered, through micro-usb (with the recommanded INIU Powerbank), to keep the budget as low as possible.

  • You can imagine the Nanos as small boxes, like this one, fixed at a 2-meter rod. Hence, small wifi antennas like those shown can be envisaged, but nothing larger.

  • Regarding timing, a delay of a few seconds is acceptable (let’s say up to 5 seconds). There is currently no GPS, and I’d prefer avoiding it.

  • Regarding budget, as mentioned, the idea is to keep it as low as possible.

  • As specified in my post, there is no obstacle between the Nanos (and this is guaranteed). Besides, I mentioned a distance of 50 meters (164 feet, or 54 yards, if Google converter is correct), hence definitely no hill, nor building between them. Actually, you can also assume that the ground is flat. If the Nanos were humans, they could definitely see each other and hear each other (when speaking loud enough). Nothing fancy from that point of view.

I hope this helps.

Thanks,

Adrien

I have no specific advice, and keep in mind that different laws may be present on WiFi antennas depending on location, but in general it sounds like your only reasonable choice would be a directional point-to-point antenna. Some such antennas are expensive (parabolic), while others are quite inexpensive. You might not need a particularly “good” directional antenna since the distance is short, but even a moderate directional ability would increase signal level while decreasing outside noise. Directional antennas which do not have as much gain would also be less susceptible to moving around in the wind…having a fully parabolic antenna could be a disadvantage in windy weather, while a somewhat directional antenna would work well even in those circumstances.

I can’t recommend anything specific, especially since there are different laws in different locations, but here is an example web search:
https://www.google.com/search?q=outdoor+directional+wifi+antenna&sa=X&ved=2ahUKEwiU_I2c_6vpAhVUVs0KHaBaA1kQ_sUBKAB6BAgBEAE&biw=1401&bih=658&dpr=1.2

The less expensive antennas would probably work better than the more expensive antennas for your purposes.

Thanks for the reply.

There is actually no law-related issue in my particular case.

So, as I understand it, there does not seem to be anything Nano-specific to take into account in my case. Therefore, I should go for regular device-to-device communication, through local wifi or bluetooth, and e.g. Socket scripts, right? Is there any suggestion or better option ?

Thanks,

Adrien

Bluetooth won’t work that far away, but one of the regular WiFi adapters should work. Which one works best just depends on the area and who else is competing for bandwidth. If you were to find an external WiFi router which has at least semi-directional antennas to start with, then this might be all you need. You won’t know without testing since WiFi is license free and you can’t predict interference.

Personally I would code some simple ethernet application. We don’t know anything about the nature of what is being accomplished (are there timestamps sensitive to a microsecond? is it ok to be off by a full second?), and so it is hard to suggest anything more. A question of how much latency is tolerated, how much reliability is required, how often (rephrased, bandwidth requirements) there will be a trigger, so on, could change “best methods”.

Generally speaking simple TCP and/or UDP applications are fast and easy to build.

Thanks for the reply.

I think Bluetooth could be envisaged with such a distance, especially with BT5.0 (BLE). However, it seems that people often have trouble with BT on the Jetson Nano (see e.g. this thread or this thread). That’s one of the reasons I was asking my question in the first place, to see if alternatives have been found by others.

As mentioned above, regarding timing, a delay of a few seconds is acceptable (let’s say up to 5 seconds). There would be at most one trigger every minute, and there is not much information to be sent (just a on/off signal). The system could be deployed in a rather isolated location, hence I cannot assume that an external WiFi router would be available.

Any kind of WiFi would likely work so long as the antennas are correctly oriented. Those latencies are trivial, barring actual packet loss. You only need point-to-point so far as I can tell from the description, but if you have a series of devices all talking to each other, rather than one device specifically talking to just one other device, then issues change. For example, a simple USB dongle at both ends of the connections would be all it would need, but I would get one capable of using an add-on antenna instead of something integrated without any ability to change it.

It is just my opinion, but it seems to me that bluetooth over any significant distances is more trouble than it is worth.

Thanks again for the reply, I think we are converging to practical solutions that I can test. Yes, I need something like point-to-point, and I only have two devices talking to each other (we can assume the second Nano could send a confirmation signal to the first one, so that they can both emit and receive data).

Let us envisage a WiFi-based method. In this thread, someone seems to use a Ad-hoc network for a somewhat similar task as mine. Therefore, I guess I would need to set up an Ad-hoc wireless network between the two Nanos, right? For that purpose, would it be sufficient to equip each Nano with a USB dongle such as this one (verified by Nvidia)? Or do I need something more? The two other Nvidia-verified pieces of hardware are this one, which can work with antennaes as shown here, and this one, provided with an antenna.

I know radio well, but will recommend someone else makes recommendations on specific WiFi solutions. I can say that ad hoc is likely what you want, and should work, but I can’t say what difficulties you will run into.

In terms of adapters I recommend against anything in a “tiny” footprint where there is no external antenna to pick from. The particular option you mentioned here has external antennas and would fulfill that. The small footprint USB solution here looks like trouble in terms of no ability to work with antenna orientations or designs (there is a lot more which can be done to work with separate antennas in case of issues versus one with a miniaturized antenna with no modifications possible).

Thank you for all your comments. I will investigate the ad-hoc network possibility then.

Regarding the hardware, I will probably test the USB solution out of curiosity first, before switching to the solution with antennas for reliability purposes.

I will keep following this thread if anyone else has other suggestions, comments or simply wants to interact, and if I encounter major problems with the Nano, of course.

we are looking for a similar solution like Adrien requirements.
Our nanos are located within 100 mts. we use a wifi dongle for the nano to connect to internet. The easy way is to implement a socket server and push the command from one nano to other and get the commands executed in other. In this way the communication is purely local with in the network. The challenge in this approach is there is a list to the number of nano which can connect to a router (device limit) once its reached the limit then this approach is not useful.

if we keep the socket serve run the cloud we will not hit with this (max connection to a router) problem, but will face latency issues on communication to cloud.

is there any framework or guidelines to communicate between nanos ?

Thanks

Team any updates /pointers ?