What Communication Protocols are Compatible with Hologram?

Overview

This guide discusses the options for sending data to and from your cellular device. In the table below, Outbound refers to sending data from the device, and Inbound refers to outside data reaching the device.

Method Outbound Inbound Pricing Dash Support Nova Support
Hologram Cloud Messaging Yes Yes Data Yes Yes
Direct IP Yes Reply Only Data No Yes
SpaceBridge IP Tunnel Reply Only Yes Data No Yes
SMS Via Hologram Cloud Yes* Yes Outbound: Data, Inbound: Free Yes Yes
Circuit-Switched SMS Yes Yes Outbound: Per Message, Inbound: Buy phone number Inbound Only Yes
 

Per-MB data pricing and per-message SMS pricing depends on your billing plan. Check out Pricing page for details.

Hologram Cloud Messaging

The Hologram Cloud is the easiest way to send data between your device and the internet. The mechanisms for inbound and outbound communication are somewhat different, but in both cases, the Hologram cloud forwards messages between the device and the internet using the device’s cellular data.

Outbound (from Device)

The Nova provides built-in functions for sending messages to the Hologram Cloud. However any connected device can Holoram's embedded API to send these messages to the Dashboard. Messages take the form of a binary payload (usually UTF8-encoded text), and an optional list of topic strings that you can use for filtering or routing in the cloud.

By configuring Hologram Routes in the Dashboard, you can forward messages to other internet services. This means you can update where the Data Router sends your messages without deploying code updates to your cellular devices.

Inbound (to Device)

Hologram exposes an API endpoint and a Dashboard interface to send TCP or UDP messages to any port on your cellular device. This requires that your device runs embedded Linux or otherwise implements a networking stack. The Hologram Cloud translates the API requests (or Dashboard submissions) into raw TCP/UDP messages and sends them to the desired device.

 

Direct IP

Devices on the Hologram cellular network have access to the full internet, so you may use any IP-based protocol to communicate with any internet-routable host. In fact, Hologram’s Cloud messaging API relies on this standard IP connectivity. Advanced users may wish to bypass the Hologram Cloud and instead communicate directly with servers they control.

For security Hologram cellular devices do not have internet-routable IP addresses, so you can’t connect to your device directly from the internet. This means that to send data to your device, the device must first establish a connection to an outside server and request the data. The server can then send data back to the device in a response using the already-established connection. This request-response pattern is the basis for many common protocols such as HTTP.

If device-originated requests aren’t a good fit for your application, you can connect to your device via a tunnel, covered in the next section.

 

SpaceBridge IP Tunnel

Since devices on the Hologram network do not have internet-routable IP addresses, it’s not possible to directly connect to the devices over the internet. This makes it hard to use the device as a server that can listen for incoming requests. The solution is to establish a connection–or tunnel–through a different server which does have the ability to connect to your device.

Hologram provides a service called SpaceBridge, which uses secure SSH tunneling to let you connect to any port on your device. The inbound Cloud Messaging feature above relies on a SpaceBridge tunnel behind the scenes. The Cloud Messaging approach is a simpler alternative to SpaceBridge if you don’t require direct access to the network socket.

See our SpaceBridge guide for details.

 

SMS via Hologram Cloud

*Outbound (from Device)

To avoid the carrier fees associated with sending standard circuit-switched SMS messages, Hologram offers an Embedded API endpoint for sending SMS via TCP/IP.

Outbound SMS messages sent via API will appear as originating from an internal Hologram phone number. This is the case even if you have bought a phone number for receiving inbound SMS messages.

Note: For access to this feature, please email: success@hologram.io with information about your use case.

Inbound (to Device)

Even if you don’t buy a phone number for your device, you can send SMS messages to it from the Hologram Dashboard or REST API. You may also configure the phone number that the SMS will appear to originate from.

To read inbound SMS messages on the device, use AT commands to request them from the modem or follow the equipment's instructions.

 

Circuit-Switched SMS

Outbound (from Device)

To send an SMS via the standard SMS switching network, use AT commands to request them from the cellular modem. Outbound SMS messages will appear as originating from an internal Hologram phone number. This is the case even if you have bought a phone number for receiving inbound SMS messages. Note that Device-Originated SMS messages have a cost associated to them based on the plan the SIM is under.

Inbound (to Device)

To receive SMS messages from other SMS-capable devices, you must buy a dedicated phone number for your Hologram device.

To read inbound SMS messages on the device, use AT commands to request them from the modem or follow the equipment's instructions.

 

Was this article helpful?
0 out of 0 found this helpful