Before this commit the identifier integrate the BUS and port to identifiate USB devices
Now we check if there are duplicates devices before increment the identifier
For other loop we add identifier in the iot_device object
task: 1963500
closesodoo/odoo#32737
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Before this commit, we only sent the list of connected devices to
the odoo instance (thanks to `self.send_alldevices`) when a device
is newly connected. Now, we also send this list when a device is
disconnected. We also try to call this method once if multiple devices
are connected/disconnected during an iteration.
task-id 1939338
closesodoo/odoo#32678
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
With this commit it is now possible for the IoT Box
to listen on a specific port of the box to interact
with a device via TCP / IP.
We use the library 'socket' to listen on port 9000
and if a request comes on this port we create an IoT Device
When we are on HTTPS and we want to connect a box with the scan
we need to accept manually the certificate of the box.
With this commit we don't need to accept manually the certificate.
We don't have problem of mixed content if we use the onload method of Image object
So we load a image and put on parameter the token of the odoo DB to make a connection.
Improve the implementation of IoT.
Allow both-direction communication between iot box and devices.
Now a device can send its value / status as soon as it changes. Not only when he receives a request.
Now the box have only 3 routes:
/hw_drivers/action
parameter: session_id, device_id, data
used to ask at a device to make a action (take picture, make print, ect...)
/hw_drivers/event
parameter: listener
listener is a dict where you have the session_id and a list of device_id to listen
this route wait to answer that we call device_changed for a device_id with data or value
/hw_drivers/box/connect
parameter: token
used to register the box to a Odoo database
token contain the url of Odoo database and a unique number that allow the IoT Box
to connect box in the hour
task : 1906910
- Routes to get device/driver statuses from the browser
- Framework for managing and downloading drivers for devices
connected to the IoT Box
- Automatic detection of printers and cameras in the network
- Built-in detection for USB and Bluetooth LE devices and checking
if a driver matches the device
- Authentication of the box into Odoo
- Inform Odoo of the connected devices and giving them a unique
identifier so they can be called from the browser
Thanks to qle, specially for fswebcam and cups