Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions content/applications/general/iot.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The following IoT systems are supported:

.. note::
- :abbr:`MRP (Material Requirement Planning)` devices, including cameras and measurement tools,
are not compatible with Windows virtual IoT.
are not compatible with the Windows virtual IoT.
- Multiple IoT systems can be used at the same time.
- It is also possible to create a Windows Virtual Machine on a MacOS/Linux computer. However,
this option is not supported by Odoo, and no troubleshooting assistance will be provided.
Expand All @@ -28,12 +28,10 @@ The following IoT systems are supported:
IoT box subscription
====================

An IoT box subscription is required for production use of IoT systems. If you have issues related
to your subscription, contact the database's account manager or Odoo partner for assistance.

.. tip::
If the subscription is linked to an `Odoo.com <https://www.odoo.com>`_ portal user, check the
information on the portal's subscription page.
An IoT box subscription is required for production use of IoT systems and generating the
:doc:`HTTPS certificate <iot/iot_advanced/https_certificate_iot>`. It is created automatically
when an IoT system is :doc:`connected to the database <iot/connect>`. If you have issues related to
your subscription, contact the database's account manager or Odoo partner for assistance.

.. seealso::
- `Odoo's compatible IoT devices <https://www.odoo.com/app/iot-hardware>`_
Expand All @@ -55,7 +53,7 @@ to your subscription, contact the database's account manager or Odoo partner for
:target: iot/windows_iot
:large:

Set up Windows virtual IoT.
Set up a Windows virtual IoT.

.. card:: IoT system connection to Odoo
:target: iot/connect
Expand All @@ -70,8 +68,8 @@ to your subscription, contact the database's account manager or Odoo partner for
.. card:: HTTPS certificate
:target: iot/iot_advanced/https_certificate_iot

Verify your IoT system and database meet the eligibility requirements for HTTPS certificate
generation and address any related issues.
Verify your database meet the eligibility requirements for HTTPS certificate generation and
address any related issues.

.. card:: IoT system updates
:target: iot/iot_advanced/updating_iot
Expand Down
36 changes: 20 additions & 16 deletions content/applications/general/iot/connect.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ To connect the IoT system to an Odoo database, the following prerequisites must

- The Internet of Things (IoT) app must be :ref:`installed <general/install>`.
- The IoT system must be connected to the network.
- The computer connecting to Odoo must be on the same network as the IoT system.
- The device connecting to Odoo must be on the same network as the IoT system.

.. note::
It is recommended to connect the IoT system to a **production** instance, as other types of
Expand All @@ -23,16 +23,20 @@ To connect the IoT system to an Odoo database, the following prerequisites must
Connection
==========

The IoT system can be connected to the Odoo database using a :ref:`pairing code
<iot/connect/pairing-code>` or a :ref:`connection token <iot/connect/token>`.
To connect the IoT system to the Odoo database, open the IoT app and click :guilabel:`Connect`.
If an IoT system is detected, it is connected automatically. If multiple IoT
systems are found, select the appropriate one in the popup that opens, then click
:guilabel:`Connect`. If no IoT system is detected automatically, try connecting it to the database
using a :ref:`pairing code <iot/connect/pairing-code>` or a :ref:`connection token
<iot/connect/token>`.

.. _iot/connect/pairing-code:

Connection using a pairing code
-------------------------------

.. note::
- The pairing code is displayed for up to 5 minutes after the IoT system starts. If the code is
- The pairing code is displayed for up to 2 hours after the IoT system starts. If the code is
no longer visible, reboot the IoT box or :ref:`restart the Windows virtual IoT service
<iot/windows_iot/restart>` to display the pairing code again. Alternatively, connect the IoT
system to the database using a :ref:`connection token <iot/connect/token>`.
Expand Down Expand Up @@ -64,16 +68,17 @@ Connection using a pairing code
:guilabel:`Pairing Code` section.

#. In Odoo, open the IoT app and click :guilabel:`Connect`.
#. In the :guilabel:`Connect an IoT Box` popup that opens, enter the :guilabel:`Pairing code`.
#. Click :guilabel:`Pair`.
#. In the :guilabel:`Searching for an IoT Box` popup that opens, click :guilabel:`Use Pairing Code`.
#. Enter the :guilabel:`Pairing code` and click :guilabel:`Connect`.

