The IOTZ Explorer
The IOTZ Explorer is where we would be doing the configurations between our IoTize products, the targeted device, the mobile application and the cloud
The IOTZ Explorer is divided into 3 main areas:
- IoTize Studio
- Duetware Configuration
- Mobile App
IoTize Studio
The IoTize Studio part is subdivided into two main components:
- Enviroment
- Tap Connection
Duetware Configuration
The Duetware Configuration area is subdivided into three main components:
- General Settings
- Bundles
- Profiles
General Settings
Tap
In this area we will be selecting the variant of the Tap that we would be working with.
Fill in the appropriate details:
- Development Tap Serial number: retrieved automatically from your Tap, there is no need to enter a value manually.
- Store variable information: If selected the name and unit of variables will be stored in Tap's configuration. This option is needed for setting up IoT Platform device twins.
- Low Power Optimization Level: Set to 'High' to make the Tap go into sleep mode when inactive. Only an NFC tap will get it out of this state.
- Host Inactivity time: Inactivity timeout in seconds.
- Use internal JVM: Set to Yes if you want to load a JVM custom code file onto the Tap (to customize I/O signal usage).
- Security: Set to Yes if your system needs the advanced communication security features (refer to [UserManuals > Security] for details).
- Security hash iteration: The number of iterations of the hash algorithms. Higher values provide stronger security, but comes at a cost of performance.
- Configuration access control: Permissions for tap configuration:
- By admin: Allow admin accounts to perform factory reset or any configuration.
- By hardware signal: Allow factory reset by hardware signal ( refer to TpNLink Datasheet).
- By PUK code: Allow using the PUK code to log as admin.
- Tap memory usage: Tap memory usage.
Target Link
In this area we select the Type of Target that will be communicating with the Tap by going to the IOTZ Explorer | Duetware Configuration | General Settings | Target Link | Target Architecture Type : Select MCU for TapNLink or TapNLink-Primer or select System if you are connecting to an external or legacy system
Target Protocols
- Link Target <=> Tap: defines the communication mode between your Tap and your target.
- The Target protocol options are:
- SWD: ideal for POCs but limited to CORTEX-M MCUs. Needs the corresponding port to be enabled. Does not require any adaptation of the target application.
- S3P: Serial Software Secure Protocol. More secure and flexible than SWD but requires that a "code object" is added in your target app. (See "How to change protocol from SWD to S3P" for details).
- Modbus: Like SWD and S3P, this mode works with "mapped variables" and related features: bundles, access rights, automatic generation of monitoring App).
- Serial Standard: This is just a serial channel between your **Tap** and your target system. You cannot manage variables in IoTize Studio, nor use the built-in HTML page generator. Like S3P, it requires an adaptation of your target app. To implement it, attach the feature *Serial Standard* to one or several bundles and build a 'Custom app' using the API, (see [UserManuals/Mobile developement]( UserManuals/MobileDevelopement) for details.
- DirectIO: can be used in compliment of other modes (MCU variables). Contact us for details.
- CAN: is a reliable protocol use mostly in automative (or more generally for transportation). Note that CAN is a differential protocol that requires a specific external transceiver (not present onto TapNLink modules but only on Tapioca-CAN devices).
- Custom: Contact us for details.
- The Target protocol options are:
details for TapNPass :
- Select the product type by going to the IOTZ Explorer | Duetware Configuration | General Settings | TAP
- Select the Type of Target: IOTZ Explorer | Duetware Configuration | General Settings | Target Link | Target Architecture Type : Select System for TapNPass and Tapioca.
For TapNPass:
- Target Link :
- Target protocol: Serial Standard / Modbus
- Identification with LEDs
- Enable LEDs
- Serial port: Auto or your choice
- Modbus Configuration
- Serial Slave Server
- First Register Address:
details for Tapioca:
For Tapioca:
Mobile Link
In this section we define the type of wireless communication we will be using.
Fill in the appropriate details:
- Host Inactivity timeout: Inactivity timeout in seconds bringing the Tap into a sleep mode to preserve energy.
- NFC Pairing Mandatory: Yes means that a BLE/WiFi communication session should be initiated by an NFC tap.
- NFC Interruption Lock: Yes means a BLE/WiFi communication session will not be interrupted by an NFC tap.
- NFC Login: Automatic login upon an NFC tap. By default an NFC tap starts an anonymous session.
- Mode: LoRaWAN (Tap should communicate with LoRaWAN gateway) / Other.
- Configuration string: Device ID (max length 32x2 hex char.)
- Pairing: No (default). Yes means the Tap will try to use BLE pairing.
- Network mode: 'P2P' to use the Taps WiFi. Network(Station) to use another WiFi network.
- Network configuration: These settings control how your Tap WiFi connects to the Internet.
- SSID: SSID Prefix for P2P mode and WiFi network name for Network mode.
- WEP key: Security passcode for the WiFi network.
- IP Address (if mode=Network(Station)): Static IP address, or DHCP if not set.
- IP Gateway (if mode=Network(Station)): IP address of the Gateway.
- IP Mask (if mode=Network(Station)): IP Subnet Mask of the network.
- WiFi Region: Numerical value corresponding to ISO 3166 country code. Each region defines the list of the channels to be used. Most countries comply with the same ETSI standard: Europe, Middle East, Africa, China, Indonesia, Singapore, Thailand, Vietnam and Russia.
- WiFi Protocol: 802.11b; 802.11(b\\g); 802.11(b\\g\\n).
- WiFi Tx Power: Maximum WiFi transmitting power: 10 dBm to 20 dBm\n. Use this to reduce power consumption when 20 dBm is not required.
- Hide WiFi SSID: When Yes, removes SSID from WiFi advertising.
- Hide WEPKey: When Yes, forbids reading WEPKey from Tap.
- Enable Relay: Enable Communication using an MQTT Broker.
- Netkey: MQTT Relay key (default testnetkey).
- URL address: MQTT Broker URL.
- Port: Port id (typically 1883 or 8883).
- Client ID: Unique Client ID for connecting to broker for MQTT Relay.
- Username: Login for connecting to broker for MQTT Relay.
- Password: Login password.
- Certificate: Device certificate for authentication with the MQTT Broker.
- Private Key: Device Private Key for authentication with the MQTT Broker.
- MQTT Broker certificate: MQTT Broker certificate allows your devices to verify that there is not another server impersonating the referenced MQTT Broker.
Cloud Link
We can choose in this area how do we communicate with cloud services. We offer two options MQTT and LoRa. Furthermore as an out of the box option we offer direct communication with AWS, IBM's Watson as well as a Generic MQTT Broker and our own testing cloud.
Fill in Platform and Datalog settings:
Platform- IoT Platform
- No Platform: No cloud access.
- IoTize Developers Broker uses TapNLink-NFC-BLE Primer with 'IoTize Developers Broker' for data logging. (TapNLink Standard must use your own broker. If you want to use IoTize Developers Broker, contact us.)
- IBM Watson: Do not use. Please use Generic MQTT Broker.
- AWS IoT: Do not use. Please use Generic MQTT Broker.
- Generic MQTT Broker: any other MQTT brokers platform.
- Cloud profile: determines the access rights to the IoT platform (Anonymous, admin/ supervisor).
Fill in either IoTize Primer Cloud Platform settings:
- Datalog Settings: Yes uploads datalog settings information (.cloud file) at each 'Publish command'. These settings are needed to decode the contents of data packets correctly. Note that uploading a new .cloud file will reset the previously stored data in 'IoTize Primer Cloud' databases.
- Cloud MQTT Broker: To use 'IoTize Primer Cloud' platform you should use IoTize MQTT Broker at 'user.cloud.iotize.com'. The relay Smartphone acts as a gateway and uses the TapNLink-NFC-BLE Serial Number and password UUID as the username\password authentication to connect to the MQTT Broker.
See How to connect your device to IBM Watson or Amazon aws for details.
JVM
The embedded JVM executes an (optional) embedded Java program that can:
- read target or InTap variables,
- triggers some event on complex conditions,
- use the native classes such as String or JSON to format messages to any specific IoT platform.
- use the MQTT interface to send direct messages to the Cloud (or through a LoRaWAN network).
- drive directly the IOs, analog input, communication ports available on the extension and target connectors.
- send commands to the lwM2M.
Bundles
A Bundle contains one or more variables, and has one or more Profiles attached to it, with read or write access to all the variables in a Bundle.
When a Bundle is selected, it appears as an Active Bundle in the menu bar of the window.
We can imagine Bundles as the pages of our mobile application.
Profiles
The "Profile" defines a group of users that have the same access rights (these rights are defined in the bundles). When a profile is selected the Web View shows the HTML page associated with this profile (with the bundles it can access).
There are 4 **predefined** profiles:
admin
admin (password admin) has full rights (read/writes) on all bundles. It is the only profile authorized to execute a “Factory Reset” or reconfigure the .iotz file. There is no method to recover this password yet, so keep it in a secure place.supervisor
supervisor (password supervisor) can modify logins and passwords (except the administrator password).tech
tech (password tech) has 2 users with their own passwords. This is a simple way to give multiple users the same access with their own passwords.anonymous
anonymous provides the initial login screen. It does not require login. Everyone has anonymous rights as a minimum, so if you associate it with a bundle, everyone can access this bundle.Create a new profile
- Right-click Profiles, select New Profile.
- Click on the new Profile and modify the Profile information pane:
- Items in blue can be modified.
- Name: your choice: up to 16 characters. Longer strings will be truncated.
- Description: kept in the *.iotz* file on the PC
- Id: Unique Profile Id (that can be used by software to access this info.)
- LifeTime: duration before timeout (mins)
- Window Color: used in the WebView pane (enables to distinguish each profile’s HTML page)
- Support from Generated App: Set to No if you don't want this user to be available in your app. We strongly suggest you leave Admin as Yes, so that you can reconfigure the Tap. (If you lose the administrator password, you can no longer change your Tap's configuration)
- Page Title from Generated App: The monitoring page title (default is profile name).
- Login Type: Username and Password, or Security Key
- Login: your choice
- Password: your choice
- You can Rename/Delete profiles: right-click Profile and select Rename/Remove
Users (alias)
This mechanism avoids sharing passwords between individuals.
Users are just aliases of profiles, their access rights are inherited from the parent profile.- Add User: click on a Profile and select New User.
- Add the Name, Description, Type of Login (user name and password, or Security Key) and Password.
- Rename/Delete: right-click User and select Rename/Remove.
For more information about Profiles and bundles follow thins link.
Mobile App
The IoTize Studio allow us to defined 3 different types of apps. - HTML Web pages - Generated Apps - Custom Apps
The HTML pages are retrieved by the smartphone using HTTP protocol so you must install an HTTP server.
General:
- Name: app name used when advertising the BLE of WiFi device.
- App type:
- IoTize 'Tap Manager' HTML Web Pages: to publish HTML pages using the built-in HTML page generator.
- Web Pages Location:
- Android internal storage: Files should be copied to mobiles as Root/IoTize/Relative URL.
- SD card storage: Only for Android systems.
- Primers development Server (user.cloud.iotize.com) Only Primers can use this (used by Publish).
- Other Location: any valid URI.
- Web Pages Product key: (only for IoTize server) Ensures only this Tap can access these webpages. Default is SerialNumber_0000000000
- Web Pages URI: Preset non-changeable address for IoTize 'Tap Manager' HTML Web Pages, changeable URL for others.
- Web Pages Location:
- Generated App: to generate an APK app using App Generator.
Generated App Settings:
- Generation System Mode: Build Server (uses IoTize Cloud)
- IoTize Cloud Project Id: App id on IoTize Cloud.
- Generation System Mode: Build Server (uses IoTize Cloud)
- Generation System Mode: Local (obsolete)
- Location: location of the generated sorce files.
- IoTize 'Tap Manager' HTML Web Pages: to publish HTML pages using the built-in HTML page generator.
- App version: not incremented automatically
Layout and Display
- Columns per page: The layout width is divided in columns and rows.
- App icon pathname: Enter the app icon pathname. Ideally a png file with a size of 1024x1024px.
- Splash screen pathname: Enter the splash screen pathname. Ideally a png file with a size 1024x1024px.
- Primary Color, Secondary Color and Tertiary Color that defines the app's color theme.
- Monitoring page mode
- One page per bundle: Each bundle will be displayed in a separate page.
- One page per profile: One page that will group all the profile's bundles.
Communication Protocols
- Enables or disables the communication protocol handled by the generated app.
- NFC energy harvesting is available on some Taps. Contact IoTize for info..
Pages
- Device Info
- Generate page: Enables or disables the device info page.
- Page title: Customizes the page title.
- Serial Number, Firmware version, Configuration version, Application name: Additional information that could be displayed on the 'Device Info' page.
- About
- Generate page: Enables or disables the app's 'About' page.
- Page title: Customizes the page title.
- Application version: Select yes to add an app version to the 'About' page.
- Developer name: Enter the name of the app developer.
- About: Additional description for the 'About' page.
- Target settings
- Generate page: Enables or disables generating a dedicated page for the target <=> Tap communication protocol.
- Page title: Customizes the page title.
- Supervision
- Generate page: Enables or disables generating a dedicated page for the Tap's administrator tasks.
- Page title: Customizes the page title.
- Connectivity Settings
- Generate page: Enables or disables generation of a dedicated page for the Tap's connectivity settings.
- Page title: Customizes the page title.
App reference stored on Tap NFC tag, and More:
- App reference stored on embedded Tap NFC tag used by Google Play and Apple Store: App AAR for Android, and Universal link for IoS.
- More: Additional binary data that could be embedded in Tap's tag.
IoTize Studio can generate 3 types of Mobile App, the available settings vary accordingly. Refer to UserManuals > Mobile development for help choosing App type.
Custom
Generated App: Generate a branded App using App Generator tool.
IoTize 'Tap Manager' HTML Web Pages: Generate HTML pages.
Primers HTML pages can then be Published on IoTize Primer Cloud.