BotWay First Time Installation and Setup - ResgreenGroup/Botway-Documentation GitHub Wiki

Current Location: Home->First Time Setup

BotWay Associated Software Installation

If you are using a preconfigured Computer Image or Kiosk from RGGI it will be preconfigured already and tested. Otherwise, follow the instructions listed below.

Step 1. Install Java

  1. Download Java SE Development Kit Install from the link below

  2. Install the Java SE Development Kit

    • No settings need to be changed

JavaInstall


Step 2. Mosquitto Broker Install Instructions

  1. Download Mosquitto Broker from the link below
  2. Install the Mosquitto broker software
    • No settings need to be changed
  3. Open and edit the mosquitto.conf file
    • Usual location: C:\Program Files\mosquitto\
    • Open desired text editor in administrator mode.
    • We need to edit our file to have the following lines uncommented or added.
      • NOTE: The default file is very long but it is all commented out. You can choose to just copy and paste the settings below overwriting everything or just add the 7 lines below under the section titled Listeners
      • listener 1883 0.0.0.0
        protocol mqtt
        allow_anonymous true
        
        listener 9001
        protocol websockets
        socket_domain ipv4
        allow_anonymous true
        
    • Save this file
  4. Open services (windows only) to restart the Mosquitto broker manually to get the updated configuration

Image: Screenshot of Services in Windows to confirm Mosquitto Broker is running

BW Mosquitto Broker Service


Step 3. MQTT Explorer Install Instructions

  1. Download and install MQTT Explorer

  2. Start MQTT Explorer

    BW MqttExplorerSetup1

    • Be sure to fill in a Name for the connection, the Host IP (if MQTT explorer is running on the same computer as Mosquitto Broker or your Custom Broker you can use localhost or 127.0.0.1 for the host address)
      • Hit connect

        • You should now be connected to your MQTT broker and see $SYS

        BW MqttExplorerSetup2 Shadow

        • All new MQTT messages, topics, etc will show up here in explorer.
        • You can select a topic by clicking on it to view more data. More extensive video guide for MQTT Explorer here:

BotWay Initial Setup

Step 1. Setting Access Level Passwords

What are the Access Levels and Privileges?

BotWay supports 3 access levels: Admin, Operator, and Monitor. Access Levels are used to limit access to settings and features based on login status. By default Botway starts with Monitor access.

The table below shows the privileges for each access level.

Privilege Admin Operator Monitor
(logged out)
Settings Menu ✔️
Show Monitor ✔️ ✔️
Send Go ✔️
Send Stop ✔️
Send Route ✔️
Take Robot Offline ✔️
Show Logs ✔️
Rename Robot/Device ✔️
Remove Robot/Device ✔️
Add Job ✔️ ✔️
Remove Job ✔️ ✔️
Set Job Status ✔️ ✔️
Set Job Priority ✔️ ✔️
Set Staging Status ✔️ ✔️
Tag Layout ✔️
Edit Tags ✔️
Edit Routes ✔️
Edit Buttons ✔️
Edit Triggers ✔️
Edit Cycles ✔️
Close BotWay ✔️ ✔️ ✔️

In order to change the default password, edit tags, triggers, etc you need to login as Admin. The login menu is located under File/Login. The default Admin password is RGGI!!

  1. Select Login

BotwayLoginSmall Shadow

  1. Enter the Admin access level password

BotwayLoginDefault Shadow

  1. Check that Settings and Edit menu are now unlocked and accessible

BotwayLoginAdminSuccess Shadow

BotwaySettingsMenu Shadow

  1. Change the default Admin password by entering and confirming a new password under the Admin Login section and click OK to save it.

LoginPasswordChange Shadow***

Step 2. Changing Properties and Settings

Changing Settings

BotWay has a graphical settings menu that can safely edit most of the properties stored in "botway.properties".

Note: A few properties, reserved for advanced settings, can only be change manually in the file. Only a qualified technician should edit the file directly.

1. Make sure you are logged in as Admin. The Login menu is located under File/Login.

BotwayLoginAdminSuccess Shadow

2. Click Settings under File/Settings

BotwaySettingsMenu Shadow

3. Change the Settings

Below is an explanation for each of the settings you can control from the settings menu.

  • Main tab
    • Logo image: change the image in the header above the map display. Manually specify the file path or select the file browser icon to select a file from the file explorer.
    • Map Image: Change the picture displayed in the map display in the center of the BotWay window. Manually specify the file path or select the file browser icon to select a file form the file explorer.
    • Robot ID color and Tag ID color: change the color of the text in the map display for tag names and robot names. Opens a color picker that allows changing the text color.
    • Monitor Lines: The show monitor toggle allows or disallows viewing of the monitor window. It takes affect the next time BotWay is launched. When this box is unchecked, the show monitor option in the help menu will be disabled and greyed out. The "Lines" field specifies how many lines are shown in the monitor window at a time. The monitor window is accessed from the "Help" tab in the main toolbar. This does not truncate how many lines are in the monitor.log file.
    • Logs Lines: Specifies how many lines are allowed to be stored in the robot tile status logs. These logs appear when double clicking a robot tile and
  • Archiving tab
  • Job Queues tab
    • Job Queue settings: Allows specifying how many completed jobs are allowed to remain in the Job Queue. By default, this is set to 0. Also allows choosing the colors each job is highlighted in based on its status
  • Security Tab
    • Login settings: allows changing the operator-level and admin-level passwords
  • Web Tab
    • Configure BotWay Web buttons for each robot type. Select a robot type in the bottom left menu. Then add, edit or remove commands from the table to the right. Specify the button text and the actual JSON command sent over MQTT. The command must be properly formed JSON enclosed in curly braces. These buttons will show up in BotWay web in the "Buddy View" section.