.. _iot/connect/token:

Connection using a connection token
-----------------------------------

#. In Odoo, open the IoT app and click :guilabel:`Connect`.
#. In the :guilabel:`Connect an IoT Box` popup that opens, copy the :guilabel:`Token`.
#. In the :guilabel:`Searching for an IoT Box` popup that opens, click :guilabel:`Offline pairing`.
#. In the :guilabel:`Pair an IoT Box offline` popup that opens, copy the :guilabel:`Token`.
#. Access the :ref:`IoT box's <iot/iot-box/homepage>` or :ref:`Windows virtual IoT's
<iot/windows-iot/homepage>` homepage.
#. In the :guilabel:`Odoo database connected` section, click :guilabel:`Configure`.
Expand All @@ -88,14 +93,14 @@ IoT system form
===============

Once the IoT system is connected to the Odoo database, it is displayed as a card in the IoT app.
Click the IP address on the card to access the :ref:`IoT box's <iot/windows-iot/homepage>` or
:ref:`Windows virtual IoT's <iot/iot-box/homepage>` homepage. Click the card to access the
list of :doc:`devices <devices>` connected to the IoT system.
Click the card to access the IoT system's form, which allows to:

.. tip::
:ref:`Enable the developer mode <developer-mode>` to access the IoT system's
:guilabel:`Technical Information`, such as its :guilabel:`Identifier`, :guilabel:`Domain
address`, and :guilabel:`Image version`.
- access the :ref:`IoT box's <iot/windows-iot/homepage>` or :ref:`Windows virtual IoT's
<iot/iot-box/homepage>` homepage.
- view the list of :doc:`devices <devices>` connected to the IoT system;
- access the IoT system's :guilabel:`Technical Information`, such as its :guilabel:`Domain address`,
:guilabel:`Image version`, and :doc:`SSL certificate <iot_advanced/https_certificate_iot>`
:guilabel:`End Date`.

.. note::
By default, drivers are automatically :ref:`updated <iot_updating_iot/handlers>` every time the
Expand Down Expand Up @@ -147,5 +152,4 @@ The IoT system is disconnected from the database after an Odoo upgrade

:ref:`Update the IoT system's image <iot/updating_iot/image-code>` by flashing the IoT box's card or
:ref:`uninstalling the Windows virtual IoT program <iot/windows_iot/uninstall>` and
:ref:`reinstalling <iot/windows-iot/installation>` the latest package for Windows **matching your
database's version**.
:ref:`reinstalling the virtual IoT package <iot/windows-iot/installation>`.
115 changes: 23 additions & 92 deletions content/applications/general/iot/devices/screen.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,109 +2,40 @@
Connect a screen
================

In Odoo, an :abbr:`IoT (Internet of Things)` box can be connected to a screen display. After being
configured, the screen can be used to display a Point of Sale (PoS) order to a client.

.. figure:: screen/screen-pos-client-display.png

An example of a PoS (point of sale) order on a screen display.

Access the customer display by going to the :abbr:`IoT (Internet of Things)` box homepage and
clicking on the :guilabel:`PoS Display` button. To get to the :abbr:`IoT (Internet of Things)` box
homepage, navigate to :menuselection:`IoT app --> IoT Boxes` and click on the :abbr:`IoT (Internet
of Things)` box homepage link.
The :doc:`IoT box <../iot_box>` can be connected to a screen, e.g. to ease the IoT box's setup
and/or serve as a :ref:`customer display <pos/hardware/display>` to show customers their :doc:`Point
of Sale </applications/sales/point_of_sale>` orders.

Connection
==========

The way to connect the screen display to the :abbr:`IoT (Internet of Things)` box differs depending
on the model.

.. tabs::

.. tab:: IoT Box model 4

Connect up to two screens with micro-HDMI cables on the side of the :abbr:`IoT (Internet of
Things)` box. If two screens are connected, they can display distinct content (see
:ref:`Screen Usage <iot/usage_screen>`).

.. tab:: IoT Box model 3

Connect the screen with an HDMI cable on the side of the :abbr:`IoT (Internet of Things)` box.

.. seealso::
:ref:`See the Raspberry Pi Schema <pos/pos_iot/connect_schema>`.

