Update README.md
This commit is contained in:
parent
9fedbec051
commit
212349fe95
132
README.md
132
README.md
|
|
@ -4,14 +4,144 @@ Follow https://gitlab.com/EECE-5698-Group-7/vacuum-repo to root your vacuum (use
|
||||||
|
|
||||||
Install `python3-minimal` using `apt`.
|
Install `python3-minimal` using `apt`.
|
||||||
|
|
||||||
|
After rooted, need to start the vacuum in `unprovisioned mode` (by pressing the `reset` button on vacuum lightly).
|
||||||
|
|
||||||
|
## Unprovisioned mode setup (if not included in rooted image)
|
||||||
|
#### 1. in /etc/rc.local, add the following line
|
||||||
|
```
|
||||||
|
/opt/unprovisioned/start_wifi.sh >/dev/null 2>&1
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2. create a foler at `/opt/`
|
||||||
|
```
|
||||||
|
mkdir /opt/unprovisioned/
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 3. create file `/opt/unprovisioned/wpa_supplicant.conf`:
|
||||||
|
```
|
||||||
|
network={
|
||||||
|
ssid="<ssid name>"
|
||||||
|
scan_ssid=1
|
||||||
|
proto=RSN
|
||||||
|
key_mgmt=WPA-PSK
|
||||||
|
pairwise=CCMP
|
||||||
|
group=CCMP
|
||||||
|
psk="<password>"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 4. create file `/opt/unprovisioned/start_wifi.sh`:
|
||||||
|
```
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
file="/opt/unprovisioned/wpa_supplicant.conf"
|
||||||
|
if [ ! -f "$file" ]
|
||||||
|
then
|
||||||
|
echo "$0: File '${file}' not found." > "/opt/unprovisioned/log.log"
|
||||||
|
else
|
||||||
|
#add enough time to fix wrong wireless settings
|
||||||
|
sleep 200
|
||||||
|
|
||||||
|
#disable accesspoint
|
||||||
|
ifdown wlan0 > /dev/null 2>&1
|
||||||
|
ifconfig wlan0 down > /dev/null 2>&1
|
||||||
|
killall hostapd >/dev/null 2>&1
|
||||||
|
iw mon.wlan0 del >/dev/null 2>&1
|
||||||
|
create_ap --stop wlan0 > /dev/null 2>&1
|
||||||
|
killall wpa_supplicant >/dev/null 2>&1
|
||||||
|
killall dhclient >/dev/null 2>&1
|
||||||
|
|
||||||
|
ifconfig >> /opt/unprovisioned/log.log
|
||||||
|
|
||||||
|
#login to your network
|
||||||
|
ifconfig wlan0 up >/dev/null 2>&1
|
||||||
|
/sbin/wpa_supplicant -s -B -P /var/run/wpa_supplicant_1.wlan0.pid -i wlan0 -D nl80211,wext -c /opt/unprovisioned/wpa_supplicant.conf -C /var/run/wpa_supplicant >/dev/null 2>&1
|
||||||
|
echo "done!" >> /opt/unprovisioned/log.log
|
||||||
|
dhclient wlan0 >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 5. Restart vacuum
|
||||||
|
|
||||||
|
|
||||||
# Tools Usage
|
# Tools Usage
|
||||||
|
|
||||||
|
```
|
||||||
|
python controller.py
|
||||||
|
```
|
||||||
|
|
||||||
|
## Update scripts on vacuum
|
||||||
|
|
||||||
|
If in any case the script has been modified, we need to use `init_vacuum.sh` to update the scripts on vacuum. Run it within the python script via `update` so it takes in the discovered vacuum IP.
|
||||||
|
|
||||||
|
Otherwise, you can also set environment variable `MIROBO_IP` and run `./init_vacuum.sh` directly.
|
||||||
|
|
||||||
|
## Control vacuum
|
||||||
|
|
||||||
|
Type `control` to enter the control panel
|
||||||
|
|
||||||
|
Available commands can be found via `help` in control panel:
|
||||||
|
```
|
||||||
|
control >>> help
|
||||||
|
Control Command Menu
|
||||||
|
help - this message
|
||||||
|
home - move vacuum to dock location
|
||||||
|
status - print the status of vacuum
|
||||||
|
start - automatically start one cleaning sesssion and get data
|
||||||
|
move auto/pause/stop/home - auto scanning movement (no data parsing)
|
||||||
|
move rotate speed time - move (-180, 180)deg at (-0.3,0.3)m/s for `time`ms
|
||||||
|
fanspeed integer - set fan speed to be [1-99]
|
||||||
|
goto x_coor y_coor - move to x,y location on map
|
||||||
|
trace on/off - manually start/stop collecting trace
|
||||||
|
download trace/map - download the trace or map on vacuum
|
||||||
|
config <cmds> - configuration
|
||||||
|
quit/exit - exit controller (Ctrl + D does the same)
|
||||||
|
```
|
||||||
|
|
||||||
|
Example commands:
|
||||||
|
```
|
||||||
|
python controller.py
|
||||||
|
>>> control help
|
||||||
|
...
|
||||||
|
>>> control status
|
||||||
|
<VacuumStatus state=Cleaning, error=No error bat=93%, fan=1% cleaned 18.2775 m² in 0:16:12>
|
||||||
|
>>> control
|
||||||
|
control >>> help
|
||||||
|
...
|
||||||
|
control >>> start
|
||||||
|
Cleaning old data on device..
|
||||||
|
Enabling trace on the vacuum..
|
||||||
|
Starting..
|
||||||
|
<VacuumStatus state=Charging, error=No error bat=98%, fan=1% cleaned 2.6975 m² in 0:01:58>
|
||||||
|
...
|
||||||
|
control >>> config get remote_script_folder
|
||||||
|
/mnt/data/exp
|
||||||
|
```
|
||||||
|
|
||||||
|
## Config vacuum
|
||||||
|
|
||||||
|
Nothing much yet. But notice once you entered config panel, have to exit before doing any controls.
|
||||||
|
```
|
||||||
|
config >>> help
|
||||||
|
Config Command Menu
|
||||||
|
help - this message
|
||||||
|
set <key> <val> - set key value in config
|
||||||
|
get <key> - get config from key, if `key` not set, print all
|
||||||
|
save/load <file> - save/load configuration from file (default: ./config.json)
|
||||||
|
quit/exit - exit controller (Ctrl + D does the same)
|
||||||
|
```
|
||||||
|
|
||||||
|
Example commands:
|
||||||
|
```
|
||||||
|
>>> config get remote_script_folder
|
||||||
|
/mnt/data/exp
|
||||||
|
>>> config
|
||||||
|
config >>> get remote_script_folder
|
||||||
|
/mnt/data/exp
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
# Reference
|
# Reference
|
||||||
|
|
||||||
1. [dustcloud](https://github.com/dgiese/dustcloud)
|
1. [dustcloud](https://github.com/dgiese/dustcloud)
|
||||||
2. [aerodust](https://github.com/dgiese/aerodust)
|
2. [aerodust](https://github.com/dgiese/aerodust)
|
||||||
3.
|
|
||||||
Loading…
Reference in New Issue