- IoT appliance – appliance with ability of connecting to external device directly or through internet.
- IoT protocol – the way of connecting to internet.
|Protocol||Direct connection to smartphone||Need gateway||Distance||Popularity||Battery operated devices|
- Microcontroller/chip – H/W component to provide connectivity control from server to IoT appliance.
- F/W (Firmware) – program/soft placed on the microcontroller processor.
- Server – processor/computer, managing data traffic between IoT appliance and mobile application.
- Cloud – virtual server – servers physically placed in multiple locations and program/SW running on most optimal between them.
- Mobile app – application running on mobile device.
- UI (user interface) – appearance of mobile app.
- UX (user experience) – process of enhancing user satisfaction by improving the usability, accessibility, and pleasure provided in the interaction between the user and IoT product.
Identify main purpose of IoT function in your product and check consistency of main features:
Cool stuff to entertain end-user and/or his friends/guests. Should be simple for the first usage, especially “killing scenario”. No gateway required for “killing scenario”, means should be Wi-Fi or BT (preferably no BLE, that requires last 1-2 years phones models only).
Many appliances have complex features and are problematic for configuration with limited count of buttons and small display – smartphone application is perfect to provide simple interface for configuration and full usage of all features. BT is perfect – simple connecting. Examples: recipes for cooking appliances, control over air conditioner.
Cheap gateway and suitable notifications on the phone are critical. Automatic re-connecting, storing of configuration and storing last notifications until successful transferring to end user in the case of network or power malfunction is important. Examples: security detectors.
Real time status of appliance should be displayed before any command. Multiple users suitable control. Option to manage users rights for status monitoring and control from “main” user and option to overwrite/block others commands. Examples: heater, water boiler.
Check all aspects of UI (user interface)
Connecting to appliance:
- Special requirements to smartphone
- Special additional devices (gateway) requirement
- Required registration from end-user. Requirement for unique username, password strength, email
Options for notifications (should be configurable for availability when mobile app is closed and when phone is not active).
Options for configurations for automatic functioning.
Cloud should belong to business customer, owning the product
Domain name is hardcoded in the microcontroller inside the appliance.
Domain name should belong to business customer or changed to one, that belongs to business customer.
Preferably to have option to change domain name by update of F/W.
Preferably to have two domains hardcoded – main and secondary (that is automatically activated in the case of main domain failure).
Most of products are based on “private” protocols, means they can work together with the same protocol products only.
It’s especially critical for gateway, where is required – every protocol requires its special gateway
There are some alliances sharing the same protocol standard and thus allows products from the different producers to share the same gateway and work together.
Proper usage of built-in to standard protocols security features makes the system pretty safe from hackers attacks.
Main decision point is about password or paired phone access:
- Password protected system allows access from any mobile device to anyone, who knows username and password of the account.
- Paired phone protected system allows access only from the phone, that was paired (process of connecting, requires physical presence of the phone near IoT appliance) to appliance.
Prototype is the best way to get sense of the IoT product features without its full development and manufacturing.
Prototype can be done in several levels of complexity:
- Map of screens
- Demo of mobile app
- Demo of IoT appliance with mobile app
Cost and time of prototype can be reduced by removing features and by using approach, not appropriated to mass production.
Options for reducing features to simplify prototype:
- Ignoring algorithm details, critical for correct result, but not relevant to user experience, as cooking program in multi-cooker
- Removing multiple users support
- Removing simultaneous control from mobile device and appliance control panel
- Hard configuration for specific network
In many cases prototype can be implemented faster and cheaper, if done in the way, different from mass production optimal approach:
- Using more expensive, but more powerful and versatile components for development
User experience includes the next aspects:
Intuitive applying of the appliance through app
Tolerance to wrong actions and simultaneous actions from different users
Convenient monitoring of the status and completion notifications
Users rights management – moving from main user to others and restrictions for critical control rights
Convenient first time connection
Simple connecting for next users
Mass production process involves in most cases many tuning and adjustments steps, that makes the product stable and reliable for the functionality and result.
Since integrating Wi-fi or Bluetooth function requires change of microcontroller, keeping all elaborated adjustments has to be validated.
Wi-fi integration methods
Most of modern kitchen appliances have built-in PCB with some microcontroller, that gets input signals from manual control buttons, (in some cases) from sensors and controls output signals to executing elements (as heating elements) and displays.
Connection to Wi-Fi in most cases is done through microcontroller with built-in Wi-Fi module.
There are two practical methods of integrating Wi-Fi microcontroller into existing appliance PCB:
- Replacing existing microcontroller with moving all existing algorithms of manual control to Wi-Fi microcontroller
- Adding Wi-Fi microcontroller with option of monitoring all input signals and their “imitation”, when control signal is coming from smartphone
Replacement of existing microcontroller by Wi-Fi one is the most optimal from cost and PCB size points of view.
It also allows perfect synchronization between monitoring and displaying status of appliance regardless control it from smartphone or manually:
- Any manual control change is immediately reflected on smartphone`
- Smartphone interface can be different from manual one
- New features, not allowed by manual control, can be added to smartphone interface
The complications are around moving original algorithms to new microcontroller – in many cases owner of F/W is not ready or not able to provide source code for that algorithms.
In such case reverse engineering should be applied – we have rich experience in many kitchen appliances categories and many of ours algorithms are used by manufactures. Together with experience in reverse engineering it allows us successfully convert appliances to “smart” once.
Adding Wi-Fi microcontroller allows to avoid any changes in original microcontroller and the way, appliance works with manual control.
In cases where buttons and sensors are connected to main PCB through standard connectors, any change of PCB can be avoided.
The complications could be around:
- Reflecting manual control changes on smartphone interface. If status of some parameters is not definite before change and is done by incremental method, the current value of the parameter can be detected by monitoring output to display only. In some cases such method is very expensive.
- Time of programming. Incrementally changeable parameters can be programmed from smartphone also incrementally and thus take long time. If parameter value before changing start is not definite, than it has to be decremented to some “bottom” value (usually “0”) and thus programming take some additional time
Optimal solution depends on the specific appliance.
Input signals from buttons are connected to added Wi-Fi microcontroller and from it – to original microcontroller:
- In case of manual control signals are just moved through microcontroller
- In case of smartphone control, signals are imitated by Wi-Fi microcontroller towards original microcontroller
Next are two most critical points for IoT appliances testing/QA:
Simultaneous control by different users from mobile app and/or from appliance panel
Proper functioning of mobile app on all types of smartphones and all versions of OS – iOS and Android
Above aspects resulting in very high amount of corner cases for testing. The most practical one is “crowd testing”, that can be done by “alpha/beta” users or by paid testers. To monitor quality of crowd testing, automatic monitoring system should be installed on all phones/appliances to collect statistics over failures over actions and users.
Another very powerful testing method is “random testing” – machine randomly applies different actions and monitoring proper functioning of the system. Quality parameter of such method is level of coverage of the formal specification of the system.
Constant changes in smartphones models and Operating Systems of iOS and Android make maintenance of IoT appliances critical from the point of view of valid high professional support for all parts of the system:
Simple feedback form through mobile app is important to let end-users express issues and comments and get early indications on any problems.
Capability of remote control and status monitoring in IoT appliances brings many opportunities for after sale improvements:
Sophisticated CRM system for:
- easy diagnostics of technical problems
- learning end-user habits and preferences for optimization of services and marketing purposes
- Advertising new products and services
- Definition of new products
- Collecting information, critical for other partners on other markets