.. important::
Screen(s) should be connected before the :abbr:`IoT (Internet of Things)` box is switched on. If
it is already on, connect the screen(s), and then restart the :abbr:`IoT (Internet of Things)`
box by unplugging it for ten seconds and plugging it back into its power source.

.. warning::
The usage of HDMI/micro-HDMI adapters may cause issues which will result in a blank, black screen
on the screen display. Using the specific cable for the display connection is recommended.

If the connection was successful, the screen should display the :guilabel:`POS Client display`
screen.

.. image:: screen/screen-pos-client-display-no-order.png
:align: center
:alt: The default "POS Client Display" screen that appears when a screen display is successfully
connected to an IoT box.

The screen should also appear in the list of :guilabel:`Displays` on the :abbr:`IoT (Internet of
Things)` box homepage. Alternatively, the display can be seen by accessing :menuselection:`IoT app
--> Devices`.

.. image:: screen/screen-screen-name-example.png
:align: center
:alt: An example of a screen display name shown on the IoT Box Home Page.
Connect the screen to the IoT box using a micro-HDMI cable.

.. note::
If no screen is detected, a default display named :guilabel:`Distant Display` will be displayed
instead. This indicates that there is no hardware screen connected.

.. image:: screen/screen-no-screen.png
:align: center
:alt: The "Distant Display" screen name will be used if no screen is detected.

.. _iot/usage_screen:
Avoid using micro-HDMI adapters, as they can cause display issues such as a blank or black
screen.

Usage
=====

Show Point of Sale orders to customers
--------------------------------------

To use the screen in the *Point of Sale app*, go to :menuselection:`Point of Sale -->
Configuration --> Point of Sale`, select a :abbr:`PoS (Point of Sale)`, click :guilabel:`Edit` if
necessary, and enable the :guilabel:`IoT Box` feature.

Next, select the screen from the :guilabel:`Customer Display` drop-down menu. Then click
:guilabel:`Save`, if required.
If the connection was successful, the external monitor displays the :guilabel:`Status display`
screen.

.. image:: screen/screen-pos-screen-config.png
:align: center
:alt: Connect the screen display to the Point of Sale app.
.. image:: screen/screen-status-display.png
:alt: Default Status Display screen

The screen is now available for :abbr:`PoS (Point of Sale)` sessions. A screen icon will appear in
the menu at the top of the screen to indicate the screen's connection status.
The screen also appears in the IoT box's list of devices:

.. image:: screen/screen-pos-icon.png
:align: center
:alt: The "screen" icon on the Point of Sale display shows the connection status with the
screen.
- on the :ref:`IoT box's form <iot/connect/IoT-form>`;
- on the :ref:`IoT box's <iot/iot-box/homepage>`;
- in the IoT app, under the menu :menuselection:`IoT --> Devices`.

The screen will automatically show the :abbr:`PoS (Point of Sale)` orders and update when changes
are made to the order.
.. tip::
If the screen is not detected, try rebooting the IoT box.

.. image:: screen/screen-pos-client-display.png
:align: center
:alt: An example of a PoS order on a screen display.
Customer display
================

Display a website on the screen
-------------------------------
To use the screen as a :ref:`customer display <pos/hardware/display>`, :ref:`configure the POS
accordingly <pos/hardware/display-configuration>`.

Open the screen form view by accessing :menuselection:`IoT app --> Devices --> Customer Display`.
This allows the user to choose a particular website URL to display on the screen using the
:guilabel:`Display URL` field.
To display a specific website on the screen instead of the POS customer display, go to
:menuselection:`IoT --> Devices`, click the screen's card, then enter the desired website's URL in
the :guilabel:`Display URL` field.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,17 @@ HTTPS certificate generation

The HTTPS certificate is generated automatically. When the IoT system is (re-)started (e.g., after
it is connected to the Odoo database), a request is sent to `<https://www.odoo.com>`_, which returns
the HTTPS certificate if the IoT system and database meet the eligibility criteria:
the HTTPS certificate after a few minutes if the database meets the eligibility criteria:

.. _iot/https_certificate_iot/iot-eligibility:

- The database must be a **production** instance. The database instance should not be a copy, a
duplicate, a staging, or a development environment.
- The Odoo subscription must be ongoing (:guilabel:`In Progress` status) and have an :ref:`IoT
box subscription <iot/iot/iot-subscription>` line.
- The Odoo subscription must be ongoing (:guilabel:`In Progress` status).

