In this article:
The Satellite Simulator USB dongle can be used to simulate transmitting data to the Myriota Network; messages are transmitted from your Myriota Module to the Satellite Simulator, the Satellite Simulator sends the messages to the Myriota Cloud via your internet connection. The Satellite Simulator is useful for development purposes and testing as it enables more frequent transmission of messages to the Myriota Cloud and your configured Destination.
Requirements
- Myriota Dev Kit with USB Satellite Simulator.
- PC or virtual machine running a Myriota-supported version of Ubuntu.
- The Satellite Simulator Dongle is not supported on Windows Subsystem for Linux (WSL) or on macOS.
- A custom application or an example application ready to compile.
- Alternatively, you may wish to use the "Hello, Space!" example in the Sending Messages guide.
- A workspace location that has GPS coverage.
- Ideally you have a GPS repeater in your lab, or can locate yourself outside with internet coverage.
- Alternatively, you can put your Dev Kit outside for a few minutes at startup so that it receives a GNSS fix and then bring it back inside to be located near your Satellite Simulator dongle for message transmission.
- An internet connection to send messages to the Myriota Cloud.
- The Myriota SDK is installed, you can program your Dev Kit and you can read output from its serial port.
- You have a Device Manager account, you have registered your Module and configured a Destination.
Build Your Application for Satellite Simulator Use
Set the environment variable SATELLITES=LabWithLocation
to build your application for use with the Satellite Simulator. Environment variables can be set using make; see the example command below.
make clean; SATELLITES=LabWithLocation make
More information about compiling your application and using the example application Makefiles can be found in the Install Myriota SDK guide. For a detailed walk through including building the "Hello, Space!" example, see the Sending Messages guide.
Satellite Simulator Set Up
Plug the Satellite Simulator USB dongle into your PC.
The satellite_simulator.py script available in the SDK tools folder is used to launch the Satellite Simulator. Assuming you have added the tools folder to your user's path, or are within the tools folder, enter the following command into the terminal:
satellite_simulator.py
You will be prompted for your Device Manager username and password.
Your Satellite Simulator is now ready to receive transmissions from your Myriota Module. The Satellite Simulator sends information back to the Myriota Cloud for processing via your PCs internet connection.
At startup, the output below will be shown, the satellite_simulator.py
script will not print further output during normal operation.
Retrieve Your Messages
Device Manager shows telemetry from the real satellites in the Myriota Network. Data about messages sent to the Myriota Cloud via the Satellite Simulator and the Myriota Network will display in Device Manager. (Data about messages sent in Lab mode, using the SDK message inject python script or using the Send Message feature in Device Manager will not contribute to the telemetry.)
To retrieve your messages, use the message_store.py script in the SDK tools folder, where <ID> is your Module ID; further details can be found in the Retrieving Messages guide.
message_store.py query <ID>
Troubleshooting
If you cannot retrieve messages, please check the following:
- The device is close enough (a few meters) to the satellite simulator dongle. Try 50cm to make sure it is not a distance issue.
- The device is able to get GNSS fix.
GNSS fix failed
will be printed to the Dev Kit serial port if the module fails to get GNSS fix. Use the following command to connect to the serial port and display output in the terminal(stty raw 115200 -echo; cat) < /dev/ttyUSB
- The dongle is connected to a PC with an accurate clock; it should be less than 15 seconds off. There are a number of web-based resources available for measuring the accuracy of your system against exact, official atomic clock time.