Install docker using the following documentation https://docs.docker.com/engine/installation/
Create a ‘store’ container :
$ make docker-local-store
Create a ‘running’ container :
$ make docker-local-running
Yous should now have 2 created containers :
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a6459f44a4d9 bibi21000/janitoo_roomba "/root/auto.sh" 29 seconds ago Created roomba_running
02479e7eeea1 bibi21000/janitoo_roomba "/bin/true" 42 seconds ago Created roomba_store
Start it :
$ docker start roomba_running
Check that is running :
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a6459f44a4d9 bibi21000/janitoo_roomba "/root/auto.sh" 30 seconds ago Up 6 seconds 0.0.0.0:8882->22/tcp roomba_running
And stop it :
$ docker stop roomba_running
You can find basis customizations tips here : https://bibi21000.github.io/janitoo_docker_appliance/customize.html.
This configuration is saved in the ‘store’ container.
Update the roomba configuration file :
$ ssh root@127.0.0.1 -p 8882
Default password is janitoo. You can change it but it will be restored on the next running container update. Prefer the key solutions.
Open the configuration file. The docker image contains a nano or vim for editing files :
root@8eafc45f6d09:~# vim /opt/janitoo/etc/janitoo_roomba.conf
You must at least update the broker ip. It should match the ip address of your shared “mosquitto” :
broker_ip = 192.168.1.14
If you plan to install more than one janitoo_roomba image on your network, you must change the hadd of the bus and components :
hadd = 0051/0000
to
hadd = 0052/0000
And so on for 0051/0001, ... Keep in mind that hadd must be unique on your network.
Save your updates and restart jnt_roomba :
root@8eafc45f6d09:~# killall jnt_roomba
Update the configuration according to your installation :
[roomba__roomba1]
heartbeat = 30
name = Roomba 765
location = Home
hadd = 0051/0001
ip_ping_config_0 = 192.168.14.64
username_0 = admin
password_0 = roombawifi
$ jnt_query node --hadd 0051/0001 --vuuid request_info_users
request_info_users
----------
hadd uuid idx data units type genre cmdclass help
0051/0001 ip_ping 0 1 None 1 2 48 Ping the vacuum
0051/0001 temperature 0 33.0 °C 3 2 49 The temperature of the roomba
0051/0001 battery_current 0 2918.0 mA 3 2 49 The current of the battery
0051/0001 current 0 63.0 mA 3 2 49 The dock current
0051/0001 drive 0 None None 5 2 8193 Drive the roomba to a position
0051/0001 battery_capacity 0 2918.0 mA 3 2 49 The capacity of the battery
0051/0001 buttons 0 None None 5 2 8192 The buttons on the roomba
0051/0001 dock 0 Trickle charging None 8 2 49 The state of the roomba dock
0051/0001 voltage 0 16.61 V 3 2 49 The dock voltage
0051/0001 battery_charge 0 100.0 % 3 2 49 The charge of the battery
$ jnt_query node --hadd 0051/0001 --vuuid request_info_configs
request_info_configs
----------
hadd uuid idx data units type genre cmdclass help
0051/0000 location 0 testroombalocation None 8 3 112 The location of the node
0051/0000 name 0 testroombaname None 8 3 112 The name of the node
0051/0001 username 0 admin None 8 3 112 Username to connect the roomba
0051/0001 temperature_poll 0 60 seconds 4 3 112 The poll delay of the value
0051/0001 battery_current_poll 0 60 seconds 4 3 112 The poll delay of the value
0051/0001 name 0 testroomba1name None 8 3 112 The name of the node
0051/0001 battery_charge_poll 0 60 seconds 4 3 112 The poll delay of the value
0051/0001 drive_config 0 None None 2 3 112 A list of tuples (velocity, radius, time) from dock positions
0051/0001 voltage_poll 0 60 seconds 4 3 112 The poll delay of the value
0051/0001 location 0 testroombalocation None 8 3 112 The location of the node
0051/0001 ip_ping_poll 0 60 seconds 4 3 112 The poll delay of the value
0051/0001 battery_capacity_poll 0 60 seconds 4 3 112 The poll delay of the value
0051/0001 dock_poll 0 60 seconds 4 3 112 The poll delay of the value
0051/0001 ip_ping_config 0 192.168.14.64 None 33 3 112 The IP of the vacuum
0051/0001 password 0 roombawifi None 20 3 112 Password to connect the roomba
0051/0001 current_poll 0 60 seconds 4 3 112 The poll delay of the value
It’s time to clean :
$ jnt_query query --hadd 0051/0001 --uuid buttons --genre user --cmd_class 8192 --is_writeonly True --data clean
And go back to dock :
$ jnt_query query --hadd 0051/0001 --uuid buttons --genre user --cmd_class 8192 --is_writeonly True --data clean
$ jnt_query query --hadd 0051/0001 --uuid buttons --genre user --cmd_class 8192 --is_writeonly True --data dock
The top result in the running appliance :
root@7de7e4993b13:~# top
top - 18:10:48 up 17 days, 23:48, 1 user, load average: 0.19, 0.29, 0.44
Tasks: 8 total, 1 running, 7 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.0 us, 1.4 sy, 0.0 ni, 93.1 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 11661364 total, 9691100 used, 1970264 free, 786036 buffers
KiB Swap: 19530748 total, 503648 used, 19027100 free. 2752660 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13 root 20 0 487452 24556 4368 S 0.6 0.2 1:38.65 /usr/local/bin/python /usr/local/bin/jnt_roomba -c /etc/janitoo/janitoo_roomba.conf front
147 root 20 0 21932 1392 1016 R 0.6 0.0 0:00.01 top
1 root 20 0 21732 1580 1312 S 0.0 0.0 0:00.03 /bin/bash /root/auto.sh
10 root 20 0 55496 10052 1328 S 0.0 0.1 0:02.75 /usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
11 root 39 19 23492 1468 1176 S 0.0 0.0 0:04.63 top -b
12 root 20 0 55160 3112 2444 S 0.0 0.0 0:00.02 /usr/sbin/sshd -D
141 root 20 0 82696 3948 3100 S 0.0 0.0 0:00.05 sshd: root@pts/0
143 root 20 0 20236 1880 1464 S 0.0 0.0 0:00.01 -bash
You can find basis administration tips here : https://bibi21000.github.io/janitoo_docker_appliance/administer.html.