Ioter is a tool that allows you to emulate all Matter supported IoT devices with Linux PC and Thread RCP dongle. This tool runs All-cluster-app of Matter on Linux PC to emulate multiple instances of Matter supported various IoT nodes. Each of these IoT nodes uses underlying Thread RCP based USB Dongle(Radio) for data transmission. By using Samsungs SmartThings Station(that acts as Border Router) and SmartThings Application along with emulated IoT nodes, we can configure a Smart Home.
Ioter acts as Mate/Helper to developers, testers and device manufacturers involved in smart home devices that are compliant with Matter and Thread specifications and it is very beneficial in terms of its below offerings:
- Flexibility: Multiple types of IoT devices can be implemented using single RCP Dongle.
- Multiple devices: Devices can be implemented as many as the number of RCP dongles(up to 10).
- Low Cost: Do not need to pay for testing various IoT device types.
- Time-Saving: Time involved in searching and procuring various IoT device types is saved.
- Easy to use: Intuitive UI supports in controlling the status of various device types from the program window.
- Automation: Repeated testing through scripts can validate device stability and connection.
- Light Bulb
- Door Lock
- Contact Sensor
- Temperature Sensor
- Humidity Sensor
- Light Sensor
- Window Covering
- Occupancy Sensor
- OnOff Plugin
-
Bluetooth enabled desktop or laptop
-
Ubuntu 22.04 (Previous version has Bluetooth version problem)
-
USB hub with power input (USB3.0 recommended)
-
Thread RCP usb dongle. We verified with this:
- Nordic nrf52840 OT RCP dongle guide
- Nordic nrf52840-DK board OT RCP board guide
- Silabs thunderBoardSense2 OT RCP Silabs build&flash guide
- Silabs efr32-mighty-gecko-zigbee-and-thread-kit OT RCP Silabs build&flash guide
- ESP32-H2-DevkitM-1 OT RCP ESP build&run guide
- Nordic nrf52840 OT RCP dongle guide
-
Samsung SmartThings with SmartThings hub or SmartThings Station / Apple Home app with Homepod2 or Homepod mini
- install
cd ioter
./script/setup
- excute
cd ioter
./script/run
Or you can use Docker image
- If you run the ioter with run script, the main window will appear, and if you press the start button, the device control window will appear.
- The power on button is the same as the power operation of the actual device.
- In the App, click the add device button in the upper right corner.
- And with scan qr code, device onboarding can be started. (It can also be started with other options like pairing code or scanning for nearby device.)
- When you click Power on (step 2), a QR code and a paring code are created. Use this to proceed with the onboarding procedure.
- When onboarding is completed, device control is possible.
The message below appears in the syslog kernel: wpan0 (unregistered): mctp_unregister: BUG mctp_ptr set for unknown type 65535
Please use a stable kernel version of 5.15.0-60-generic
$ sudo apt-get install aptitude
$ sudo aptitude search linux-image
$ sudo aptitude install linux-image-5.15.0-60-generic
$ sudo grub-mkconfig | grep -iE "menuentry 'Ubuntu, with Linux" | awk '{print i++ " : "$1, $2, $3, $4, $5, $6, $7}'
ex)
0 : menuentry 'Ubuntu, with Linux 5.19.0-32-generic' --class ubuntu
1 : menuentry 'Ubuntu, with Linux 5.19.0-32-generic (recovery mode)'
2 : menuentry 'Ubuntu, with Linux 5.15.0-60-generic' --class ubuntu
3 : menuentry 'Ubuntu, with Linux 5.15.0-60-generic (recovery mode)'
$ sudo nano /etc/default/grub
Find line GRUB_DEFAULT=...(by default GRUB_DEFAULT=0) and sets in quotes menu path to concrete Kernel.
In my system first index was 1 and second was 2. I set in to GRUB_DEFAULT
GRUB_DEFAULT="1>2"
$ sudo update-grub
2. With Ubuntu 20.04.2 LTS(Focal Fossa) , there is a BLE connection issue while onboarding End Node. To use ioter please upgrade Ubuntu 22.04 LTS or later.
project-chip/connectedhomeip#6347
For Ioter contribution, see our Contributing Guidelines for more information. We welcome your contribution at any time.