Frequently Asked Questions
See also IoTize Studio Output messages and their solutions.
General questions
Is IoTize Tap Manager compatible with iPhone?
IoTize Tap Manager for iOS is compatible with iOS version 12 or above. To use NFC features of IoTize Tap Manager, you need an iPhone 7 or newer. To use the background Tag reading feature, you need an iPhone XS, XS Max or XR model. IoTize Tap Manager is compatible with WebApps built with @iotize/device-client.js version 0.0.1-alpha.78 or newer and IoTize Studio version 1.24 or newer. TapNLink Primers older than the ones distributed in July 2018 are not compatible with IoTize Tap Manager for iOS. If you are planning to use an old Primer with an iPhone contact us at support@iotize.com for an upgrade.
How can I locate the NFC antennas of my smartphone and Tap?
To “tap” successully, your Tap and smartphone NFC antennas must be aligned, so you must know their location.
- Location of the NFC antenna of your Tap:
- The NFC is located all around the PCB.
- It has a rectangular form (about 25 mm \* 35 mm).
- Location of iPhone NFC antennas is at the top, rear side of the iPhone, right of the camera.
- Location of your Android smartphone’s NFC antenna:
- May be anywhere on the back of your smartphone
- This antenna is generally slightly bigger that the NFC antenna on the Tap.
You must slowly slide the phone around over the Tap until you find the spot that gives the most consistent pairing success.
How do I “tap” my Android NFC smartphone on the Tap?
- Put your smartphone and Tap NFC antennas close together (< 2-3 cm max).
- Keep them in this position for about 5 seconds, until NFC communication is established, and the application displays the “Welcome page “(with the IoTize logo), then the monitoring page.
- Move your phone at least 20 cm away from your Tap to avoid unexpected pairings, which could alter subsequent operations.
Architecture
For what type of electronic system?
Either a sensor, or a card controlled by a microcontroller, or a system offering a 'fieldbus' connector (RS485, RS232, CAN, Ethernet, etc.). TapNLink modules are intended to be integrated into sensors or electronic cards, while Tapioca and TapNPass boxes are finished products that can be connected to ports (Modbus, CAN, Ethernet, etc.) provided for using traditional cables.
How to connect a TapNLink module to a microcontroller?
If the microcontroller is of the 'Cortex-M' type, you can first use its debug port. Through this channel, no modification (either software or hardware) is then necessary and a few minutes are enough to achieve a first PoC. To switch to a more secure mode, it is advisable (possibly via the Debug port) to use the S3P protocol, or even an SPI or UART port. In these different cases, a code is generated that simply needs to be added to the initial embedded software.
What are the benefits of the NFC for connectivity?
NFC can be used either as a communication channel in its own right, or as a facilitator companion to Bluetooth (or WiFi). In the 'companion' mode, it will allow you to launch the mobile application automatically, then to make a secure connection. In the 'single channel' mode, it allows communication according to the '3 strokes' mode. This mode is particularly suitable for infrequent communications/configurations.
Mobile Applications
What are the steps to obtain a mobile application?
At first, we advise to start if possible with Tap Manager which is a 'universal' application in which we will configure for each variable its graphic representation (gauge, curve, slider, buttons, etc.). After this first quick PoC, a mobile application should be generated from Studio and the automatic application generator. Finally, after recovering the source files of the project, adapt the graphics and the functionalities to your requirements.
How far to go with Tap Manager as the only tool?
The Tap Manager Wizard allows you to perform a PoC in 5 minutes for the Modbus and SWD protocols. For all other protocols, configuration must be performed from IoTize Studio. Similarly, Tap Manager does not currently allow you to add a Java program, which limits its use in the case of a simple sensor.
What types of applications can be generated from Studio?
These are source projects compatible with the Ionic platform. These sources can be compiled for Android, for iOS or in the form of a WEB App. They are supplemented by 'plugins' provided free of charge by IoTize which provide the lower communication layers.
What are the limitations of the WEB App version?
The WEB App version does not support NFC or the Socket over WiFi protocol. On the other hand, the MQTT over websocket (for remote communication) or BLE (when the browser allows it) protocols are accessible. Not all browsers support BLE communication but Chrome, Edge and Opera do.
Software tools
When to switch from 'no-code' to 'low-code'?
It is recommended to carry out a first configuration with Tap Manager in a “No Code” mode. This generally allows you to have a first overview, a first proof of concept, in a few minutes. To go further, you should go to IoTize Studio and generate an application using the automatic application generator. It will then be necessary to switch from “No Code” to “Low Code” in the following situations:
-
When Java code is required: for example to format data to be sent to the Cloud, to generate alarms or to manage a sensor directly.
-
When you want to go further in personalizing the mobile application. It will then be necessary to recover the sources of the project to further customize the mobile application.
How to debug my Java code?
If the Java code is large enough to require debug functionality, you will need to download the Ride7 development environment and the 'Java' Kit. Debugging is done by radio: WiFi, BLE, etc. depending on the available channels. All of these tools are free.
Cloud
How is a connection to an IoT platform made?
IoT platforms (AWS, Azure, IBM, etc.) support the MQTT protocol (generally secured by TLS). Duetware firmware can be configured to the requirements of these platforms for remote communication from mobile apps. An API also allows communication from the platform via a public API.
How to adapt data transfers to an IoT platform?
The difference between two IoT platforms lies less in the connection mode (MQTT with TLS in general) than in the formatting of Topics on the one hand and messages on the other (often JSON). Thanks to native Java classes (JSON, String, etc.), it is very easy to perform such formatting according to the specifications of the IoT platform for sending data. Various examples are available for the main platforms (AWS, Azure, etc).
How to detect/generate an alarm?
The Java program has access to variables that it can monitor. An alarm condition is then easily implemented and sending the message to an MQTT broker is then possible as soon as you have an internet connection via WiFi or LTE-M / NBIOT.
Security
How is the security of remote communications ensured?
All communications (local or remote) will be secured by a SCRAM (Salted Challenge Response Authentication) mechanism. Remote communications (MQTT) will also benefit from double encryption by TLS. Finally, security is further enhanced by the fact that connections to MQTT brokers are themselves subject to additional authentication.
How are the local communications secured?
SCRAM (Salted Challenge Response Authentication) is also implemented regardless of the protocol (WiFi, BLE, NFC). This process is based on a system in which shared secrets (passwords) make it possible to build encryption keys without communicating passwords.
In addition, it is possible to require (by configuration) that the communication is always initiated by NFC, in order to ensure that an 'over the air' connection, through walls, is impossible to achieve.
How do modules protect themselves from 'brute force' attacks?
For local communications, it is recommended to require NFC to initiate radio communications. But the login attempts are themselves controlled insofar as the minimum time required between two login attempts will increase over time. The slowdown is such that automatic hacking robots will quickly be trapped by the slowness of the system. Only a valid login can remove the 'brake' on the connection.
Troubleshooting
Why can't my mobile connect to the target via WiFi?
The WiFi only accepts one connection at a time.
-
Check that your computer is not connected (left click on the computer icon).
-
Check that another device is not connected.
-
Swipe to the right on your phone and tap Info.
a. Check that the "Configuration explorer | WiFi Connectivity | SSID" on your mobile, is the same as "IoTized Application | Incoming communication (Wireless) | WiFi" settings. If not, make it.
b. Check that the "Configuration explorer | WiFi Connectivity | Hostname" on your mobile, is the same as "Studio | Connection to Tap | Socket host name/IP". If not, make it.
-
Power the target off and on.
-
Forget the WiFi network on the mobile and reconnect with the correct password.
-
Connect via NFC or BLE, logon as admin:
a. Check WiFi is authorized for this device, if not, Authorise WiFi
b. Reboot the device
If you still can't connect, connect via BLE again, change the WiFi password (see the "How to" guide), reboot and connect using the new password.
Why can't IoTize Studio connect to the target?
Connect to your device with Tap manager to see it's current settings:
-
Check that your computer is connected to the Taps WiFi network.
-
Check that the "Studio | Connection to Tap" settings match those of the Tap. Defaults are:
a. Protocol: Socket
b. Socket hostname: 192.168.4.1.
c. Service name/Port: 2000
d. Password: ABCD1234
Why is the BLE connection unresponsive?
-
Switch on and off the BLE connection in the smartphone general settings.
-
Unpair the IoTize BLE appliances and rescan for BLE devices.
-
Check that another device is not connected.
-
Make sure your smartphone is charged. Using the gateway from your smartphone significantly increases power consumption, especially if you are logging high volumes of data.
-
If none of the above actions work, switch off your smartphone and restart it.
Why won't my iPhone start Sensor demo?
Sensor demo requires iOS 11.0 or newer.
NFC\WiFi pairing features need an iPhone 7 or newer, with iOS13 or newer.
iPhones XS or newer can also scan NFC tags and launch 'Sensor demo' automatically when scanning a Tap.
Why is Studio stuck "Loading app" in Webview ?
The HTML pages are missing some files, or the URL is not available.
-
Save the project in a user directory where you have full read/write access (maybe not Program Files).
-
Reconfigure/reboot/publish as appropriate.
What are the factory reset values?
WiFi network: TAP_xxx
WiFi password: ABCD1234
IP number: 192.168.4.1
Service name/Port: 2000
Network mode: Access Point
SSID: TAP
See TapNLink User Manual for other factory reset info.
Why can't I configure my Tap?
Someone must be using the app on your Tap: Close the app.
Why won't Tap Manager create a socket relay connection?
-
Check the PC and the mobile are both connected to the same (relay) network.
-
Force off Tap Manager and setup the relay again.
-
Click on the Socket and change the port number.
IoTize Studio Output messages (and solutions)
*** ERROR: Connection/Configuration/Login to Target failed.
Someone else is already connected to the target. Disconnect them.
*** ERROR: Failed connecting to the TAP.
*** ERROR: CIoTizeComDrv::Read_Socket, recv failed, Error:10060
*** ERROR: Communication Error 0x274C during Get.
There is nothing wrong. There may be a cache issue, try changing the IP value, Connect, then change it back to the correct value.
*** ERROR: Cloud project with identifier "ProjectName" does not exist
Check you are looking on the correct IoT Platform: check the Mobile App and IoT settings.
*** ERROR: You have to select an existing Cloud Project Id (see 'Mobile App' options)
Click 'See Project List', choose a project, then click 'Select'.
*** ERROR: Reconnection failed. Asking for manual unplug and replug...
Unplug and replug the Tap. If this doesn't fix it:
1. Connect to the Tap with NFC/BLE on your mobile, swipe to the right on your phone and tap Info.
2. Check that the "Configuration explorer | WiFi Connectivity | SSID" on your mobile, is the same as "IoTized Application | Incoming communication (Wireless) | WiFi" settings. If not, make it.
3. Check that the "Configuration explorer | WiFi Connectivity | Hostname" on your mobile, is the same as "Studio | Connection to Tap | Socket host name/IP". If not, make it.
*** ERROR: Publish failed and ERROR: Missing parameter 'key'
Check the Mobile App | Web Pages location | Product Key (default: SerialNumber_00000000)
*** ERROR: Publish failed and ERROR: Invalid device credentials
-
Check the Mobile App | Web Pages location | Product Key (default: SerialNumber_00000000)
-
Check the IoT Platform (MQTT) | Cloud MQTT Broker | Password (default: SerialNumber_00000000)
-
Check you are allowed to publish on your chosen server
Contact IoTize support to resolve the following messages:
*** ERROR: You are not authorized to create app generator project
*** ERROR: You are not authorized to create project anymore. Your plan is now over.