Releases: cradlepoint/sdk-samples
Built Apps
These files are sample SDK Applications that are ready to use for testing and do not require modification or "building" of the app from source files.
How to use these files:
Download the .tar.gz file, then upload to your NetCloud Manager account and assign to groups.
Additional documentation:
https://customer.cradlepoint.com/s/article/NetCloud-Manager-Tools-Tab#sdk_apps
Sample Application Descriptions
- 5GSpeed
- Run Ookla speedtests via NCM API. Results are put in asset_id field (configurable in SDK Data). Clearing the results starts a new test. This can be done easily via NCM API v2 /routers/ endpoint.
- Download: 5GSpeed v0.2.0.tar.gz
- Autoinstall
- Automatically choose fastest SIM on install. On bootup, AutoInstall detects SIMs, and ensures (clones) they have unique WAN profiles for prioritization. Then the app collects diagnostics and runs Ookla speedtests on each SIM. Then the app prioritizes the SIMs WAN Profiles by TCP download speed. Results are written to the log, set as the description field, and sent as a custom alert. The app can be manually triggered again by clearing out the description field in NCM.
- Download: AutoInstall v1.0.0.tar.gz
- Installer_UI
- Provide a web interface for installers to configure WiFi and run speedtests.
- Download: Installer_UI v1.1.0.tar.gz
- Mobile_Site_Survey
- Field survey tool that runs speedtests and collects modem diagnostics with GPS locations, uploading results for network coverage and throughput analysis to 5g-ready.io
- Download: Mobile_Site_Survey v3.0.2.tar.gz
- Motorola
- Integrates with Motorola SmartConnect by broadcasting WAN and VPN status as UDP beacons on configured LANs.
- Download: Motorola v1.2.0.tar.gz
- app_template
- A template for the creation of a new application utilizing the csclient library.
- Download: app_template v1.0.0.tar.gz
- app_holder
- Just a holder for dynamic_app. See dynamic_app.
- Download: app_holder v1.0.3.tar.gz
- cli_sample
- Includes csterm module that enables access to local CLI to send commands and return output.
- Download: cli_sample v1.0.3.tar.gz
- clients
- Puts the LAN clients in the asset_id field, or specify another field in SDK Appdata.
- Download: clients v1.0.0.tar.gz
- client_rssi_monitor
- Gets the mac address and rssi of connected wlan clients and puts them in the asset_id field.
- Download: client_rssi_monitor v1.0.0.tar.gz
- cp_shell
- Web interface for running linux shell commands.
- Download: cp_shell v0.1.0.tar.gz
- cpu_usage
- Gets cpu and memory usage information from the router every 30 seconds and writes a csv file to a usb stick formatted in fat32.
- Download: cpu_usage v0.2.0.tar.gz
- cs_explorer
- A web based application for exploring config store (CS) data. Runs on http://ROUTER_IP:9002 by default.
- Download: cs_explorer v1.0.0.tar.gz
- dead_reckoning
- Enables dead_reckoning for GPS send-to-server.
- Download: dead_reckoning v1.0.0.tar.gz
- ddns
- Updates a dynamic DNS hostname with the IP address of the WAN device matching specified WAN profile.
- Download: ddns v1.0.0.tar.gz
- dynamic_app
- Downloads apps from a self hosted url and install into app_holder app. Overcome limitates with dev_mode and app size limits.
- Download: dynamic_app v1.0.3.tar.gz
- daily_speedtest
- Runs an ookla speedtest daily at configured hours and put results to user defined field (asset_id).
- Download: daily_speedtest v1.0.0.tar.gz
- encrypt_appdata
- Uses ECC encryption to automatically encrypt app data values that start with specific prefixes (
enc_,secret_,password_, orencrypt_). - Download: encrypt_appdata v1.0.0.tar.gz
- Uses ECC encryption to automatically encrypt app data values that start with specific prefixes (
- ftp_client
- Creates a file and uploads it to an FTP server.
- Download: ftp_client v2.0.0.tar.gz
- ftp_server
- Creates an FTP server in the device. A USB memory device is used as the FTP directory.
- Download: ftp_server v2.0.0.tar.gz
- geofences
- Send alert when entering or exiting geofences. Configure geofences in SDK app data after loading app.
- Download: geofences v1.0.0.tar.gz
- gpio_any_wan_connected
- Set GPIO out high when any wan (not just modems) is connected.
- Download: gpio_any_wan_connected v0.1.0.tar.gz
- gpio_sample
- Demonstrates GPIO (General Purpose Input/Output) functionality.
- Download: gpio_sample v1.0.0.tar.gz
- gpio_wlan_control
- Monitors the GPIO connector input and sets
control/wlan/enabledto match the GPIO value. - Download: gpio_wlan_control v1.0.0.tar.gz
- Monitors the GPIO connector input and sets
- hello_world
- Outputs a 'Hello World!' log every 10 seconds.
- Download: hello_world v1.0.0.tar.gz
- hspt
- Sets up a custom Hot Spot landing page.
- Download: hspt v2.0.0.tar.gz
- ibr1700_gnss
- Demonstrates how to access the gyroscope and accelerometer data on the IBR1700
- Download: ibr1700_gnss v2.0.0.tar.gz
- ibr1700_obdII
- Demonstrates how to access OBD-II PIDs on the IBR1700
- Download: ibr1700_obdII v2.0.0.tar.gz
- iperf3
- Downloads and runs iPerf3 to a user defined server and puts results in asset_id. Clear the asset_id to run a new test.
- Download: iperf3 v1.0.0.tar.gz
- ipverify_custom_action
- Create a custom action in a function to be called when an IPverify test status changes.
- Download: ipverify_custom_action v1.1.0.tar.gz
- logfile
- Writes router logs to flash available for download via HTTP/LAN Manager.
- Download: logfile v0.4.0.tar.gz
- mosquitto
- Demonstrates launching embedded mosquitto server
- Download: mosquitto v1.0.0.tar.gz
- mqtt_app
- Demonstrated MQTT using the paho library
- Download: mqtt_app v2.0.0.tar.gz
- mqtt_app_tls
- MQTT over TLS - extracts certificates from NCOS and uses them for TLS connection.
- Download: mqtt_app_tls v1.0.0.tar.gz
- mqtt_azure_client
- Sample Application which uses SDK to send sensor data to Microsoft Azure IoT Central.
- Download: mqtt_azure_client v2.0.0.tar.gz
- mqtt_azure_tls
- Sample Application which uses SDK to send sensor data to Microsoft Azure IoT C...
NCOS SDK Version 3.0
This software, including any sample applications, and associated documentation (the "Software"), are subject to the Cradlepoint Terms of Service and License Agreement available at https://cradlepoint.com/terms-of-service (“TSLA”).
NOTWITHSTANDING ANY PROVISION CONTAINED IN THE TSLA, CRADLEPOINT DOES NOT WARRANT THAT THE SOFTWARE OR ANY FUNCTION CONTAINED THEREIN WILL MEET CUSTOMER’S REQUIREMENTS, BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. THE SOFTWARE IS PROVIDED “AS-IS,” WITHOUT ANY WARRANTIES OF ANY KIND. ANY USE OF THE SOFTWARE IS DONE AT CUSTOMER’S SOLE RISK AND CUSTOMER WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE, LOSS OR EXPENSE INCURRED AS A RESULT OF OR ARISING OUT OF CUSTOMER’S USE OF THE SOFTWARE. CRADLEPOINT MAKES NO OTHER WARRANTY, EITHER EXPRESSED OR IMPLIED, WITH RESPECT TO THE SOFTWARE. CRADLEPOINT SPECIFICALLY DISCLAIMS THE IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT.
Copyright © 2020 Cradlepoint, Inc. All rights reserved.
NetCloud SDK 3.0 Changes
- New Python module
- csclient.py – Python module containing EventingCSClient() class to replace previous cs.py and CSClient().
- New Sample Applications
- app_template_csclient - Application template utilizing new csclient module.
- Boot2 – Application to run speedtest on all SIMs and prioritize by tcp down, send report with LTE Metrics and speedtest results. Additional options.
- cli_sample – Function to SSH localhost and issue CLI commands and return output. Includes cppxssh.py and dependencies.
- ipverify_custom_action – Application to register a function for event callback – example of ipverify custom actions
- mosquitto – App to start NCOS-native mosquitto MQTT broker using included config file (no python)
- ping_sample – Function to send pings and return results
- shell_sample – Function to issue command at OS shell and return output
- Updated Existing Sample Applications
- Updated all existing sample applications to use new csclient.py module
NCOS SDK Version 2.3
This software, including any sample applications, and associated documentation (the "Software"), are subject to the Cradlepoint Terms of Service and License Agreement available at https://cradlepoint.com/terms-of-service (“TSLA”).
NOTWITHSTANDING ANY PROVISION CONTAINED IN THE TSLA, CRADLEPOINT DOES NOT WARRANT THAT THE SOFTWARE OR ANY FUNCTION CONTAINED THEREIN WILL MEET CUSTOMER’S REQUIREMENTS, BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. THE SOFTWARE IS PROVIDED “AS-IS,” WITHOUT ANY WARRANTIES OF ANY KIND. ANY USE OF THE SOFTWARE IS DONE AT CUSTOMER’S SOLE RISK AND CUSTOMER WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE, LOSS OR EXPENSE INCURRED AS A RESULT OF OR ARISING OUT OF CUSTOMER’S USE OF THE SOFTWARE. CRADLEPOINT MAKES NO OTHER WARRANTY, EITHER EXPRESSED OR IMPLIED, WITH RESPECT TO THE SOFTWARE. CRADLEPOINT SPECIFICALLY DISCLAIMS THE IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT.
Copyright © 2018-2019 Cradlepoint, Inc. All rights reserved.
NCOS SDK 2.3 Changes
- New Sample Applications
- mqtt_azure_tls - Application used for communicating with Microsoft Azure IoT hub using MQTT directly.
- ibr1700_gnss - Application that accesses gyroscope and accelerometer on IBR1700 devices.
- serial_vibration_test - Application that verifies a persistent serial connection exists.
- Updated Existing Sample Applications
- Update Boot1 to v2.6 – Added a retry if the 1st try returns 0/0 for both SIMs. Made the application more robust to handle NCOS 7.0 and greater versions.
- Added logic to raise an exception if SDK mode is not known.
- Added error handling for carriage returns during make.py builds.
- Update Cradlepoint FIPS handling.
- Resolved an issue with application logging on OS X.
NCOS SDK version 2.2
This software, including any sample applications, and associated documentation (the "Software"), are subject to the Cradlepoint Terms of Service and License Agreement available at https://cradlepoint.com/terms-of-service (“TSLA”).
NOTWITHSTANDING ANY PROVISION CONTAINED IN THE TSLA, CRADLEPOINT DOES NOT WARRANT THAT THE SOFTWARE OR ANY FUNCTION CONTAINED THEREIN WILL MEET CUSTOMER’S REQUIREMENTS, BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. THE SOFTWARE IS PROVIDED “AS-IS,” WITHOUT ANY WARRANTIES OF ANY KIND. ANY USE OF THE SOFTWARE IS DONE AT CUSTOMER’S SOLE RISK AND CUSTOMER WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE, LOSS OR EXPENSE INCURRED AS A RESULT OF OR ARISING OUT OF CUSTOMER’S USE OF THE SOFTWARE. CRADLEPOINT MAKES NO OTHER WARRANTY, EITHER EXPRESSED OR IMPLIED, WITH RESPECT TO THE SOFTWARE. CRADLEPOINT SPECIFICALLY DISCLAIMS THE IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT.
Copyright © 2018 Cradlepoint, Inc. All rights reserved.
NCOS SDK 2.2 Changes
- Updated Documentation and corrected errors and broken links
- Fixed make.py and cs.py to use appropriate authentication,
basic or digest, depending on the NCOS release. - Added sshpass for Linux or OS X so that device password does not have
to be manually entered. - Use scp in make.py to install the app for Linux.
- Added 'ALL' option for build and clean make.py commands.
- Add readme.txt for all applications that describe the contents.
- Deleted sample application that were very simple or no longer supported.
(email, gps_localhost, list_serial_ports, log_level, modbus_poll,
modbus_simple_bridge, power_gpio, send_alert, and serial_echo) - Add ibr1700_obdII sample application
- Removed redundant information added to logs by app_logging.py.
- Simplified several apps to make them more concise.
- Added unit and system level test to appropriate application.
- Added unit and system commands to make.py to run the test for
a given application. - Added Software License information for the SDK.
- Removed GNU Make support. Only python make.py is supported.
NCOS SDK version 2.1
This software, including any sample applications, and associated documentation (the "Software"), are subject to the Cradlepoint Terms of Service and License Agreement available at https://cradlepoint.com/terms-of-service (“TSLA”).
NOTWITHSTANDING ANY PROVISION CONTAINED IN THE TSLA, CRADLEPOINT DOES NOT WARRANT THAT THE SOFTWARE OR ANY FUNCTION CONTAINED THEREIN WILL MEET CUSTOMER’S REQUIREMENTS, BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. THE SOFTWARE IS PROVIDED “AS-IS,” WITHOUT ANY WARRANTIES OF ANY KIND. ANY USE OF THE SOFTWARE IS DONE AT CUSTOMER’S SOLE RISK AND CUSTOMER WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE, LOSS OR EXPENSE INCURRED AS A RESULT OF OR ARISING OUT OF CUSTOMER’S USE OF THE SOFTWARE. CRADLEPOINT MAKES NO OTHER WARRANTY, EITHER EXPRESSED OR IMPLIED, WITH RESPECT TO THE SOFTWARE. CRADLEPOINT SPECIFICALLY DISCLAIMS THE IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT.
Copyright © 2018 Cradlepoint, Inc. All rights reserved.
NCOS SDK 2.1 Changes
- Added app_logging.py to the common directory which provides a class for all NCOS syslog level log generation (i.e. info, debug, error, etc.).
- Updated app_template to use the most current cs.py and utilize app_logging.py.
- make.py changes
- Added uuid option which creates and writes a UUID to the package.ini file.
- Modified the build option to not include any hidden files or directories.
- Updated documentation
- Refactored Boot1 app and made it work in NCOS 6.4.
- Update cs.py to not throw an exception for NCM alert generation when running the app on a computer.
- Cleaned up apps and added some new ones
- mqtt_app
- Demonstrates using paho-mqtt client.
- python_module_list
- Output list of NCOS python modules in the logs.
- simple_custom_dashboard
- Creates a simple dashboard using HTML and JS.
- mqtt_app
SDK version 2.0.
This software, including any sample applications, and associated documentation (the "Software"), are subject to the Cradlepoint Terms of Service and License Agreement available at https://cradlepoint.com/terms-of-service (“TSLA”).
NOTWITHSTANDING ANY PROVISION CONTAINED IN THE TSLA, CRADLEPOINT DOES NOT WARRANT THAT THE SOFTWARE OR ANY FUNCTION CONTAINED THEREIN WILL MEET CUSTOMER’S REQUIREMENTS, BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SOFTWARE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. THE SOFTWARE IS PROVIDED “AS-IS,” WITHOUT ANY WARRANTIES OF ANY KIND. ANY USE OF THE SOFTWARE IS DONE AT CUSTOMER’S SOLE RISK AND CUSTOMER WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE, LOSS OR EXPENSE INCURRED AS A RESULT OF OR ARISING OUT OF CUSTOMER’S USE OF THE SOFTWARE. CRADLEPOINT MAKES NO OTHER WARRANTY, EITHER EXPRESSED OR IMPLIED, WITH RESPECT TO THE SOFTWARE. CRADLEPOINT SPECIFICALLY DISCLAIMS THE IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT.
Copyright © 2018 Cradlepoint, Inc. All rights reserved.
This is version 2.0 of the Router SDK and applications. The SDK has been simplified from the previous SDK to decrease the learning curve to allow more focus on application development. The router application infrastructure and packaging is unchanged. That is, an 'tar.gz' application package built with the previous SDK can still be installed into the router using SDK version 2.0. However, the coding of an application version 1.0 may need to be re-factored in order for continued development with SDK version 2.0.