Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
sdk:sdk [2017/06/14 11:30]
juraschek [Web Manager]
sdk:sdk [2020/06/09 10:00]
juraschek [MQTT]
Line 14: Line 14:
 * otherwise we 'd have to send a short message . * otherwise we 'd have to send a short message .
 */ */
-for ( attempts = 0; attempts < 3; attempts ++) { +for ( attempts=0; attempts<​3;​ attempts ++) { 
-  if ( nb_serial_read (" serial0 ") == " Knock Knock !") { +  if ( nb_serial_read ("​serial0"​) == "Knock Knock !") { 
-    nb_serial_write (" serial0 ", "Who 's there ?"); +    nb_serial_write ("​serial0",​ "Who 's there ?"); 
-    if ( nb_serial_read (" serial0 ") == " Santa ") {+    if ( nb_serial_read ("​serial0"​) == " Santa ") {
       printf (" Hurray !\n");       printf (" Hurray !\n");
-      nb_dio_set (" out1 ", 1);+      nb_dio_set ("​out1",​ 1);
     }     }
   }   }
 } }
-nb_sms_send (" +123456789 ", "No presents this year :(")+nb_sms_send ("​+123456789",​ "No presents this year :(")
 </​code>​ </​code>​
 A set of example scripts can be downloaded directly from the router, you can find a list of them in the appendix. The [[ftp://​share.netmodule.com/​router/​public/​system-software/​latest/​NB_SDK_Arena_Manual.pdf|SDK language manual]] gives a detailed introduction of the language, including a description A set of example scripts can be downloaded directly from the router, you can find a list of them in the appendix. The [[ftp://​share.netmodule.com/​router/​public/​system-software/​latest/​NB_SDK_Arena_Manual.pdf|SDK language manual]] gives a detailed introduction of the language, including a description
Line 104: Line 104:
 The SDK host (sdkhost) corresponds to the daemon managing the scripts and their operations and thus avoiding any harm to the system. In terms of resources, it will limit CPU and memory for running scripts and also provide a pre-defined portion of the available flash storage. You may, however, extend it by external USB storage or (depending on your model) SD cards. Files written to /tmp will be hold in memory and will be cleared upon a restart of the script. As your scripts operate in the sandbox, you will have no access to tools on the system (such as ''​ifconfig''​). The SDK host (sdkhost) corresponds to the daemon managing the scripts and their operations and thus avoiding any harm to the system. In terms of resources, it will limit CPU and memory for running scripts and also provide a pre-defined portion of the available flash storage. You may, however, extend it by external USB storage or (depending on your model) SD cards. Files written to /tmp will be hold in memory and will be cleared upon a restart of the script. As your scripts operate in the sandbox, you will have no access to tools on the system (such as ''​ifconfig''​).
  
-===== Testing =====+===== Simple How-To & Testing =====
   * [[sdk:​Testing the SMS send script]]   * [[sdk:​Testing the SMS send script]]
  
Line 113: Line 113:
   * [[sdk:​customized-web-gui-extension-display-and-change-custom-config-paramters|Custom Configuration Parameters]]   * [[sdk:​customized-web-gui-extension-display-and-change-custom-config-paramters|Custom Configuration Parameters]]
   * [[sdk:​customized-web-gui-extension-display-and-change-custom-config-paramters|Web GUI extension]]   * [[sdk:​customized-web-gui-extension-display-and-change-custom-config-paramters|Web GUI extension]]
 +  * [[sdk:​custom-wegpage-for-digital-output-pulse|Webpage Extention to send a Pulse on the Digital Output]]
  
 ==== Configurations ==== ==== Configurations ====
   * [[sdk:​set-default-route-based-on-current-ssid|Set fake default route dynamically based on SSID]]   * [[sdk:​set-default-route-based-on-current-ssid|Set fake default route dynamically based on SSID]]
   * [[sdk:​softwareupdate-on-change| Start softwareupdate if newer version is available]]   * [[sdk:​softwareupdate-on-change| Start softwareupdate if newer version is available]]
 +  * [[sdk:​remote-configdownload | Request a unique remote config-file from a fileserver and delete it afterwards]]
 ==== Status Parameters ==== ==== Status Parameters ====
   * [[sdk::​connection-statistics|Connection Statistics]]   * [[sdk::​connection-statistics|Connection Statistics]]
Line 128: Line 130:
   * [[sdk:​alarm-via-voice| Create a Phonecall Alarm]]   * [[sdk:​alarm-via-voice| Create a Phonecall Alarm]]
   * [[sdk:​log-to-syslog| Log Status Values to Syslog]]   * [[sdk:​log-to-syslog| Log Status Values to Syslog]]
-   +  * [[sdk:​wwan_switcher|Change WWAN Hotlink according to the Service Type]] 
 +==== GPS ==== 
 +  * [[sdk:​gps-udp-broadcast|Broadcast selected GPS NMEA data to different UDP ports]] 
 +  * [[sdk:​gps-udp-client-GNSStoGPS|Send GNSS data to a remote UDP port in $GP instead of $GN format ]] 
 ==== Serial ==== ==== Serial ====
   * [[sdk:​serial-point-to-multipoint|Serial Point to Multipoint]]   * [[sdk:​serial-point-to-multipoint|Serial Point to Multipoint]]
   * [[sdk::​gps2serial|Write the GPS NMEA Frames to the Serial Interface]]   * [[sdk::​gps2serial|Write the GPS NMEA Frames to the Serial Interface]]
 +  * [[sdk::​serialDatalogger|Read data from the serial port and write it to files in the flash]]
 +  * [[sdk::​hex2serial|Write non ASCII String to the Serial Port]]
 ==== HTTP ==== ==== HTTP ====
   * [[sdk::​ftp2sms|Forward File Content of Files on FTP Server via SMS]]   * [[sdk::​ftp2sms|Forward File Content of Files on FTP Server via SMS]]
Line 139: Line 147:
   * [[sdk::​dio2modbusTCP|Access to the digital I/Os via Modbus TCP]]   * [[sdk::​dio2modbusTCP|Access to the digital I/Os via Modbus TCP]]
   * [[sdk::​ReadInputRegister-ModbusTCP-TempAlam|Read out a Modbus TCP Temperatur Sensor and send an alarm Email]]   * [[sdk::​ReadInputRegister-ModbusTCP-TempAlam|Read out a Modbus TCP Temperatur Sensor and send an alarm Email]]
 +  * [[sdk::​ReadModbus-Janitza-UMG511|Read out a Janitza UMG511 via Modbus TCP]]
 +==== MQTT ====
 +  * [[sdk::​mqtt_simple_status|Send Router Status Informations to an MQTT Broker]]
 +  * [[sdk::​mqtt_advanced_status|Send Router Status Informations to an MQTT Broker - Advanced Version]]
 +  * [[sdk::​mqtt_dio| Publish changes of the Digitial In or Out Interfaces via MQTT]]
 +==== Wifi / WLAN ====
 +  * [[sdk::​wifimodechanger|Change Wifi Mode based on SSID]]
 +  * [[sdk::​wifiprobingclients|Show probing WiFi clients]]
 ==== Various ==== ==== Various ====
   * [[sdk:​telnet-run-a-command-using-telnet|Run a command using Telnet]]   * [[sdk:​telnet-run-a-command-using-telnet|Run a command using Telnet]]
   * [[sdk::​tcp2sms| Sending SMS via TCP]]   * [[sdk::​tcp2sms| Sending SMS via TCP]]
   * [[sdk::​opcuaExample| Publish OPC-UA datas to the Web as JSON-Object also monitoring values]]   * [[sdk::​opcuaExample| Publish OPC-UA datas to the Web as JSON-Object also monitoring values]]
-   +   
- +
- +
-   +
-   +
-   +
- +
- +
- +
-  ​+
  
  
Line 161: Line 168:
 ===== Helpful Functions =====    ​ ===== Helpful Functions =====    ​
     * [[sdk:​ibis2ascii|Convert IBIS Telegrams to valid ASCII Strings (Umlaute)]]     * [[sdk:​ibis2ascii|Convert IBIS Telegrams to valid ASCII Strings (Umlaute)]]
 +    * [[sdk:​castInt2float|Cast two Modbus Register on to one float variable]]
  
  
Line 223: Line 231:
 |[[sdk:​scripts:​webpage|webpage.txt]]| This script will generate a page which can be viewed in the Web Manager| |[[sdk:​scripts:​webpage|webpage.txt]]| This script will generate a page which can be viewed in the Web Manager|
 |[[sdk:​scripts:​write-config|write-config.txt]]| This script can be used to set a configuration parameter.| |[[sdk:​scripts:​write-config|write-config.txt]]| This script can be used to set a configuration parameter.|
 +
 +
 +===== Access the Filesystem =====
 +
 +You can acces the SDK Filesystem externaly via SCP:
 +
 +With Windows you can use the opensource software [[https://​winscp.net/​eng/​download.php|WinSCP]]
 +
 +Connect with the Protocoal SPC, User "​root"​ and your admin password:
 +
 +{{ :​sdk:​screenshot_-_08222017_-_11_04_08_am.png?​nolink | WinSCP Configuration}}
 +
 +Please then go to the folder ​
 +
 +<​code>​
 +/​home/​sdk/​sandbox/​
 +</​code>​
 +
 +Where you find the Filesystem which is usable from the SDK
 +
 +
 +{{ :​sdk:​screenshot_-_08222017_-_11_03_05_am.png?​nolink | WinSCP Remote SDK Folder}}
 +