When the certificate has been received:

- The IoT system's homepage address is updated to a new HTTPS URL ending with `.odoo-iot.com`. Click
the URL to establish a secure HTTPS connection.

.. image:: https_certificate_iot/iot-new-domain.png
:alt: Odoo IoT app IoT box with .odoo-iot.com domain.

- The IoT system's homepage address is updated to a new HTTPS URL ending with `.odoo-iot.com`.
- The :guilabel:`HTTPS certificate` banner displays the certificate's validity period. To view this
information, click the :icon:`fa-cogs` (:guilabel:`cogs`) button on the IoT system's homepage.

Expand All @@ -58,10 +52,8 @@ The HTTPS certificate does not generate

Potential causes include the following:

- No :ref:`IoT box subscription <iot/iot/iot-subscription>` is linked to your account.
- The :ref:`IoT box subscription <iot/iot/iot-subscription>` was added *after* connecting the IoT
system to the database. In this case, refresh the IoT system's homepage or reboot/:ref:`restart
<iot/windows_iot/restart>` the IoT system to regenerate the HTTPS certificate.
- The database doesn't meet the :ref:`eligibility requirements
<iot/https_certificate_iot/iot-eligibility>` for generating an HTTPS certificate.
- The firewall is preventing the HTTPS certificate from generating correctly. In this case,
deactivate the firewall until the certificate is successfully generated.

Expand Down Expand Up @@ -102,7 +94,7 @@ generation or reception of the HTTPS certificate.
`ERR_IOT_HTTPS_CHECK_NO_SERVER`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The server configuration is missing, i.e., the Odoo instance is not :doc:`connected <../connect>` to
The server configuration is missing, i.e., the database is not :doc:`connected <../connect>` to
the IoT system.

`ERR_IOT_HTTPS_CHECK_CERT_READ_EXCEPTION`
Expand All @@ -114,11 +106,11 @@ Verify that the HTTPS certificate file is readable.
`ERR_IOT_HTTPS_LOAD_NO_CREDENTIAL`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The contract and/or database :abbr:`UUID (Universal Unique Identifier)` is missing form the IoT.
The contract and/or database :abbr:`UUID (Universal Unique Identifier)` is missing from the IoT.

Verify that both values are correctly configured. To update them, :ref:`access the IoT box's
<iot/iot-box/homepage>` or :ref:`Windows virtual IoT's homepage <iot/windows-iot/homepage>`,
click the :icon:`fa-cogs` (:guilabel:`cogs`) button, then click :guilabel:`Credential`.
click the :icon:`fa-cogs` (:guilabel:`cogs`) button, then click :guilabel:`Credentials`.

`ERR_IOT_HTTPS_LOAD_REQUEST_EXCEPTION`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
7 changes: 3 additions & 4 deletions content/applications/general/iot/iot_advanced/ssh_connect.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@ IoT box SSH connection
To provide an :abbr:`SSH (secure shell protocol)` connection to an IoT box, you must generate a
password:

#. Access the IoT box's homepage by opening the IoT app and clicking the IP address displayed
on the IoT box's card.
#. Click the :icon:`fa-cogs` (:guilabel:`cogs`) button at the top-right, then :guilabel:`Remote
Debug`.
#. Open the IoT app, click the relevant IoT box's card, and click :guilabel:`Homepage`.
#. On the IoT system's homepage, click the :icon:`fa-cogs` (:guilabel:`cogs`) button at the
top-right, then :guilabel:`Remote Debug`.
#. In the :guilabel:`Remote Debugging` popup that opens, click :guilabel:`Generate` and save the
password securely. Once you close the popup, the password will no longer be available.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ Image and core code update

#. `Download balenaEtcher. <https://etcher.balena.io/#download-etcher>`_
#. Insert the IoT box's micro SD card into the computer or adapter.
#. Open balenaEtcher, click :guilabel:`Flash from URL`, and enter the following URL:
`http://nightly.odoo.com/master/iotbox/iotbox-latest.zip`.
#. | Open balenaEtcher, click :guilabel:`Flash from URL`, and enter the following URL:
| `http://nightly.odoo.com/master/iotbox/iotbox-latest.zip`.
#. Click :guilabel:`Select target` and select the SD card.
#. Click :guilabel:`Flash` and wait for the process to finish.

Expand Down
Loading