Changing the "botway.properties" File

  1. "botway.properties" is an XML file used to control the configuration of Botway. Most items are controllable via the File/Settings menu in Botway.
    Direct editing of this file should only be done by qualified technicians.
    • If manually editing this file, make sure BotWay is closed before edits are made.
    • Example File Path: C:\Users\RGGI\Desktop\BotWay.V2.4.0\botway.properties
    • Default file:
    •   <properties rev="1">
           <pass>85a-443-641-841-829-524</pass>
           <pass2>755-641-245-44d-425</pass2>
           <emailAccount>[email protected]</emailAccount>
           <emailPass>76c-761-869-272-379-777-662-373-86c-56b-664-66b-761-668-563-77f</emailPass>
           <dataPath>data\Phase.1</dataPath>
           <confirmExit>Yes</confirmExit>
           <mainLoopRate>500</mainLoopRate>
           <timeBeaconRate>5000</timeBeaconRate>
           <heartBeatRate>29000</heartBeatRate>
           <triggerCheckRate>300</triggerCheckRate>
           <monitor>true</monitor>
           <monitorLimit>1000</monitorLimit>
           <outputToConsole>false</outputToConsole>
           <logStdOutStdErr>true</logStdOutStdErr>
           <saveStatusError>false</saveStatusError>
           <jumpBeforeCommand>true</jumpBeforeCommand>
           <statusLogDisplayLines>250</statusLogDisplayLines>
           <errorLogDisplayLines>100</errorLogDisplayLines>
           <mainRightSplit>1162</mainRightSplit>
           <mainLeftSplit>165</mainLeftSplit>
           <logo>images/Logo.BotWay.png</logo>
           <zoomLevel>90</zoomLevel>
           <homePage>https://resgreengroup.com/</homePage>
           <helpLink>https://github.com/ResgreenGroup/Botway-Documentation/wiki</helpLink>
           <mapHeaderColor>-16777216</mapHeaderColor>
           <mapFooterColor>-16777216</mapFooterColor>
           <mqtt>
              <host>127.0.0.1</host>
              <port>1883</port>
              <user/>
              <pass/>
              <qos>2</qos>
           </mqtt>
           <autoRun>
              <process>
                 <enabled>true</enabled>
                 <name>Portal</name>
                 <log>Portal.log</log>
                 <cmd>"C:\Program Files\nodejs\npm.cmd"</cmd>
                 <arg>start</arg>
                 <arg>--prefix</arg>
                 <arg>C:\Development\BotWayWeb</arg>
              </process>
           </autoRun>
           <archives>
              <archive>
                 <enabled>true</enabled>
                 <name>logs</name>
                 <mode>MOVE</mode>
                 <dest>C:/Archive</dest>
                 <count>8</count>
                 <days>1</days>
                 <nextDate>20250228-070100</nextDate>
                 <src>
                    <path>%dataPath%</path>
                    <pattern>monitor.log</pattern>
                 </src>
              </archive>
           </archives>
           <webAPI use="true">
              <port>8080</port>
              <user/>
              <pass/>
           </webAPI>
        </properties>
      

Step 3. Changing Map Images

  1. Create an image of your Tape/Map Layout in .png format.
    • Recommended resolution for map images should be 1250px x 700px, Botway will resize the image, while preserving its aspect ratio, to best fill the map space.
    • Example Map Below: -layout-3aWhiteBG Shadow
  2. Add the image to the images folder in your Botway folder.
    • Example File Path: C:\Users\RGGI\Desktop\BotWay.V2.4.0\images
      -MapSaveLocation Shadow
  3. Change the map image under File/Settings in Botway to match your new map file name.
    • MapSettings Shadow
  4. Click OK to load your new map file as the background image in Botway.
    • NOTE: You may need to re-adjust your Tag locations on screen after changing your background image.

Step 4. Confirming Network/Server Communication

  1. Access the "botway.properties" file in your Botway folder
    • More Information Here: Changing Properties and Settings
    • Confirm or edit the IP address and Port listed under the tag
    • NOTE: If your Broker and Botway are located on the same computer the default address of 127.0.0.1 (localhost) may be used. Otherwise, you must change the "host" tag to your Broker computer's IP address.
    • <mqtt>
        <host>127.0.0.1</host>
        <port>1883</port>
        <user/>
        <pass/>
      </mqtt>
      
  2. Save the file and restart Botway.
  3. Look for the connection confirmation in the Monitor Tab

BotwayMqttConnectSuccess Shadow

⚠️ **GitHub.com Fallback** ⚠️