PantaHub: Difference between revisions

Democratising Wireless Innovation
Jump to navigation Jump to search
(Created page with "''Stub''. {{Community}}")
 
No edit summary
Line 1: Line 1:
''Stub''.
= Pantahub =


{{Community}}
Pantahub is the one-stop hub for all connected devices. By choosing to use a Pantahub-connected image for your LimeNET Micro, you can begin to easily try out other developers SDR projects as well as share your own innovations with the community, so that others can try out and collaborate with ease.
 
By getting connected to Pantahub, your devices become cloud-managed infrastructure, and through the use of our Pantahub.com dashboard and CLI tools you can remotely control the lifecycle of the software running on your device, without the need to be flashing and reflashing every time.
 
== LimeNET ==
 
Our Pantahub-connect images automatically join the LimeNET, which is a managed network of LimeNET devices. By default, your device is controlled centrally but can be "released" for you to take control locally and be able to use Pantahub to drive the software that is running on your device.
 
You can also install the alternate image, which does not automatically connect to the LimeNET controller. This image lets you follow the normal claiming process via Pantahub to take control of your device.
 
== Image Setup ==
 
The Pantahub enabled image for LimeNET Micro can be found at:
 
* LimeNET-controlled image: [https://s3.eu-west-2.amazonaws.com/pantahub-images/rpi3-limenet-pv-6144MiB.img.xz rpi3-limenet-pv-6144MiB.img.xz]
 
 
To flash this, you can follow the instructions at [https://wiki.myriadrf.org/Getting_Started_with_the_LimeNET-Micro#Flashing_eMMC_or_uSD_card Flashing_eMMC_or_uSD_card]. Make sure to uncompress the image first with the '''unxz''' command.
 
== Installing PVR ==
 
Our main development tool is called '''pvr''' and it lets you interact with your Pantahub-connected device remotely. This CLI will be what you use to '''clone''' your device as well as '''post''' different demos to it for easy testing and seamless onboarding. You can download it from the following locations:
 
* Linux (amd64): [https://gitlab.com/pantacor/pvr/uploads/d51b21e1f10fb62357164d5a062924f4/pvr-006-amd64.tar.gz pvr-006-amd64.tar.gz]
: To install the Linux version you need to place the extracted binary in your '''$PATH''' and make sure it is made executable with '''chmod +x'''.
 
* Windows (amd64): [https://gitlab.com/pantacor/pvr/uploads/8c2a619bfd568d58f2a24a3b3dead8b2/pvr-006-win10-64.zip pvr-006-win10-x64.zip]
: To install the Windows version all you need is to place it in a directory to which your user has access and can run executables from. '''C:\Users\YOURUSER''' is usually a good location.
 
Once you have it installed just calling the '''pvr''' command from your shell should show you the help menu, where you can get familiarized with the different features that it provides.
 
== Registering user in Pantahub ==
 
The first thing you need to do to interact with Pantahub is to register a user account on https://www.pantahub.com
 
A user account gives you access to the full API, including the object store, and also grants you access to the dashboard.
 
Register your user with the following command:
 
{| class="wikitable"
|$ pvr register -u youruser -p yourpassword -e your@email.tld
|}
 
This will generate a json response with the server-generated part of the credentials:
 
{| class="wikitable"
|2017/06/19 11:08:43 Registration Response: {<br/>
  "id": "5947949b85188a000c143c2e",<br/>
  "type": "USER",<br/>
  "email": "your@email.tld",<br/>
  "nick": "youruser",<br/>
  "prn": "prn:::accounts:/5947949b85188a000c143c2e",<br/>
  "password": "yourpassword",<br/>
  "time-created": "2017-06-19T09:08:43.767224118Z",<br/>
  "time-modified": "2017-06-19T09:08:43.767224118Z"<br/>
}
|}
 
You can also go to https://www.pantahub.com and follow the sign-up process on the web interface.
 
Your account is not ready for use until you have followed email verification. Please get in touch with team@pantahub.com if you had any issues completing verification, or if the default storage quota is not enough for your project.
 
== Claiming your device from the LimeNET ==
 
By default, the image automatically boots into an "autopilot" mode, where the software on the device is managed and controlled remotely via the LimeNET. You can also control this yourself of course, to get the full benefits of being able to try different applications, monitor and control your device and also being able to share your work with others.
 
If you want to release the device from the automatically controlled LimeNET, you can send us a request with your device-id to team@pantahub.com with the title "LimeNET Request". In order to discover your device-id, you need to run the '''pvr scan''' command. Your computer must be connected to the same local network as to which your LimeNET Micro is connected via it's ethernet port. The output of this command looks like the following, and the data in question is the ID field.
 
[[File:Pvr-scan.png]]
 
= Applications =
 
The default image comes with a pre-installed set of applications. Some of these are helpers for management and Pantahub operations, but the two main applications are the interesting ones that drive LimeSDR stack in order to turn the LimeNET Micro into a GSM toolbox.
 
=== LimeSCAN ===
 
This is a GSM and Power Spectrum scanner that feeds scan data to the limescan.net website.
 
To enable the LimeSCAN platform use following key/value in user-meta:
 
* key: lime.gsmstation.mode
* value: scan
 
You will also have to set your limescan.ini in user-meta:
 
* key: limescan-config.ini
* value: <ini file>
 
Once configured your results will be fed to https://limescan.net/
 
=== Osmocom GSM ===
 
Osmocom NITB and LMS transmitter middleware that turns your LimeNET Micro into a GSM basestation.
 
To enable osmo platform use following key/value in user-meta:
 
key: lime.gsmstation.mode
value: osmo
Also the following keys exist that allow you to overwrite our default config files for the services '''nitb''', '''bts-trx''' and '''trx-lms''':
 
* key: lime.gsmstation.osmo.config.nitb
* value: <full config file used by osmo-nitb service>
 
* key: lime.gsmstation.osmo.config.bts
* value: <full config file used by osmo-bts-trx service>
 
* key: lime.gsmstation.osmo.config.trx
* value: <full config file used by osmo-trx-lms service>
 
Deleting the keys will make platform go back to default configs.
 
== Pantahub services ==
 
In addition to the SDR applications, the device comes preinstalled with a set of services that mediate access and discovery via the Pantahub controller.
 
* alpine-base platform - auto connects your system through DHCP enabled ethernet
* ph-vpn - pantahub vpn platform (experimental)
* ph-avahi - find and claim your (local) devices with pvr scan and claim
* pvr-auto-follow - make your device automatically track updates from another device
 
You can access your device in Pantahub at https://www.pantahub.com/u/<your-user>/devices/<your-device-id>
 
Pantahub provides a fully fledged monitoring interface so that you can interact with your account's own device and object registry. This let's you visualize the current state of each device, how they are walking through available updates as well as doing introspection on the details of each step, including a README file, the objects that make it up, changelog, and cloud-backed logging and metadata.
 
== Developer Access ==
 
Right now you can access the following platforms as user root, via ssh, through following ports:
 
* alpine-base-device: 22 (user: root pass: pantacor)
* limescan-device: 7022 (user: root pass: pantalime)
* lime-osmocom-device: 7024 (user: root pass: pantalime)
* pvr-auto-follow: 8022 (user: root pass: pantasdk)
 
''Note'': Root password login is only allowed through console.
 
To log in via ssh you have to set the following user-meta key in Pantahub:
 
* key: pvr-sdk.authorized_keys
* value: <the authorized_keys file you want grant root login privilege to>
 
== Using Pantahub for development ==
 
For normal use of '''pvr''' and https://www.pantahub.com to control your device, as well as the concepts of "cloning" and "sharing" your work with other people, you can refer to the [https://gitlab.com/pantacor/docs/blob/master/get-started-limesdr-rpi3.md Panthub + Lime SDR Documentation]
 
 
'''Enjoy!'''

Revision as of 15:00, 12 April 2019

Pantahub

Pantahub is the one-stop hub for all connected devices. By choosing to use a Pantahub-connected image for your LimeNET Micro, you can begin to easily try out other developers SDR projects as well as share your own innovations with the community, so that others can try out and collaborate with ease.

By getting connected to Pantahub, your devices become cloud-managed infrastructure, and through the use of our Pantahub.com dashboard and CLI tools you can remotely control the lifecycle of the software running on your device, without the need to be flashing and reflashing every time.

LimeNET

Our Pantahub-connect images automatically join the LimeNET, which is a managed network of LimeNET devices. By default, your device is controlled centrally but can be "released" for you to take control locally and be able to use Pantahub to drive the software that is running on your device.

You can also install the alternate image, which does not automatically connect to the LimeNET controller. This image lets you follow the normal claiming process via Pantahub to take control of your device.

Image Setup

The Pantahub enabled image for LimeNET Micro can be found at:


To flash this, you can follow the instructions at Flashing_eMMC_or_uSD_card. Make sure to uncompress the image first with the unxz command.

Installing PVR

Our main development tool is called pvr and it lets you interact with your Pantahub-connected device remotely. This CLI will be what you use to clone your device as well as post different demos to it for easy testing and seamless onboarding. You can download it from the following locations:

To install the Linux version you need to place the extracted binary in your $PATH and make sure it is made executable with chmod +x.
To install the Windows version all you need is to place it in a directory to which your user has access and can run executables from. C:\Users\YOURUSER is usually a good location.

Once you have it installed just calling the pvr command from your shell should show you the help menu, where you can get familiarized with the different features that it provides.

Registering user in Pantahub

The first thing you need to do to interact with Pantahub is to register a user account on https://www.pantahub.com

A user account gives you access to the full API, including the object store, and also grants you access to the dashboard.

Register your user with the following command:

$ pvr register -u youruser -p yourpassword -e your@email.tld

This will generate a json response with the server-generated part of the credentials:

2017/06/19 11:08:43 Registration Response: {
 "id": "5947949b85188a000c143c2e",
"type": "USER",
"email": "your@email.tld",
"nick": "youruser",
"prn": "prn:::accounts:/5947949b85188a000c143c2e",
"password": "yourpassword",
"time-created": "2017-06-19T09:08:43.767224118Z",
"time-modified": "2017-06-19T09:08:43.767224118Z"

}

You can also go to https://www.pantahub.com and follow the sign-up process on the web interface.

Your account is not ready for use until you have followed email verification. Please get in touch with team@pantahub.com if you had any issues completing verification, or if the default storage quota is not enough for your project.

Claiming your device from the LimeNET

By default, the image automatically boots into an "autopilot" mode, where the software on the device is managed and controlled remotely via the LimeNET. You can also control this yourself of course, to get the full benefits of being able to try different applications, monitor and control your device and also being able to share your work with others.

If you want to release the device from the automatically controlled LimeNET, you can send us a request with your device-id to team@pantahub.com with the title "LimeNET Request". In order to discover your device-id, you need to run the pvr scan command. Your computer must be connected to the same local network as to which your LimeNET Micro is connected via it's ethernet port. The output of this command looks like the following, and the data in question is the ID field.

Applications

The default image comes with a pre-installed set of applications. Some of these are helpers for management and Pantahub operations, but the two main applications are the interesting ones that drive LimeSDR stack in order to turn the LimeNET Micro into a GSM toolbox.

LimeSCAN

This is a GSM and Power Spectrum scanner that feeds scan data to the limescan.net website.

To enable the LimeSCAN platform use following key/value in user-meta:

  • key: lime.gsmstation.mode
  • value: scan

You will also have to set your limescan.ini in user-meta:

  • key: limescan-config.ini
  • value: <ini file>

Once configured your results will be fed to https://limescan.net/

Osmocom GSM

Osmocom NITB and LMS transmitter middleware that turns your LimeNET Micro into a GSM basestation.

To enable osmo platform use following key/value in user-meta:

key: lime.gsmstation.mode value: osmo Also the following keys exist that allow you to overwrite our default config files for the services nitb, bts-trx and trx-lms:

  • key: lime.gsmstation.osmo.config.nitb
  • value: <full config file used by osmo-nitb service>
  • key: lime.gsmstation.osmo.config.bts
  • value: <full config file used by osmo-bts-trx service>
  • key: lime.gsmstation.osmo.config.trx
  • value: <full config file used by osmo-trx-lms service>

Deleting the keys will make platform go back to default configs.

Pantahub services

In addition to the SDR applications, the device comes preinstalled with a set of services that mediate access and discovery via the Pantahub controller.

  • alpine-base platform - auto connects your system through DHCP enabled ethernet
  • ph-vpn - pantahub vpn platform (experimental)
  • ph-avahi - find and claim your (local) devices with pvr scan and claim
  • pvr-auto-follow - make your device automatically track updates from another device

You can access your device in Pantahub at https://www.pantahub.com/u/<your-user>/devices/<your-device-id>

Pantahub provides a fully fledged monitoring interface so that you can interact with your account's own device and object registry. This let's you visualize the current state of each device, how they are walking through available updates as well as doing introspection on the details of each step, including a README file, the objects that make it up, changelog, and cloud-backed logging and metadata.

Developer Access

Right now you can access the following platforms as user root, via ssh, through following ports:

  • alpine-base-device: 22 (user: root pass: pantacor)
  • limescan-device: 7022 (user: root pass: pantalime)
  • lime-osmocom-device: 7024 (user: root pass: pantalime)
  • pvr-auto-follow: 8022 (user: root pass: pantasdk)

Note: Root password login is only allowed through console.

To log in via ssh you have to set the following user-meta key in Pantahub:

  • key: pvr-sdk.authorized_keys
  • value: <the authorized_keys file you want grant root login privilege to>

Using Pantahub for development

For normal use of pvr and https://www.pantahub.com to control your device, as well as the concepts of "cloning" and "sharing" your work with other people, you can refer to the Panthub + Lime SDR Documentation


Enjoy!