Public IP address with Hologram NOVA-R410?

My intended use with Hologram would be to establish a (raw) TCP socket to the NOVA-R410 which would pass data to the R410’s serial port. For example, in the current system I connect using a public IP address and port (eg. 166.001.002.003:10001). Typically, this system works with an inbound command (via the cellular modem) to a serial device and the serial device responds with data back to the modem.

Does Hologram have a way to establish a (static) IP address for the NOVA-R410 for inbound (TCP) messages? If not what workaround is there?

Thank you.

Hi @mfbellino,

Take a look at our Spacebridge product, which will allow you to send inbound connections to your devices.

Best,
PFW

Hello Pat, Thank you for pointing me to Spacebridge. I like the fact that it is possible to use direct commands without the GUI - this is helpful for my application.

My follow-up question… the SpaceBridge documentation reads (to me) that you must use an SSH socket. Is it possible to not use SSH? Just a (raw) TCP socket?

If so, where might I find details or examples of this?

Thank you.

Hello Pat,
I think to refine my request a bit… what I want is an example or tutorial on setting up a transparent mode between a PC and Hologram device (no Dashboard). Conceptually there is an exchange of binary (raw) data bytes between the PC and the serial port on the SARA IC (via Hologram). For example:

PC to transparent (raw) socket: 0x01, 0x02, 0x03
SARA Serial out: 0x01, 0x02, 0x03
serial device receives, then responds…
SARA Serial In: 0x04, 0x05, 0x06
Socket to PC: 0x04, 0x05, 0x06

Or even simpler… If I tied the SARA TX to RX, any characters sent out a PuTTY connection would echo back.

What I want to avoid is packetized communications, such as PPP. I just want Transparent ‘raw’ data to flow, not using the Dashboard.

Any good examples I can review on how to set this up? Also, to my previous question… is an SSH socket necessary?

Thank you, in advance, for your generous assistance, Pat.

Spacebridge should not require the dashboard, although I believe it does require SSH so no raw TCP.

I’ve used this analogy before and its not exactly accurate but close enough to describe the difficulties with what you want. checkout my explanation of how cell networks are kind of like your home router (that divides the IP space behind the router from the internet meaning you cannot directly address devices behind the router): Hologram Nova/BeagleBone Black/Web App Access - #3 by AndrewGifft

The only way to get around this is to have the cellular device initialize the connection. This creates a channel link between the cellular device and 166… server that both devices can send receive on (until the channel closes either intentionally by one of the devices or by the cell company if it is idle for too long).

My understanding is cellular networks are still built and designed for the much more common use case of personal cellphones where (again much like at home behind a router) people have no need for publicly accessible listening ports on their personal devices.

Another option may be to build your software to do the following steps:

  1. cell device listens for a message from hologram (you can send either via dashboard or Hologram’s REST API)
  2. Your server uses the hologram REST API to send a “connect to me” message to the cellular device you want to connect to.
  3. when cell receives a message, it initiates a TCP connection to 166…:10001
  4. your server accepts incoming tcp connection and can send data to the cellular device.

Hi, adding to what @AndrewGifft said…

Diffidulty of Server Contacting Mobile Device

The challenge of sending data to a mobile device generally revolves around the fact that mobile devices do not usually get fixed ip addresses, nor do the they reuse the ip address they are assigned to when they establish a data connection to a provider. So, you can easily have the mobile device initiate a data connection to a server (or other device which has a fixed ip address or a URL), but not vice verse.

There are at least to approaches to this problem:

  1. have the mobile device “check-in” periodically to perform data transfers if needed. This is often a poor solution as checking in wastes resources when no transfers are needed.
  2. send an SMS to the device to tell it to call in. Sending an SMS to a mobile device is usually possible. It does not require an ip address or active connection. The cost depends on the service provider and ranges from free to expensive.

Sending Data W/O Packets

Well, you cannot do this over the Internet. The Internet is a packet-based data transport system. Once you establish a raw Socket connection you can send bytes as you wish, and the fact that the data is packetized for transfer becomes invisible, but the data is moving in packets if it’s moving over the Internet.

Again, you might consider having your PC (or server) send an SMS to your mobile device telling it to call home. Your mobile device can than establish a Socket connection to your PC and move data byte-by-byte as you wish.

Spacebridge

Spacebridge solves this problem of establishing a data connection from a non-mobile device to a mobile one. I don’t know how it does this. Does it use SMS as I described or something else? Maybe someone who knows how Spacbridge works can chime in here…

Thank you @AndrewGifft and @mbrenner
I am looking into the SMS ‘callback’ idea. I think I can see how this ought to work.

One question I have is you mentioned that a SSH socket was required. But looking at this page:

Note the verbiage in the red rectangle.

My current plan is to use the NB-IoT bands. The above suggests that I can only use UDP? On the other hand, there is some hint that the API behind Spacebridge only uses SSH TCP?

If you can un-confuse me, I’d be grateful. Thank you!

Cheers,
Mike

That link about an XBee device not the Nova. I don’t think that applies to all modules or NB-IOT technology.

Note you can’t use NB-IOT with hologram simcards only CAT-M1 is supported at this time. So basically, make sure the area you are deploying in has CAT-M1 (basically all of the US) and you should be fine with TCP and anything built on the TCP transport layer.

Hello @AndrewGifft - Thank you for clarifying. I should have pointed out the use of the Digi XBee. The reason I was looking at the XBee over the Nova is that it is easily integrated onto another PC board (using headers) and all the signals are brought out. Also the Xbee is programmable with microPython and is on the Hologram “Compatible Hardware” list. The XBee uses the same SARA modem as on the Nova. If there is something like this in the NOVA genre, I’d be happy to look at it.

