Skip to content

SchoolOfFreelancing/connect

 
 

Repository files navigation

Connect

A free and open-source alternative to temi's default video-conferencing application.

This is still a prototype. This project uses MQTT for message transport between the client's web-brower user-interface and robot. It uses Jitsi-Meet, a free open-source WebRTC framework, for video conferencing.

The project consists of 3 components:

  1. Web Application. A web-browser application used to tele-operate the robot.
  2. Android App. An application that bridges robot commands/events and MQTT messages, which is to be installed on the robot.
  3. MQTT broker. Eclipe Mosquitto open-source MQTT broker.

Folder Structure

connect                 Root directory
├─ android              Android application to be installed on temi
├─ config               MQTT broker configuration files
├─ mosquitto            MQTT broker
├─ test                 Various test scripts
└─ webapp               NodeJS/Express web server and client application

Repository Structure

There are 2 main branches: master and devel. Releases are generated from the master branch. All development takes place on the devel branch.

Getting Started

Prerequisites

Build & Deploy Web Application Services

On your host machine, clone the repository and update submodules:

git clone https://github.com/ray-hrst/jitsi-temi.git
git submodule update --init --recursive

Currently, the hostname is hard-coded into the webapp. Look for a call to the function connectMQTT() in main.js (somewhere near the end). Replace the value with your machine's hostname/IP-address:

hostname -I

From the root directory, build and deploy the MQTT broker and web application services:

cd jitsi-temi/
docker-compose build
docker-compose up

Install Android App

Install the Android APK onto your robot, see instructions for details. The application is called Connect. The Android app is available under releases.

To build from source, clone the repository:

git clone https://github.com/ray-hrst/jitsi-temi.git

From the android directory, build the Android app using Android Studio. Alternatively, you can try to build the app from the command line:

cd android/
./gradlew build

You will find the Android APK at app/build/outputs/apk/debug/app-debug.apk.

Usage

Start the Connect app on temi. Type in the hostname of your machine into the provided text-field, and press Connect.

On a computer connected to the same network as your host machine, open a web-browser and enter your host machine's hostname into the address bar.

If everything is working correctly, you should see your temi's serial number appear in the web application. Click it to start tele-operating the robot.

Attributions

This project would not have been made possible without the help of other open-source projects:

Packages

No packages published

Languages

  • Java 91.2%
  • Python 6.8%
  • Shell 1.5%
  • Dockerfile 0.5%