- Introduction
- Capabilities
- Hardware
- Installation
- Get shell access
- Run the installer
- Service Center configuration
- Register miotyGO on Service Center
- Step 1: Create a new mioty network
- Step 2: Add a Base Station
- Step 3: Fill the Base Station EUI with miotyGO printed EUI
- Step 4: Fill the certificates
- Attach a device
Version | Comment | Date |
---|---|---|
v1.0 | First version | 16/02/24 |
v1.1 | Add RX power gain option | 13/09/24 |
v1.2 | Embedd Add libRspTransceiverDevice-0.8.so into installer | 10/12/24 |
miotyGO project provides the user the capability to implement a development mioty Base Station for testing purposes, users will be able to run up to 10 mioty endpoints with miotyGO Base Station.
No commercial use allowed.
miotyGO works as a base station in a mioty rig. After the software installation, miotyGO will be able to:
- Connect with any Service Center compatible with BSSCI 0.9 or 1.0 specification.
- Receive Uplinks from up to 10 mioty endpoints.
miotyGo is available for different platforms such as aarch64 (Raspberry Pi) or x86_64 such as a personal computer running LINUX. In order to be able to receive the uplink, you will need a receiver device, in this case, miotyGO works with SDRPlay RSP1A device.
Hardware required:
- Computer/Raspberry Pi 3-4 or 5
- SDRPlay RSP1A
- Antenna for the used frequency band.
miotyGO installation is made by running a self extracting installation script. That script provides all necessary resources to be able to run miotyGO on the chosen device.
First step is to get shell access to your device. You will need to know which is the IP address of your device, in order to discover the IP address of your device, there are different methods you can use.
Router Interface:
Access your router's web interface through a web browser. The address is typically something like 192.168.1.1 or 192.168.0.1. Check your router documentation for the exact address.
- Log in to the router using your username and password.
- Look for a section called "Connected Devices," "Device List," or similar. This section usually lists all devices connected to your network along with their IP addresses.
Another method you can use is to run an ARP scan with programs like nmap or arp-scan, this is an example about how to use nmap to discover the IP address of your device.
- Open a terminal on your computer .
- Use the following command to update the package lists:
Update the repository where you will download packages
sudo apt update
# Install nmap if it's not already installed:
sudo apt install nmap
Once nmap is installed, you can use it to scan your local network and find the IP address of your Raspberry Pi. Replace 192.168.1.0/24 with the appropriate network range for your home network:
sudo nmap -sn 192.168.1.0/24
This command performs a ping scan (-sn option) on the specified network range.
Look for a device with a recognizable MAC address or hostname that corresponds to your device.
Once you know the IP address of your device, you can get shell access by establishing ssh connection with the device.
# Replace user and hostname with yours.
ssh [email protected]
After running this command you should have shell access on your device.
![]() |
---|
Figure 1. Run command “uname -a” |
Navigate to the path where the installer is placed and execute it (remember you will need to install it with sudo permissions).
# Navigate until directory where install script is stored
pi@raspberrypi:~ cd $HOME
# Execute the installer
pi@raspberrypi:~ $ sudo ./install.sh
> Extracting Mioty files ...
>>> Found payload, checking integrity ... done
>>> Extracting to /opt/miotyGO... done
> Checking requirements ... ... ... done
> Installing daemon service ...
BASE STATION SOFTWARE SUCCESSFULLY INSTALLED:
>> This is the unique identifier for your base station: d00000ffff000000
>> Now please register the base station on service center and dowload the certificates
>> Fill the certificates content on /etc/miotyGO/certificates directory as shown:
>>>> ROOT CA Certificate -> /etc/miotyGO/certificates/root_ca.cer
>>>> TLS Certificate -> /etc/miotyGO/certificates/tls.cer
>>>> TLS Key -> /etc/miotyGO/certificates/tls.key
>> Once you complete the steps you can start the base station service by running:
>>>> mioty_base_station start
>> You can stop the base station running:
>>>> mioty_base_station stop
At this point miotyGO software is already installed in your device’s file system, now you will need to register the miotyGO device in the Service Center.
miotyGO installer will deploy a configuration file in JSON format on /etc/miotyGO/config.json, in this file, user should fill with the chosen configuration, this configuration involves three important points:
- Service Center host
- Service Center port
- RX power gain
- Mioty Region
RX power gain is set as default to 100, but can be modified depending of the requirements of the test and the hardware used.
Open /etc/miotyGO/config.json and fill your own configuration. These are the available choices for Mioty regions:
- eu868
- eu433
- us915w
- in866
miotyGO Base Station needs to establish TLS connection with the Service Center so you will need to install the certificates provided by the Service Center on the miotyGO software.
There are three certificates miotyGO needs, the root CA, the TLS certificate (tls.cer) and the private key (tls.key). These certificates are placed under /etc/miotyGO/certificates path.
DIRECTORY: /etc/miotyGO
├── certificates
│ ├── root_ca.cer -> root ca certificate
│ ├── tls.cer -> tls cerfificate
│ └── tls.key -> tls private key
├── config.json -> user configuration file
├── options -> arguments for base station binary
DIRECTORY: /usr/local/sbin/
├── mioty_bs -> base station binary
DIRECTORY: /opt/miotyGO
├── prev -> old miotyGO installation files
DIRECTORY: /usr/share/doc/miotyGO
└── how_to_run_miotyGO.md -> readme doc
You need to fill the certificate content for these three files with the certificates generated by your Service Center.
In order to generate the certificates on the Service Center, you need to register the miotyGO device as a base center. To achieve it, you will need the device EUI, this identifier is printed on the shell when you execute the installation script.
For this example, the Service Center used will be eu3.loriot.io, but you can use other Service Center as well.
You should register miotyGO as a Mioty Base Station on the chosen Service Center, here is an example of how to do in in eu3.loriot.io
Navigate until you Service Center provider and create a new mioty network.
![]() |
---|
Figure 2. Adding a new Mioty network. |
You will choose the name of the network, in this case miotyGO network.
![]() |
---|
Figure 3. Insert Mioty network name. |
Once the mioty network is created, you should associate a new base station to the network you recently created.
![]() |
---|
Figure 4. Add a base station to Mioty network. |
Introduce the base station EUI, you will find this ID printed on your raspberry pi once you run the installer.
![]() |
---|
Figure 5. Fill Base Station EUI. |
You will see the base station available but remains offline.
![]() |
---|
Figure 6. Base station online. |
In order to establish TLS communication Base Station-Service Center you will need to generate the certificates required by the miotyGO base station, you can do this on your service center provider as shown in Figure 6 - 7 - 8.
![]() |
---|
Figure 7. Generate the certificates for the base station. |
![]() |
---|
Figure 8. Root CA certificate. |
![]() |
---|
Figure 9. Tls certificate and key. |
Once you generate the certificates, you will need to fill the content on the Raspberry Pi, you can do this by opening these files with your favorite text editor on the Raspberry Pi.
pi@raspberrypi:~ $ vim /etc/miotyGO/certificates/root_ca.cer
pi@raspberrypi:~ $ vim /etc/miotyGO/certificates/tls.cer
pi@raspberrypi:~ $ vim /etc/miotyGO/certificates/tls.key
Once you fill the content of the three certificates, you will be able to start the miotyGO Base Station service by running next command:
pi@raspberrypi:~ $ sudo mioty_base_station start
If the installation went well, miotyGO Base Station will connect to the Service Center.
![]() |
---|
Figure 10. miotyGO online. |
You should be able to see the logs by running this command: |
pi@raspberrypi:~ $ tail -f /var/log/miotyGO.log
At this point, you should get the miotyGO Base Station connected with the Service Center, now you need to attach a device. Following is an example of how to do it at the service center of eu3.loriot.io.
You will need to create a new application. To do this, navigate under applications and create a new mioty application.
![]() |
---|
Figure 11. Create an application. |
![]() |
---|
Figure 12. Mioty application. |
![]() |
---|
Figure 13. miotyGO application name. |
Once you got the mioty application created, you will need to create a new device. |
![]() |
---|
Figure 14. miotyGO new device. |
Inside this device, enroll an endpoint with the parameters given by the manufacturer.
![]() |
---|
Figure 15. Enroll new endpoint. |
Once the endpoint is already enrolled, propagate the attachment with the miotyGO Base Station.
![]() |
---|
Figure 16. New device attached. |
![]() |
---|
Figure 17. Propagate new attachment. |
![]() |
---|
Figure 18. Propagate attachment on base station. |
If the propagation was successful, you should see the log on miotyGO logs.
![]() |
---|
Figure 19. New endpoint attached. |