That said, I really do need worldwide coverage. I am looking at an application which has installations from the USA to Mongolia and many countries in between. What is attractive to me is the claim that the Hologram operates in 180 +/- countries.

Thus, what I see (and please correct me) is that if I use the Xbee with a hologram SIM and LTE CAT M1, by having the (remote) PC send an SMS (presumably with an IP and port in the message?) to the Hologram device, then the Hologram device initiates an SSH socket (based on the data in the SMS) with the PC (level 0 - no security is fine for this application).

Does this sound right? Will this work on any Hologram network?

Thank you.

Cheers
Mike

Ah, yea the post title says “Nova”. Probably worth posting the question I responded to in XBee forum to get knowledgeable help.

Cat-M1 with hologram (or any other carrier) will only work in countries where there are Cat-M1 networks. checkout out: GSMA | Mobile IoT Deployment Map | Internet of Things for a relatively up-to-date and maintained list of country support or Cat-M1 and NB-IOT. Remember hologram does not support NB-IOT at this time (its on their roadmap, but no scheduled availability). Currently I dont know of any MVNO that has support for NB-IOT. Right now the only way to get NB-IOT is to work with individual carriers.

If you want to get truly global coverage today you will need a modem that supports multiple technologies. the U-Blox SARA R412M is an example that has Cat-M1 with 2G fallback or the LARA series of modules with LTE Cat-1 (likely supported in more regions that Cat-M1) with 3G or 2G fallback. These are significantly more expensive modules and would require building your own circuit board to install them on. Also note that some of these modules are still regional, so you would have to buy an Americas version or Asia version, etc.

Basically getting one system that will work in all of the countries supported by Hologram will be difficult and expensive. Your best bet is to find a series of modules that are easy to swap out (U-Blox is good at having footprint compatible modules). And have a different part number for America/Europe/Asia/etc.

your SMS/SSH plan should work but will obviously require coding and debugging. You will also have to handle the case where the link is broken as will happen on cellular networks (ie you need to detect the connection went down and re-send SMS).

Hello @AndrewGifft, I should be able to work without NB-IoT (although it is desirable) and use Cat-M1. Where I am now confused is in the nature of the Hologram network. Perhaps I misread the literature here, but I thought the Hologram had agreements with carriers in ~180 countries and that one could move a specific modem & Hologram SIM (eg Nova) on the Hologram network from (supported) country to country. From the Hologram website:

One Global SIM Card
A single, hardware-agnostic SIM card and eSIM eUICC chip for 2G through LTE Cat-M globally on over 550 networks.

Seamless Network Coverage
Switch seamlessly and stay connected across a breadth and depth of carriers in over 196 countries.

Looking at the linked map for LTE-M, I count about a dozen countries or so. I am not a network engineer (EE hardware design), so perhaps I have missed something critical in understanding the Hologram capabilities?

Let me know. Thank you! :slightly_smiling_face:

Cheers,
Mike

The simcard will work anywhere, but the simcard is only one piece of the system. This is something to keep in mind Hologram’s main business is selling simcards which is are basically a uniqueID. They then separately have agreements with carriers all over the world that basically says “if someone with unique ID 12345 tries to get on your network, let them on and charge it to Hologram’s account”.

Some of these networks hologram has agreements with only have 2G technology (eastern Europe maybe). Some have obsoleted 2G and 3G and only offer LTE (Japan). The agreement is still there and the simcard will work but it has to be installed in hardware that is also compatible with the network. A 2G device cannot communicate to a 4G tower, they work on different frequencies, use different encoding schemes, etc. Its like trying to get on Wifi with bluetooth- of course that wont work even if you have the network password.

What hologram says is you can take their one simcard and use it anywhere, you may have to buy a phone in each country but the simcard will work in the locally sourced phone on that countries network.

EDIT: a module like this is very promising, 12 LTE bands with 3G and 2G fallback: Gemalto launches world's first "all-in-one" IoT module delivering global LTE connectivity | Thales Group looks like only 50 Euro in reasonable volumes (if you find availability) Avnet: Quality Electronic Components & Services

So to do you what you want you need a “global simcard” which Hologram provides and a “global phone” or “global module” which Hologram doesn’t provide or claim to provide. I mentioned some ways to get very large global coverage (module with supporting multiple cellular technologies in as many frequency bands as possible), but that will be a separate investigation you’ll have to go through.

EDIT: on further reading i guess I could see how

Switch seamlessly and stay connected across a breadth and depth of carriers in over 196 countries.

Could be seen as claiming hologram simcards are all you need to acheive that. Maybe Hologram needs fine print saying “*Dependent on hardware compatibility”.

Hello @AndrewGifft Thank you for the explanation. Holograms claims certainly came across to me as if you could take the NOVA (or the SARA modem) and a Hologram SIM card across the world ‘seamlessly’. I very much appreciate the lead about the Gemalto.

I think at this point I have enough information to propose a plan forward - probably limited to the USA and other LTE-M networks and see if I can proceed with this. If so, then this will perhaps lay the groundwork for other networks.

Cheers,
Mike

My use case is that I need a two-way connection between my client (connected via Nova) and my server in the cloud. Seems like the server would need to use Spacebridge to be able to talk to the client (push) or would need to use the Hologram API to send a message to the client (via SMS?) to tell the client to come get some data. Sound right?