top of page
General - Gateway
The gateway facilitates the export of camera/device information for import into another gateway, enabling the duplication of device details onto a different device. This feature also supports periodic backups of camera and device data stored on the gateway.
To begin, access the login page of the gateway from which device information will be exported. If on the same network, type "camera-gateway.local" or the local IP address of the gateway into the browser's URL bar. Alternatively, remote access can be used if the gateway is added as a device in the admin portal.
After logging in, go to the Cameras tab and click on Export. This will automatically download the device information as a .json file.
Next, log into the gateway where the device information will be duplicated.
Once logged in, click the menu profile button in the top right corner and select Restore from backup. A prompt will appear to upload the previously saved .json file.
The new gateway will restore the device information, replacing any existing cameras/devices with those from the backup.
Additionally, the Copy All button allows for the copying of all registration codes of added devices in the order they were added.
Introduction
The Starllion Cloud Gateway provides connectivity that goes beyond cameras within a local network, enabling connection to various devices like computers running web servers or Raspberry Pi units that do not have gateway installations.
Adding a Raspberry Pi Running a Flask App Web Server to the Gateway
A script can be used to run a web server on the Raspberry Pi. This script is designed to be executed in Thonny, a pre-installed program on Raspberry Pi for running Python scripts.
# first we will install flask library in python using pip
!pip install flask
# then we will import the required libraries
import os
import sqlite3
import logging
from flask import Flask, request, jsonify
from datetime import datetime
# the line below is to set the logging for the server which is helpful in case of errors
logging.basicConfig(filename='webserver.log', level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s')
# in the lines below we are
cwd = os.getcwd()
try:
os.mkdir('Events Delay Check')
except FileExistsError:
print('the directory already exists')
os.chdir(cwd+'/Events Delay Check')
app = Flask(__name__)
global_list = []
# Initialize SQLite database
conn = sqlite3.connect('webhook_data.db')
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS webhook_data (Uniqueid INTEGER PRIMARY KEY AUTOINCREMENT,
id Text, deviceID Text, type Text, EventTime Text, startTimeUtc Text, endTimeUtc Text,
timeStampUtc Text, data TEXT, objectsFound Text, thumbnailUrl Text, sharedVideoUrl Text)''')
conn.commit()
conn.close()
@app.route('/webhook', methods=['POST']) # This path will be used in webhook creation
def webhook():
item_dict = {}
try:
data = request.json # Assuming the data sent is in JSON format
for i in range(len(data)):
_type = data[i]['type']
if _type == 'Motion':
try:
startTimeUtc = str(data[i]['data']['startTimeUtc'])
EventTime = str(data[i]['data']['startTimeUtc'])
except KeyError:
startTimeUtc = ''
try:
endTimeUtc = str(data[i]['data']['endTimeUtc'])
EventTime = str(data[i]['data']['endTimeUtc'])
except KeyError:
endTimeUtc = ''
timestampUtc = ''
objectsFound = ''
thumbnailUrl = ''
elif _type == 'Analytic':
startTimeUtc = ''
endTimeUtc = ''
timestampUtc = str(data[i]['data']['timestampUtc'])
EventTime = str(data[i]['data']['timestampUtc'])
objectsFound = str(data[i]['data']['objectsFound'])
thumbnailUrl = str(data[i]['data']['thumbnailUrl'])
_id = str(data[i]['id'])
deviceId = str(data[i]['deviceId'])
sharedVideoUrl = str(data[i]['data']['sharedVideoUrl'])
_data = str(data[i]['data'])
item_dict[_id] ={
'id':_id, 'deviceID':deviceId, 'type':_type, 'EventTime': EventTime,
'startTimeUtc':startTimeUtc, 'endTimeUtc':endTimeUtc,
'timestampUtc':timestampUtc, 'data':_data, 'objectsFound':objectsFound,
'thumbnailUrl':thumbnailUrl, 'sharedVideoUrl':sharedVideoUrl
}
save_to_database(_id, deviceId, _type, EventTime, startTimeUtc, endTimeUtc, timestampUtc,
_data, objectsFound, thumbnailUrl, sharedVideoUrl)
return jsonify({'status': 'success'})
except Exception as e:
print(e)
return jsonify({'status': 'error', 'message': str(e)}), 500
# the function below saves the received webhook data to a database we created earlier
def save_to_database(_id, deviceId, _type, EventTime, startTimeUtc, endTimeUtc, timestampUtc,
_data, objectsFound, thumbnailUrl, sharedVideoUrl):
conn = sqlite3.connect('webhook_data.db')
cursor = conn.cursor()
insert_query = """ INSERT INTO webhook_data (id, deviceID, type, EventTime, startTimeUtc, endTimeUtc,
timestampUtc, data, objectsFound, thumbnailUrl, sharedVideoUrl)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
"""
cursor.execute(insert_query, (str(_id),str(deviceId), str(_type), str(EventTime), str(startTimeUtc), str(endTimeUtc),
str(timestampUtc), str(_data), str(objectsFound), str(thumbnailUrl),
str(sharedVideoUrl), ))
conn.commit()
conn.close()
if __name__ == '__main__':
try:
app.run(host='0.0.0.0', port=5000)
except TypeError:
pass
Once the app is running without errors, try accessing the app's URL with the port in the address bar, such as http://yourraspiip:5000/webhook, in a browser. The log file should show an entry, confirming that the application is running correctly.
Steps to Add the Raspberry Pi Web Server to the Gateway
To manually add a device to the gateway, click the "Add Camera" button. This will open a popup prompting for the local IP address and ports of the device.
After the web server is successfully added to the Gateway and is running, the HTTP indicator should turn green, indicating that the web server and gateway are communicating properly. The web server registration code can then be copied for use in the webhook creation.
Steps to create webhook
Log in to the Admin portal, under the customer select the desired customer for which you want to create the webhook. Then go to the Alerts Tab and select the Webhooks tab. Then click on Create Webhook, this will open a new popup.
For the webhook-creation step, select the Delivery Method as Push Gateway. Enter the desired name for the webhook. In the Registration Code enter the the code copied from the Gateway for the web server. Please note the port should be 80 as this is the gateway port and not the webserver port. In the Path enter the webserver endpoint which is set to receive the data. Then Click Next.
On the Events type page select Analytics and Motion as the Event types. This is because for this article the script above is only covering Analytics and Motions events.
Note: In our platform, "Analytics" refers to any object detection event generated either by our platform or by smart cameras. When setting up webhooks, selecting "Analytics" as an event trigger equates to selecting object detection.
On the Roles Tab select the desired Role under which the desired cameras are. In the Payload section please ensure the JSON option is selected as the script created above only handles JSON data. Then click the Create button.
Once the Web server starts receiving the webhook data, the database will automatically be updated and saved with the event data.
Introduction
The Starllion Cloud Gateway is a plug-and-play device designed to seamlessly connect a large number of cameras on a local network to the cloud. It automatically discovers and connects any ONVIF-compliant camera or NVR within the network, providing support for remote access, sensor integration, and home automation via the device’s RTSP stream. With a compact design weighing about 100 grams, the gateway is well-suited for space-constrained environments. It operates efficiently, consuming only around 1-1.5W of power while delivering robust functionality.
Getting Started with the Starllion Cloud Gateway
The gateway connects effortlessly to the local network and automatically detects all ONVIF cameras within its configured range. Using the gateway's intuitive web interface, up to 50 devices can be added, each with a unique Plug-and-Play (P&P) registration code.
Use Cases for the Starllion Cloud Gateway
Adding Cameras
To add a camera, open the Discovery tab and click the 'Plus' button for each camera that needs to be integrated.
Connecting NVRs/DVRs
To connect an NVR to the Starllion Cloud Gateway, ensure that ONVIF is enabled on the NVR, and create an ONVIF user if necessary.
Steps to add an NVR and its connected cameras via the gateway include:
Register the NVR with the gateway, ensuring the correct HTTP and RTSP ports are used.
If the NVR has multiple cameras, add it multiple times using the Add Camera button.
Use the same local address and ports for each NVR instance to generate unique registration codes for each camera.
Add the camera to the Admin Portal using either the P&P method or ONVIF registration code.
From camera settings, select the appropriate camera profile.
Connecting Non-ONVIF Devices
To manually add non-ONVIF compliant devices, click the Add Camera button, enter the camera's local IP address and ports, then click 'Add Camera' to save.
After adding, copy the camera registration code and use it to add the camera via the P&P method in the Admin Portal:
Navigate to the Cameras menu, click the green 'Add' button, and select P&P Camera.
Enter the copied registration code and assign a name (this can be changed later).
Input the ONVIF user credentials and select a plan for the device.
Click 'Create' to finalize the addition.
Note: Adding a non-ONVIF camera via the P&P method does not convert it to ONVIF compliance. Features like analytics will not function as the camera will not send event data.
Adding a Local Server and Controlling it Using Webhooks
The gateway can be used to connect nearly any local device, allowing remote access from anywhere. This setup is ideal for automating processes based on events from cameras or operators.
For instance, a local server could be set up on a Raspberry Pi running a web server and listening for webhook inputs. This allows automation, such as registering license plates detected by cameras.
To configure a webhook, the HTTP command that triggers the Python script must be used as the path when setting up the webhook. The "Push gateway" option should be selected as the destination, and the registration code from the device acting as the web server should be used.
Setting up the Gateway to Use GPIO Pins Upon Receiving Webhook Data
The Starllion Cloud Gateway includes GPIO pins that can be used for automation based on webhook event data. For example, if a camera detects motion at night, the gateway can activate a light or sound an alarm by controlling devices connected to its GPIO pins. Additionally, the gateway can save event data received via Starllion Cloud’s API into a file for later analysis.
Using the Gateway in Networks with Restrictive Firewalls
The Starllion Cloud Gateway is designed to work in networks with restrictive firewalls. It communicates exclusively with Starllion Cloud and creates an encrypted tunnel to ensure data security. As long as traffic through port 443 is allowed and the Starllion Cloud domain is whitelisted, the gateway can establish a secure connection and facilitate communication between the local network and the cloud.
A vulnerability currently exists in various Hikvision camera devices and recorders, allowing unauthorized individuals to gain control and alter device settings. This security flaw enables attackers to execute arbitrary commands due to inadequate input validation or sanitization.
The Starllion Cloud Gateway offers protection against such attacks while connecting existing devices to the Starllion Cloud system in a secure and convenient manner. By establishing a seamless camera connection to the cloud through an encrypted tunnel, the Gateway eliminates the need for port forwarding, ensuring optimal data safety and easy integration. It enhances security and streamlines functionality by providing automatic cloud connectivity, even if the ISP changes or randomly re-assigns the IP address, relieving users from manually updating the IP for each connection. Additionally, the Gateway supports remote access, sensor integration, home automation, and RTSP stream device connections.
To further safeguard against threats, customers should strengthen network and device passwords. Regularly updating the router's firewall security settings and firmware is also crucial to protecting against potential vulnerabilities and unauthorized access. Weak or default passwords, often used for convenience during initial setup, are a major risk. Implementing these basic security practices creates a robust defense, helping to protect sensitive information and secure the digital environment.
Introduction
This guide provides a step-by-step process for setting up a preprogrammed package, which includes a gateway and multiple cameras, for seamless camera deployment. This streamlined approach eliminates the need for manual configuration, activation, or registration of individual cameras, and also removes the requirement of sending a technician to the site if the customer is capable of connecting the cameras themselves. Following this guide allows integrators to efficiently deploy camera systems for clients, saving time and effort.
Step 1: Preparing the Package
As an integrator, gather all necessary equipment, including the gateway and the desired number of cameras for installation.
Ensure that all cameras are compatible with the selected gateway and meet the required specifications.
Step 2: Creating a Customer Account
If the customer does not already have an account, create a new account on the platform. If they have an existing account, proceed to the next step.
Provide the customer with their account credentials, including the username and password.
Step 3: Adding Cameras to the Customer Account
Log in to the platform using the integrator’s account credentials.
Navigate to the customer section and select the customer account that was created or the existing customer account to which cameras will be added.
Select the option to add cameras.
Use the gateway's registration code to add cameras to the account. Choose a billing plan for each camera.
Step 4: Configuring Quality, Analytics, and Users
In the customer account, find the camera settings.
Adjust the quality settings, such as resolution, frame rate, and bitrate, based on customer preferences, or choose one of the predefined plans for automatic quality and recording duration control.
Enable and configure any analytics features, like motion detection or object recognition, based on the customer's needs.
Set up user accounts and permissions, granting access to specific individuals or groups.
Step 5: Equipment Deployment
Ship the gateway and cameras to the customer or send an installer to set up the equipment at the customer’s location.
Upon receiving the package, the customer should carefully unbox and inspect the equipment for any damage during transit.
Find a suitable network connection point near the camera installation locations.
Connect the gateway and cameras to the same local network. Additional equipment like routers or POE switches may be required based on the customer’s network setup.
Power on the devices by connecting them to a reliable power source.
Step 6: Automatic Setup and Configuration
Once the gateway and cameras are powered on and connected to the network, wait for a few minutes to allow the devices to communicate.
The devices will automatically acquire network settings through DHCP, eliminating the need for manual configuration.
After successful connectivity, the cameras will become accessible on the customer’s account.
Step 7: Viewing Cameras and Troubleshooting
The customer can log in to their account using the provided credentials.
Navigate to the Video Portal section, where the cameras will be listed and accessible for viewing.
If any cameras are not detected or are experiencing issues, verify that all connections are secure, and restart the gateway and cameras.
If issues persist, contact customer support or refer to the platform’s knowledge base for troubleshooting assistance.
The GPIO output of the gateway can supply a maximum of 3.3V and 50 mA of current. To control devices that require higher voltage or current, a relay must be used. Any relay that can be activated with the specified current range will work. One example is the 5V One 1 Channel Relay Module Board Shield, commonly used in Arduino projects.
Basic Relay Connection Scheme to GPIO Output:
This example is compatible with the following or similar relays:
To connect the gateway to the relay, follow these steps:
· Connect the 5V output of the gateway to the VCC pin of the relay.
· Connect the GND output of the gateway to the GND pin of the relay.
· Choose a programmable pin on the gateway and connect it to the IN pin of the relay. Depending on the specific relay used, a diode and/or resistor may be required between the programmable pin and the IN pin.
Finally, connect the load circuit to be controlled by the relay to the COM pin and either the NC or NO pin, depending on the desired switching action for the high-current device.
The Starllion Cloud Gateway enables the integration of cameras from a Milestone server while maintaining their connection to the Milestone server. By creating a secure tunnel between the Milestone server and the Starllion Cloud platform, the gateway allows specific cameras to stream to the cloud. Additionally, it connects to the metadata stream, enabling event reception from the cameras on the cloud.
Steps for Integrating Cameras from a Milestone Server:
Enable Network Bridge on the Milestone Server:
Ensure the Open Network Bridge is enabled on the Milestone server, as the gateway uses it for communication. Refer to the Milestone user manual for the detailed procedure.
Add the Milestone Server on the Integration Tab:
Use the Milestone server's local IP address to register it on the gateway's Integration tab.
Once registered, the gateway will automatically detect cameras on the Milestone server.
Add Cameras to the Gateway:
Navigate to the Discovery tab and add the cameras. This process generates a unique registration code for each camera, along with a specific RTSP path for streaming.
Note: Ensure that the ONVIF user is enabled on each camera before adding it to the Discovery tab. Cameras without an enabled ONVIF user cannot be added or accessed.
Handling DNS Configuration Issues:
For Milestone servers configured with DNS names, the Discovery tab may autofill the DNS name in the address field. If the Milestone server has not registered this DNS name with the DNS server or if the gateway is using a different DNS server, connectivity issues may arise. To avoid this, it is recommended to use a static IP address. Replace any auto-filled DNS name with the actual IP address of the Milestone server.
Next Steps for Camera Integration:
Copy the Camera Registration Code and RTSP Path:
After adding cameras to the gateway, note the generated registration code and RTSP path.
Add Cameras to the Platform:
Use the Generic method with the registration code option to add cameras to the platform.
Configure Event Integration:
For each camera, access the "Integrations" tab and enter the Gateway's registration code associated with the Milestone server. Set "Gateway" as the External Event Source to activate event functionality.
Introduction
A webhook is a system that enables applications to receive automated notifications from other applications without requiring manual input. For instance, webhooks can notify a database of new events or interact with other systems, such as activating a light in response to an event.
The GPIO pins on the Starllion Cloud Gateway can process webhook notifications, allowing external electrical devices to respond to events triggered by the webhook. The built-in methods currently support activating a single GPIO pin per webhook. This system allows the pin to toggle between ON and OFF states based on event-driven webhooks, requiring separate webhooks to initiate each state change.
Checking GPIO Driver Availability
Gateways shipped after June 6, 2022, include pre-installed GPIO drivers. To verify whether GPIO functionality is enabled:
Connect to the gateway from the same local network.
Navigate to `http://camera-gateway.local/api/gpio/available` or use the gateway's local IP address with the same path.
A return value of **"True"** confirms driver availability.
A blank page indicates the drivers are unavailable.
Checking the Current State of a GPIO Pin
To check the status of a specific GPIO pin:
Use the following API endpoint:
`http://camera-gateway.local/api/gpio/getOutput?index=<pin_number>`
Example for pin 5:
`http://camera-gateway.local/api/gpio/getOutput?index=5`
Returns **"0"** if inactive (no voltage).
Returns **"1"** if active (3.3V applied).
Changing the State of a GPIO Pin
To modify the state of a GPIO pin:
Use this API endpoint:
`http://camera-gateway.local/api/gpio/setOutput?index=<pin_number>&value=<state>`
Examples for pin 11:
To enable (3.3V applied):
`http://camera-gateway.local/api/gpio/setOutput?index=11&value=1`
To disable (no voltage):
`http://camera-gateway.local/api/gpio/setOutput?index=11&value=0`
Note: These commands apply only to AVYCON Cloud Gateways with a metal case. Older Raspberry-based OS images do not support these GPIO drivers.
GPIO Pin Layout
Refer to the provided pinout diagram for the specific GPIO configuration and connections. Ensure the appropriate commands are used to interact with supported hardware versions.
Configuring Webhooks for GPIO Pins
To utilize GPIO with webhooks, create two webhooks—one for enabling and another for disabling the connected device.
Steps for Configuring Webhooks:
Access the **Integrator Account** and navigate to the **Customer** tab.
Select the desired customer and go to the **Alert Tab**, then choose **Webhooks**.
Click **Create Webhooks** to set up a new webhook.
General Settings:
Delivery Method:** Push Gateway.
Webhook Name:** Enter a descriptive name.
Registration Code:** Found in the gateway's registration section at the top-right of the page.
Path: Specify the GPIO control path:
Example to enable pin 11:
`api/gpio/setOutput?index=11&value=1`
Replace `index=` with the desired pin number.
Set `value=1` for ON (3.3V) and `value=0` for OFF (no voltage).
HTTP Method: Set to GET (POST is not compatible).
Event Configuration:
Select desired events for triggering webhooks to control the device connected to the GPIO pins.
Note: "Analytics" in the platform refers to object detection events generated by the system or smart cameras. Selecting "Analytics" as a trigger links webhooks to object detection events.
The Starllion Cloud Gateway provides a seamless method to integrate NVRs with the Starllion Cloud platform, enabling effective management and access to video streams.
Step 1: Enabling ONVIF on the NVR
Ensure the NVR/DVR has ONVIF enabled. If required, create an ONVIF user on the device. This step is essential for establishing communication between the NVR/DVR and the gateway.
Step 2: Registering the NVR on the Gateway
Use the HTTP and RTSP ports of the NVR/DVR to register the device on the Starllion Cloud Gateway.
For NVRs/DVRs with multiple cameras, add the device multiple times in the Gateway by selecting the **Add Camera** button.
Use the same local address and ports for each instance of the device. This process generates unique registration codes for each connected camera.
Step 3: Adding the NVR to the Admin Portal
There are several methods to add cameras to the Admin Portal using the registration code:
P&P (Plug and Play) Method
Select the **P&P Method** and the **New P&P Camera** option.
Enter the registration code, camera name, and login credentials.
ONVIF Method
Select **ONVIF Method** and choose **Registration Code** as the connection mode.
Provide the registration code and ONVIF user credentials obtained earlier.
Choose the video protocol and HTTP port.
Use the **Get Channels** option to retrieve and select the desired camera profile.
Complete the process by clicking **Create** to add the camera.
Generic Method
Select **Generic Device** and **Registration Code** as the connection mode.
Enter the registration code, choose the video protocol, and specify the video path.
Provide the login credentials used for accessing the camera’s native WebUI.
Step 4: Configuring Streaming Channels
For NVRs/DVRs with multiple cameras, select an appropriate streaming channel for each instance of the device in the system. This step ensures the desired cameras are assigned correctly.
Troubleshooting
If no video appears after adding cameras, confirm that the video encoding is set to **H.264**, as the platform does not support H.265.
Some DVRs may not allow changes to the video encoding profile through ONVIF. In such cases, manually set the encoder to **H.264** via the NVR/DVR WebUI.
Additional Considerations
For NVRs with proprietary Plug and Play (P&P), P2P, or other native protocols:
Ensure the ONVIF protocol is selected for communication with the cameras.
Failure to do so may result in connectivity issues, such as video loss or unexpected changes in resolution and quality.
The Starllion Cloud PUSH Module provides a secure and efficient solution for connecting cameras directly to the cloud while mitigating security vulnerabilities.
Key Features
Plug-and-Play Setup: Cameras can be connected to the cloud by simply plugging them into a router, streamlining the process for both new and existing installations.
Enhanced Security: Eliminates the need for intermediate servers or port forwarding, ensuring cameras remain inaccessible from the open internet.
Temporary access can be granted to authorized IT personnel for maintenance via encrypted tunnels.
Reliable and Encrypted: Establishes a secure, encrypted TLS tunnel with AES-256 encryption, protecting metadata and video streams from capture to cloud access.
How It Works
Connection Initialization: The PUSH Module establishes an outbound TCP connection on port 443 to the cloud upon startup. This ISP- and firewall-friendly method avoids common P2P server vulnerabilities.
Encrypted Tunnels: Creates secure tunnels between cameras and the cloud, ensuring data integrity.
Optimized Performance: Designed to meet CPU and memory efficiency requirements, allowing cameras to perform edge analytics without overheating.
No Firmware Changes: Installed as an add-on to the existing firmware, preserving the device's original security structure and avoiding potential vulnerabilities.
Full Cloud Integration: Includes a locking option that makes cameras accessible only through the cloud, if desired, and prevents unauthorized removal of the module even after firmware updates or factory resets.
Maintenance Access: Offers a PUSH Proxy server feature, enabling temporary access to the camera's WebUI via the cloud for troubleshooting.
Camera Compatibility
The PUSH Module supports a wide range of camera models from renowned manufacturers, including Hikvision, Uniview, Vivotek, Axis, TVT, Tiandy, and Milesight. The module can also be pre-installed at the factory level for bulk configurations.
For detailed compatibility information, refer to the Starllion Knowledge Base.
Additional Solutions
Starllion Cloud Smart Gateway:
Connects ONVIF-compliant cameras or NVRs from the local network to the cloud.
Auto-discovers devices and supports remote access, sensor integration, home automation, and RTSP stream connections.
Chipset-Specific PUSH Modules:
Provides modules for various chipsets, including Intel, Ambarella, MStar, and ARM, enabling seamless hardware integration with the cloud.
Benefits
Ease of Installation: Cameras can be connected to the cloud in under a minute without requiring IT expertise.
Automatic Cloud Connection: Cameras reconnect automatically when an internet connection is available, maintaining a secure, encrypted link.
Reliable Streaming: Ensures stable 24/7 continuous streaming, with cameras appearing in the portal instantly after internet connection.
Bulk Cloud Migration: The PUSH Module can be pre-installed on Starllion Cloud Smart Gateways and NVRs, facilitating seamless migration of existing systems to the cloud.
For additional details, consult the Starllion Cloud Knowledge Base or contact support at support@starllion.com.
Gateway Specifications
Size and Weight
The Gateway measures approximately 3.74 x 2.36 x 1.38 inches and weighs around 3.5 ounces. The design may vary slightly in appearance.
Device Connection Capacity
The number of connected devices depends on camera resolution and network throughput.
720p resolution**: Supports 30–40 streams.
4K resolution at 3–4 Mbps**: Supports 8–10 streams.
1 Mbps streams**: Supports 20–25 streams.
Network throughput typically acts as the limiting factor.
Purpose
The Gateway simplifies cloud connection by providing a secure, encrypted tunnel. It eliminates the need for port forwarding, ensures data safety, and allows automatic reconnection when the ISP assigns a new IP address.
Setup Time
For pre-installed cameras, setup takes about 15–20 minutes. The Gateway is operational within 2 minutes of powering on, requiring only an internet connection and local network access. Cameras are automatically discovered and added with minimal manual intervention.
Setup Procedure
Connect the Gateway to the local network with cameras.
Access the Gateway’s web interface to discover ONVIF-compliant cameras.
Register cameras on the Gateway to generate unique registration codes for cloud integration.
Cloud Connection for Cameras
Cameras and Gateway must be on the same network. Basic camera configurations (passwords, clock settings, etc.) need to be completed. Firewalls should allow the Gateway’s outbound traffic on port 443.
Cross-Region Usage
While possible, routing cameras from different regions (e.g., USA to Canada) through the Gateway is inefficient and defeats its purpose. Direct integration via ONVIF is recommended in such cases.
Camera Discovery
The Gateway uses the ONVIF protocol for camera discovery. If automatic discovery fails, cameras can be added manually by providing their IP address and ports. Ensure ONVIF is enabled on the camera.
Memory Capacity
The Gateway does not have built-in storage. Future updates may introduce storage capabilities based on backup requirements.
Analytics Preprocessing
No preprocessing is performed on the Gateway; all analytics are handled by the cloud server.
Functionality
In addition to discovering cameras, the Gateway establishes and secures encrypted communication between cameras and the cloud.
Possible Failure Causes
Power grid issues, network failures, or physical damage (e.g., water exposure) can disrupt Gateway functionality.
Water Resistance
The Gateway is not water-resistant and should be kept in a dry, protected environment.
Included Components
Gateway device
110V US-style power supply
USB power cable (for 2A chargers)
SD card with pre-installed Gateway OS
User Manual
A printed manual, technical support contact details, and a QR code linking to the knowledge base are included.
Troubleshooting Steps
Perform a power cycle by unplugging and re-plugging the device.
If issues persist, remove and reinsert the SD card.
For unresolved issues, contact technical support.
Backup Feature
Users can back up their SD card to recover camera information if the Gateway fails or to use it on a new Gateway device.
Remote Access
Once registered in the admin portal, the Gateway can be accessed remotely using the "Generate URL" feature from the troubleshooting tab.
Admin Portal Appearance
The Gateway appears as a camera in the portal, but it remains offline as it serves as a device interface, not a camera. Use the portal to manage cameras on the local network.
Enabling ONVIF on NVR/DVR
The system supports adding NVRs/DVRs via the ONVIF method or through the Starllion Gateway. It is necessary to ensure that ONVIF is enabled on the DVR/NVR, and if required, an ONVIF user must be created on the device.
Note: For certain Hikvision NVRs, proper video functionality may only be achieved by setting RTSP authentication to "Digest/basic with MD5." Other configurations might not work. This adjustment is required if the ONVIF connection works and the RTSP connection is available, but video streaming does not start.
Registering DVR/NVR in the Starllion Cloud Gateway
To integrate DVRs/NVRs into the Gateway, register them using their HTTP and RTSP ports. If multiple cameras are connected to the DVR/NVR, the device should be added multiple times in the Gateway using the Add Camera button. Ensure the same local address and ports are used for each entry. This process generates unique registration codes for integration into the Admin Portal.
For the Gateway to discover cameras, ONVIF must be enabled on all cameras, as the Gateway relies on ONVIF settings for detection.
Adding Registration Codes in the Admin Portal
Once registration codes are generated, input them into the Admin Portal using the Plug and Play option. Use the ONVIF user credentials of the NVR/DVR when adding cameras.
Managing Multiple Cameras from DVR/NVR
For each copy of the NVR/DVR added to the system, select an appropriate streaming channel to specify the desired camera.
Resolving No Video Issues
If no video displays after cameras are added, verify that the video encoding is set to H.264, as the Starllion platform does not support H.265 encoding. Some DVRs do not allow video encoding profiles to be changed via ONVIF, requiring manual configuration through the NVR/DVR WebUI for each camera.
Important Configuration Notes
NVRs with proprietary protocols such as Plug and Play, P2P, or other native protocols may encounter connectivity issues. Switching to the ONVIF protocol ensures compatibility and stability.
For devices of the same brand, the NVR might default to a "Private" protocol, causing issues. Changing all cameras to the ONVIF protocol on the NVR, reconfiguring settings, and rebooting both the NVR and cameras typically resolves these problems.
Hikvision cameras may have ONVIF disabled by default. Enabling ONVIF and creating an ONVIF user are essential steps. Access the camera's web user interface to complete this configuration.
Step 1: Starting the Gateway
Connect the network cable and power on the Starllion Cloud Gateway. Allow approximately 5 minutes for the Gateway to boot up.
To access the Gateway's login page, open a browser and enter `camera-gateway.local` in the address bar. Use the following credentials to log in:
Username: admin
Password: 123456
Alternatively, after allowing sufficient time for boot-up, use a network discovery tool such as Advanced IP Scanner to locate the Gateway's local IP address. If the IP address cannot be found after 5 minutes, perform a power cycle on the device and try searching again after 2–5 minutes.
Step 2: Adding Cameras to the Starllion Cloud Gateway
To register cameras on the Gateway, connect a computer or laptop to the same local network as the Gateway and cameras. Open a browser and type the Gateway’s local IP address identified in the previous step. This will display the Push Web Interface.
Automatic Camera Discovery: Access the Discovery tab, then click the Plus button for each camera to integrate.
Manual Camera Addition: If automatic discovery does not detect all cameras, use the Add Camera button to manually enter each camera’s local IP address and ports.
Note: ONVIF must be enabled on each camera for it to be detected and added. Cameras without ONVIF enabled will not appear in the Discovery tab.
After adding cameras, navigate to the Cameras tab to view the registration codes assigned to each camera.
Step 3: Registering the Camera in the Admin Portal
Use the registration codes obtained in Step 2 to add cameras to the Admin Portal:
In the Customers table, select the customer account to associate with the cameras.
Navigate to the Cameras menu under the customer profile.
Click the Add button and choose the Plug and Play Camera option.
Enter the registration code and the camera's ONVIF user credentials.
Select the appropriate billing plan and click Create.
Optional Step 4: Registering the Gateway for Remote Access
To enable remote access to the Gateway’s web interface, register the Gateway's own registration code as a Plug and Play Camera in the Admin Portal. Use the Generate Link button in the Troubleshooting tab to create a temporary link for global access to the Gateway interface.
Note: Disable the Gateway after adding it as a Plug and Play Camera to avoid incurring a minimum monthly charge for the device.
Step 1: Download the Starllion OS Image
The Starllion Cloud OS image includes a preinstalled push module and all required programs for its operation. It is available at the provided [download link].
This operating system is based on a standard Raspbian OS image and is modified to include the push module and a custom web interface to simplify camera integration.
It is compatible with Raspberry Pi models 3B, 3B+, and 4.
Step 2: Install the Raspberry Pi Imager
To install the downloaded image onto a Raspberry Pi, the Raspberry Pi Imager application is recommended. The application can be downloaded from [here].
Step 3: Prepare the SD Card
Open the Raspberry Pi Imager application.
Insert an empty SD card into the computer. It is recommended to use at least a class 10 SD card with 8 GB or more storage capacity.
On the main screen, select the CHOOSE OS option.
From the dropdown menu, select Use Custom, then browse to and select the AVYCON Cloud OS image.
Click CHOOSE SD CARD and select the desired SD card.
Press WRITE to begin the installation. The duration of this process depends on the SD card’s speed.
Step 4: Start the Starllion Cloud Gateway
After installation, remove the SD card from the computer. Insert it into the Raspberry Pi board, ensuring the Starllion Cloud Gateway is powered off. Connect the network cable and power on the Gateway.
If the Gateway’s local IP address is not visible after 5 minutes, perform a power cycle on the Raspberry Pi board and search again after 2–5 minutes.
Step 5: Add Cameras to the Starllion Cloud Gateway
To register cameras:
Use a computer or laptop connected to the same local network as the Gateway and cameras.
Open a browser and enter `camera-gateway.local`.
If the router does not support this, locate the Gateway's IP address using a network discovery tool like Advanced IP Scanner.
Access the Push Web Interface.
Automatic Discovery: Open the Discovery tab and click the Plus button for each camera to integrate.
Manual Addition: Use the Add Camera button to input each camera’s local IP address and ports.
The Registration codes for all added cameras can be found in the Cameras tab.
Note: To access the Gateway web interface remotely, register the Gateway's own code as a Plug and Play camera in the Admin Portal and use the Generate Link button in the Troubleshooting tab.
Step 6: Register Cameras in the Admin Portal
Use the Registration codes obtained in Step 5 to add cameras in the Admin Portal.
In the Customers table, select the customer account for camera integration.
Open the Cameras menu and click Add.
Choose the P&P Camera option.
Enter the camera’s Registration code and ONVIF user credentials.
Select a billing plan and click Create.
Camera Capacity of a Raspberry Pi Board
The number of cameras supported by a Raspberry Pi board depends on the model and concurrent system tasks. Each camera typically requires 1–2 MB of RAM. Network throughput is often the primary limiting factor.
Older Raspberry Pi models have limited network throughput (as low as 60 Mbps).
To calculate total traffic, add the average bitrates of all cameras and multiply by 2 (accounting for incoming and outgoing streams).
If the calculated bandwidth exceeds 75% of the network’s theoretical maximum, use multiple Raspberry Pi units to distribute the load. Operating at or above 75% capacity is not recommended to avoid errors.
To ensure proper functionality of the push module on the Raspberry Pi, both static and automatic IP addresses can be used. However, for convenience, it is recommended to use a static IP address when accessing the Raspberry Pi remotely. This will make it easier to locate on the local network or set up port forwarding for remote access.
Step 1: Assigning a Static IP Using SSH
By default, a new Raspberry Pi is set to use DHCP (automatic) for IP addressing. To assign a static IP address using an SSH shell, the first step is to locate the Raspberry Pi on the local network. An IP discovery tool, such as Advanced IP Scanner, can be used for this purpose:
Once the device is found, access it through an SSH client, like PuTTY.
Step 2: Identifying the Network Interface
The next step is to identify the active network interface. On models like the Raspberry Pi 4, there are typically two interfaces: LAN and Wi-Fi. To see all network interfaces, run the following command:
ifconfig
This will display a list of all active network interfaces.
The interface starting with `127.0` is not active; the correct active interface will have an IP address like `192.168.x.x`. In the example, the active interface is `wlan0`. Note the interface name, as it will be needed for the next steps.
Next, navigate to the network configuration folder by running:
cd /etc/netplan/
Then, check the contents of the folder with:
ls
This will list all files in the folder. Typically, there will be one `.yaml` file, though the name may vary.
Step 3: Configuring the Static IP
Now, edit the network configuration file to set the static IP address for the active interface. Run the following command to open the file for editing:
sudo nano 50-cloud-init.yaml
Replace `50-cloud-init.yaml` with the actual file name, or start typing and press the Tab key to autocomplete. In the editor, the existing configuration for each network interface will be displayed.
If using LAN, specify the IP address, default gateway, and DNS servers. If using Wi-Fi, the network name and password will also need to be added. Update the settings for the correct interface as identified in the `ifconfig` output. Change `true` to `no` and add the specified IP address, network mask, default gateway, and DNS servers.
For example, the configuration may look like this:
```
dhcp4: no
addresses:
- 192.168.0.230/24
gateway4: 192.168.0.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
```
Make sure the IP address you assign is not already in use on the network and is within the correct range (e.g., `/24` for a 255.255.255.0 subnet mask).
Once the changes are made, save and close the editor by pressing `Ctrl+X`, then `Y` to confirm saving.
Step 4: Applying the Network Settings
To apply the new network settings, reboot the Raspberry Pi or run the following command:
sudo netplan apply
After applying the changes, if a new IP address is assigned, the current SSH session will be disconnected. Reconnect using the new IP address.
Overview
This process is designed for advanced users familiar with command-line operations who prefer greater control over integrations. For a simpler setup, a web interface version is available.
Step 1: Setting Up Raspberry Pi
Recommended OS: Ubuntu 18 or Ubuntu 20 (32-bit or 64-bit).
Login as root on the Raspberry Pi, then execute the following commands to download, unpack, and install the push module:
wget https://www.dropbox.com/s/3xnv3j51n609sc4/StarllionPushModule_pi.tar.gz?dl=0 -O StarllionPushModule_pi.tar
tar -xvzf StarllionPushModule_pi.tar
sudo ./install.sh
Step 2: Configuring the System
After installation, the command line will display:
ubuntu@ubuntu:~$ sudo ./install.sh
If not, clear the terminal and retype the above command. Press Enter and input the static IP address of the device (camera/NVR) that will connect to the AVYCON Cloud.
Important Notes:
Devices must have a static local IP to ensure consistent operation. While Raspberry Pi can use DHCP, cameras/devices must not.
Default HTTP and RTSP ports (80 and 554) are required for cameras.
ONVIF user settings may need configuration. For instance, refer to specific instructions for activating ONVIF on Hikvision cameras.
Step 3: Registration Code
Upon successful installation, a registration code will be generated. This code is needed to add devices to the Starllion Cloud.
Step 4: Configuring Multiple Cameras
To register multiple cameras connected to a single Raspberry Pi:
Edit the `rc.local` file:
ubuntu@ubuntu:~$ sudo nano /etc/rc.local
Add lines for each camera, ensuring to include the correct local address
nohup /opt/3dEye/PushModule/StarllionCloudPushModule --local-addr 192.168.0.159 > /dev/null 2>&1 &
nohup /opt/3dEye/PushModule/StarllionCloudPushModule --local-addr 192.168.0.42 --regcode-prefix CAM1 > /dev/null 2>&1 &
nohup /opt/3dEye/PushModule/StarllionCloudPushModule --local-addr 192.168.0.23 --regcode-prefix CAM2 > /dev/null 2>&1 &
nohup /opt/3dEye/PushModule/StarllionCloudUpdateModule > /dev/null 2>&1 &
Save and overwrite the original `rc.local` file. Reboot the Raspberry Pi for changes to take effect.
Generated Registration Codes Example:
- `RASPICAM1000C299947FC`
- `RASPICAM2000C299947FC`
(Note: `000C299947FC` represents the Raspberry Pi's MAC address.)
Step 5: Adding Cameras to Starllion Cloud
· Access the Admin Portal, navigate to the Cameras tab, and select Add.
· Choose the P2P option and enter the registration code obtained earlier.
· Assign a desired name for the camera.
· If custom credentials are used, enter them (ensure they match the ONVIF user configuration).
· Select a billing option and click Create.
The Starllion Cloud will automatically detect the camera and establish the connection.
bottom of page