Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POC for integrating Remote web server with Openbot #369

Merged
merged 1,643 commits into from
Jul 4, 2024
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
1643 commits
Select commit Hold shift + click to select a range
bb7f8e9
removed onDetection block parameter frame
Sep 13, 2023
206820e
Merge branch 'react-blockly-v2' into react-blockly
Sep 13, 2023
fdd3e7c
fixed syntax error in js generator
Sep 13, 2023
25e144d
Merge branch 'react-blockly-v2' into react-blockly
Sep 13, 2023
176ee3e
number of frame issue is resolved and remove unnecessary logs
Sep 14, 2023
bc0867a
fixed parameter error
Sep 14, 2023
857efca
swift file error
Sep 15, 2023
ac42bc0
updated readme.md for google drive api and services
Sep 15, 2023
f3080f8
Merge branch 'react-blockly-v2' into react-blockly
Sep 15, 2023
aff4723
Merge branch 'master' of https://github.com/3dwesupport/OpenBot
Sep 18, 2023
52991c4
added dynamic speed UI on object tracking fragment
Sep 18, 2023
811ee6d
updated use of dynamic speed on or off functionality
Sep 19, 2023
8878145
fixed google and firebase services readme.md
Sep 19, 2023
ccf24a2
Merge branch 'react-blockly-v2' into react-blockly
Sep 19, 2023
bab4ee9
added local saved data for Free roam controller fragment
Sep 22, 2023
061ef4a
added sensors active status locally in data collection fragment
Sep 25, 2023
ec4d41e
synced vehicle control all over application
Sep 26, 2023
5cfb81f
saved object tracking and autopilot parameters alongside models
Sep 27, 2023
eef4890
fixed bug in object type and added saved models for autoplot when ret…
Sep 28, 2023
9a0d0d5
implemented camera switch status locally for all fragments
Sep 28, 2023
c820e69
optimize code for shared preference
Sep 28, 2023
fbb9cfd
fixed bug in choose models when model is deleted from documentry and …
Sep 28, 2023
1fe59a9
fixed vehicle control initial value equal as free roam controller
Sep 29, 2023
8d33476
web server controller implement
Sep 29, 2023
ef2e2ef
solve merge conflict
Sep 29, 2023
23c269f
error in swift modes file
Sep 29, 2023
f772dc4
removed unnecessary codr for updating local variable for object
Sep 29, 2023
db97c10
fixed bug in object updation in object tracking when return to fragment
Oct 3, 2023
846b37b
removed file
Oct 7, 2023
41c6055
added modes file
Oct 7, 2023
039dd35
updated documentation for node js controller
Oct 9, 2023
0a7bcd6
Updated Readme file
Eashika2504 Oct 9, 2023
b50ad6c
Revert "Updated Readme file"
Eashika2504 Oct 9, 2023
0efcb8b
UPDATED README FILE.
Eashika2504 Oct 11, 2023
72659f7
added web controller in free roam and enabled webrtc for fragment whe…
Oct 11, 2023
33dac95
UPDATED README FILE
Eashika2504 Oct 12, 2023
8204ee4
updated readme.md for web controller and fixed webrtc delegate issue …
Oct 12, 2023
87e1c08
removed extra logs
Oct 13, 2023
cef919a
updated screen data coming from python controller
Oct 13, 2023
ee70a25
updated port for python controller
Oct 16, 2023
21f20de
fixed point goal nav bug in blockly fragment when using wait function
Oct 16, 2023
82ee9e0
optimise code for AR view in blockly fragment
Oct 17, 2023
46d5770
UPDATED README FILE
Eashika2504 Oct 17, 2023
2c4350a
Removed list blocks and bumpers from the blockly
Eashika2504 Oct 17, 2023
32d5407
solved merge conflict
Oct 19, 2023
5f1cf22
solved merge conflict
Oct 19, 2023
b477c86
fixed pointNavigationGoal in Blockly
Eashika2504 Oct 19, 2023
2ef3559
solved merge conflict
Oct 19, 2023
b1a7d91
updated read me file
Eashika2504 Oct 21, 2023
62b72ae
updated readme alignment
Eashika2504 Oct 23, 2023
0880d90
updated readme file alignment
Eashika2504 Oct 23, 2023
bfcd0d9
updated readme file ai_block image
Eashika2504 Oct 23, 2023
09f43d3
updated readme file
Eashika2504 Oct 23, 2023
283c484
solved merge conflict in ios-dev-setup
Oct 23, 2023
0cc96d9
fixed advanced AI
Eashika2504 Oct 23, 2023
c5e03d0
Merge branch 'react-blockly-v2' into react-blockly
Eashika2504 Oct 23, 2023
4017f30
added AutoSync in readme file
Eashika2504 Oct 26, 2023
4bbbeb7
updated readme file
Eashika2504 Oct 26, 2023
df3826b
no changes
Nov 2, 2023
168dd6e
fixed video connection using webrtc through web
Nov 3, 2023
7fe0ed9
Merge branch 'web-server-v2' of https://github.com/3dwesupport/OpenBo…
Nov 4, 2023
c38db52
solve video streaming issue
Nov 4, 2023
22f2a52
live server url update
Nov 4, 2023
de75109
resolve merge conflict
Nov 4, 2023
fe08514
adding modes
Nov 4, 2023
e36bf01
solved merge conflict
Nov 6, 2023
e6b3a40
added camera initializing in free roam fragment when connected via we…
Nov 6, 2023
69d3ed4
added model adding feature in readme.md
Nov 7, 2023
baacf8e
stringify webrtc data before converting to object
Nov 15, 2023
67c8ab4
added check on webrtc data
Nov 15, 2023
4209644
set email dynamic and solve issue of string in webserver
Nov 15, 2023
a2c4846
fixed Autosync bug
Eashika2504 Nov 15, 2023
07b8235
removed unwanted code for autosync
Eashika2504 Nov 16, 2023
7191b77
implemented functionality for autosync to fetch and display data from…
Eashika2504 Nov 17, 2023
68e433c
remove unwanted logs
Nov 20, 2023
fda1d23
Merge branch 'master' into web-server-v2
Nov 20, 2023
44db7a8
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
Nov 20, 2023
23d9994
added light commands for phone and python controller
Nov 20, 2023
1602824
changed drive cmd for phone controller
Nov 20, 2023
3f97824
rendered updatedModelList on fragment after clicking autosync
Eashika2504 Nov 21, 2023
62e0b96
fixed ledBrightness
Eashika2504 Nov 22, 2023
8f1369c
integrated vehicle control variables through blockly
Nov 22, 2023
5836cc7
fixed random integer block functionality
Nov 23, 2023
673eb47
Merge branch 'react-blockly-v2' into react-blockly
Nov 23, 2023
c785232
fixed bug in point goal nav while running through blockly in between …
Nov 23, 2023
60f04b9
set spedd issue resolve
Nov 23, 2023
f34a89d
changed position for set speed block
Nov 24, 2023
40ed44a
Merge branch 'react-blockly-v2' into react-blockly
Nov 24, 2023
0f8f9f3
updated logic for blockly point goal nav
Nov 28, 2023
86030af
fixed dob issue in edit profile fragment
Eashika2504 Nov 28, 2023
d1c20a8
updating previoud commits
Eashika2504 Nov 29, 2023
7378084
updated error message
Eashika2504 Nov 29, 2023
59c56c2
resolved rename issue
Eashika2504 Nov 29, 2023
2d365de
handeled autosync when token is expired
Eashika2504 Nov 30, 2023
10260c9
solved merge conflict
Eashika2504 Nov 30, 2023
92cf744
fixed webrtc connection for flutter controller on phone mode
Dec 5, 2023
d7ff8d2
updated readme file
Eashika2504 Dec 5, 2023
25134e8
optimize documentation and remove extra filez
Dec 6, 2023
2443675
removed package-lock.json
Dec 11, 2023
fbea5b0
Merge branch 'react-blockly-v2' into react-blockly
Dec 11, 2023
c1f6ec7
made changes in readme file
Eashika2504 Dec 12, 2023
d3ea1ed
changed screen size in readme file
Eashika2504 Dec 12, 2023
6067420
made changes in readme file
Eashika2504 Dec 12, 2023
a785f34
made changes(images) in readme file
Eashika2504 Dec 12, 2023
e4c3a94
made changes in readme file(reduced sizes of images and gifs, changed…
Eashika2504 Dec 13, 2023
3247b10
reduced file size and udpated readme
Dec 13, 2023
b717748
solved merge conflict and made changes(images) in readme file
Eashika2504 Dec 13, 2023
149b64d
update the changes
Dec 13, 2023
29547a2
added space between images
Dec 13, 2023
5d16008
updated readme for firebase services
Dec 14, 2023
1bfa2a0
updated readme file added images, gifs and documentation
Eashika2504 Dec 14, 2023
ac3032c
added reset blockly code functionality and updated run robot UI
Dec 16, 2023
e207cbe
fixed back logic for blockly fragment on stop car
Dec 18, 2023
582fdda
on the click of stop car button text changed to Back and then onclic…
Eashika2504 Dec 18, 2023
c897c5a
updated blockly fragment UI with landscape orientation
Dec 18, 2023
d4789cf
added comments and remove extra logs
Dec 18, 2023
69d49a6
change status to initial when triggered reset function
Dec 18, 2023
41a38f4
added the reset functionality
Eashika2504 Dec 20, 2023
d0a98d9
set the UI(reset button) in landscape orientation
Eashika2504 Dec 21, 2023
26ede19
added fragment type in socket connection
Dec 22, 2023
2d4ed64
set the UI in landscape and fixed the reset functionality as well
Eashika2504 Dec 22, 2023
d6157ae
updates fragment type for each fragment containing vehicle control
Dec 22, 2023
8f72cc7
added socket message for every fragment
Dec 28, 2023
bb57ebc
added disclaimer for openbot in readme.md
Jan 1, 2024
3545b6f
updated readme.md
Jan 1, 2024
4af43ba
handle sso if redirected from dashboard
Jan 6, 2024
61815a6
handled single sign on functionality while redirected from dashboard
Jan 8, 2024
651aadd
deleted extra fonts
Jan 8, 2024
90d37f9
handled ace-build editor error on playground script
Jan 9, 2024
45f5ee3
implemented user usuage analytics for playground
Jan 9, 2024
e5d169e
added restriction over projects
Jan 10, 2024
b82d1be
stored user information on the monthly basis
Jan 11, 2024
1d927e7
removed unused variables
Jan 11, 2024
0319566
handled date of birth setting in profile
Jan 12, 2024
17af751
added server duration when server successfully connected
Jan 16, 2024
d65e848
fixed user usage of connecting server and optimise code
Jan 18, 2024
96fdaa5
added expiration popup and restrict user on sending key to server
Jan 18, 2024
88e9d47
handled free expiration trial on authentication
Jan 18, 2024
7dbdcde
fixed server duration updating on closing window
Jan 18, 2024
76f4cc2
increase free time for connection
Jan 19, 2024
46658f6
fix dob issue in profile
Jan 19, 2024
d30d626
added subscription popup for restricting user
Jan 19, 2024
8387dee
optimise code and fixes theme
Jan 22, 2024
f5ba15b
optimise and refractore code
Jan 22, 2024
d27a8f7
added firestore data queries for user usage
Jan 23, 2024
224b2e8
structured firestore data while updating server duration
Jan 23, 2024
b0334d4
fixed firetore data for projects and models
Jan 24, 2024
e4c23ac
added server details in firebase
Jan 25, 2024
ec3ac4d
fixed database structure for blockly projects
Jan 25, 2024
b98acd7
fixed database structure
Jan 29, 2024
b8cdc64
added status in database for web server
Jan 29, 2024
e2e7d42
fixed server duration data in firebase firestore
Jan 29, 2024
63d3b20
added user restriction on compile code
Jan 31, 2024
7bb447c
add restriction for models
Jan 31, 2024
316197f
fixed loader styling
Feb 1, 2024
9a72a7a
fixed state hook for compilation
Feb 1, 2024
58d12c2
fixed url link for downloading drive file
Feb 2, 2024
894ee3f
added key api from google service
Feb 2, 2024
6c291b6
fixed scanner fragment potential risk issue
Feb 2, 2024
92a4782
fixed merge conflict
Feb 5, 2024
7958ef0
Merge branch 'ios-dev-setup' into ios-blockly-updates
Feb 5, 2024
b9b941c
added text to speech block in playground
Feb 6, 2024
5954279
remove restriction for current deployment
Feb 6, 2024
84c2fe6
changed initial sound text description
Feb 6, 2024
19037f2
added text to speech functionality for blockly
Feb 6, 2024
ec122e0
remove stroke in workspace
Feb 6, 2024
5435a6f
added blocks for showing sensors and variable on robot screen
Feb 8, 2024
c5fca0c
fix audio uterance and display data for sensors functionality
Feb 8, 2024
5fe458a
fixed bug On downloading model from the app will display the model on…
Eashika2504 Feb 8, 2024
a8f4f5e
fixed model update config function
Feb 9, 2024
2cfe168
changed function name for display string block
Feb 9, 2024
8b41c0e
added extra block functionality for display string
Feb 9, 2024
aacf707
added text to speech feature in blockly
Feb 9, 2024
897950e
added blockly function for display block on robot screen
Feb 9, 2024
2127002
added sensor reading for wheel odometery
Feb 9, 2024
d0b6682
remove default value displayed for sensor block
Feb 10, 2024
4d427b9
updated code for user usage
Feb 21, 2024
fba7058
updated firestore server schema
Feb 21, 2024
9a72e0a
updated date object to timestamp on sending server details
Feb 21, 2024
dda64ce
extended free time
Feb 21, 2024
c0e1f0e
Update Date and update file name in android
Surajitinker Mar 11, 2024
a8fb361
Update model management from android and playground
Surajitinker Mar 15, 2024
4defbd5
Update model management from playground
Surajitinker Mar 15, 2024
81a7244
Update ReadME file in android-blockly-v2 file.
Surajitinker Mar 18, 2024
15dc450
Update Send msg from controller
Surajitinker Mar 21, 2024
4652879
merge
May 2, 2024
b58fac2
Merge branch 'ios-dev-setup' of https://github.com/3dwesupport/OpenBo…
May 2, 2024
a21c00b
Merge branch 'ios-dev-setup' of https://github.com/3dwesupport/OpenBo…
May 2, 2024
b944eee
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
May 2, 2024
825587a
Merge branch 'ios-dev-setup' of https://github.com/3dwesupport/OpenBo…
May 2, 2024
f79e2bc
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
May 2, 2024
fcab277
Merge branch 'ios-blockly-updates' of https://github.com/3dwesupport/…
May 2, 2024
71b5825
Merge branch 'android-blockly-v2' of https://github.com/3dwesupport/O…
May 3, 2024
cb2d29a
Fixed project file is displayed in android
Surajitinker May 3, 2024
047484c
added .env module for authentication
May 23, 2024
3ecae13
added readme.md for google authentication
May 23, 2024
9ec80f6
updated readme.md
May 23, 2024
a09b8e1
merge
May 24, 2024
d88d669
remove websocket unused file
May 24, 2024
db81df6
removed env file for google services
May 30, 2024
e3cdcfe
updated readme.md
May 31, 2024
7ae1ac2
updated readme.md and compressed gifs
May 31, 2024
86ee77d
updated readme.md
May 31, 2024
c3bcdef
updated readme.md
May 31, 2024
a19d3fd
updated styling for documentation image
May 31, 2024
9228cef
updated styling
May 31, 2024
d651511
updated readme.md
Jun 2, 2024
f3279e1
Update README.md
thias15 Jun 5, 2024
2c78060
Fixed README url's for playground
Jun 6, 2024
a8273aa
updated links in README.md
Jun 6, 2024
ee084b2
updated bundle ID for google-services
Jun 7, 2024
f1ae572
updated README.md
Jun 7, 2024
ddbc287
remove unused server links
Jun 7, 2024
ac962e9
updated link for opening web client
Jun 7, 2024
56f3a15
Rename Readme.md to README.md
thias15 Jun 13, 2024
c70b578
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
Jun 13, 2024
9c3ef30
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
Jun 13, 2024
3aa0570
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
Jun 13, 2024
be3c95a
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
Jun 13, 2024
6e4f968
Update README.md
thias15 Jun 18, 2024
bde4ab1
Delete ios/OpenBot/OpenBot/Controllers/WebView/Readme.md
thias15 Jun 19, 2024
027670c
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
Jun 20, 2024
af90e25
removed extra files
Jun 20, 2024
c369014
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
Jun 20, 2024
5b3f51b
deleted extra images
Jun 21, 2024
bd40920
deleted unuse images
Jun 21, 2024
ac47f5f
Merge branch 'android-blockly-v2-updates' of https://github.com/3dwes…
Jun 21, 2024
2ab5487
deleted extra image
Jun 21, 2024
b8e9908
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
Jun 21, 2024
2d3308f
Merge branch 'android-blockly-v2-updates' of https://github.com/3dwes…
Jun 21, 2024
6d1bf7c
removed copied font files
Jun 24, 2024
297d315
removed unused json
Jun 24, 2024
43b9f8b
deleted unused image and optimise code
Jun 24, 2024
723e62d
removed redundant files
Jun 24, 2024
c2a0b33
remove extra image
Jun 24, 2024
2455910
Merge branch 'master' of https://github.com/3dwesupport/OpenBot into …
Jun 24, 2024
43b947a
removed Podfile.lock
Jun 24, 2024
d3b4f6b
updated google-services information
Jun 24, 2024
422ff66
added modes folder
Jun 24, 2024
f3f3be2
Merge branch 'android-blockly-v2-updates' of https://github.com/3dwes…
Jun 25, 2024
ac1538f
Merge branches 'web-server-v2' and 'master' of https://github.com/3dw…
Jun 25, 2024
0f60c49
sync local variables across all fragment controls
Jun 25, 2024
70c54a2
Merge branch 'ios-blockly-updates' of https://github.com/3dwesupport/…
Jun 25, 2024
8914527
Merge branch 'react-blockly' of https://github.com/3dwesupport/OpenBo…
Jun 25, 2024
bea6ac4
changed web-server icon color and remove extra image
Jun 26, 2024
021fcaa
updated README.md
Jun 26, 2024
04c514e
removed extra modes file
Jun 26, 2024
2568628
removed unused user saved data
Jun 27, 2024
38a67ef
rename websocket file and remove duplicate dependency
Jun 27, 2024
f548f37
removed extra logs
Jun 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
OpenBot leverages smartphones as brains for low-cost robots. We have designed a small electric vehicle that costs about $50 and serves as a robot body. Our software stack for Android smartphones supports advanced robotics workloads such as person following and real-time autonomous navigation.

## Get started with OpenBot

- Read the [Disclaimer](DISCLAIMER.md)
- Build your own [Robot Body](body/README.md)
- Flash the [Arduino Firmware](firmware/README.md)
- Install the [Android Apps](android/README.md)
Expand Down
32 changes: 27 additions & 5 deletions android/robot/build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
plugins {
id 'io.github.reactivecircus.app-versioning' version "1.1.2"
id 'com.google.gms.google-services'
}

appVersioning {
/**
* Git root directory used for fetching git tags.
* Use this to explicitly set the git root directory when the root Gradle project is not the git root directory.
*/
gitRootDirectory.set(rootProject.file("../")) // if the .git directory is in the root Gradle project's parent directory.
gitRootDirectory.set(rootProject.file("../"))
// if the .git directory is in the root Gradle project's parent directory.
}

apply plugin: 'com.android.application'
Expand Down Expand Up @@ -51,16 +53,19 @@ android {
checkReleaseBuilds false
}
namespace 'org.openbot'
packagingOptions {
resources.excludes.add("META-INF/*")
}
}

// Download default models
project.ext.ASSET_DIR = projectDir.toString() + '/src/main/assets'
apply from:'download.gradle'
apply from: 'download.gradle'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation 'com.google.android.material:material:1.4.0'

// Build off of stable TensorFlow Lite
Expand Down Expand Up @@ -91,6 +96,9 @@ dependencies {
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.3.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.preference:preference:1.1.1'
implementation 'com.google.firebase:firebase-auth'
implementation 'com.google.firebase:firebase-firestore:24.5.0'
implementation 'com.google.firebase:firebase-storage:20.1.0'

def nav_version = "2.3.5"
// Java language implementation
Expand Down Expand Up @@ -143,8 +151,8 @@ dependencies {
// classpath.
androidTestImplementation 'androidx.test.espresso:espresso-idling-resource:3.3.0'

implementation platform('com.google.firebase:firebase-bom:26.4.0')

implementation platform('com.google.firebase:firebase-bom:31.5.0')
implementation 'com.google.android.gms:play-services-auth:20.5.0'
// Declare the dependencies for the Crashlytics and Analytics libraries
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation 'com.google.firebase:firebase-crashlytics'
Expand All @@ -166,4 +174,18 @@ dependencies {
// BLE
implementation 'com.github.Ficat:EasyBle:v2.0.2'
implementation 'com.github.Ficat:EasyPermissions:v2.1.0'

// Socket Server
implementation 'com.squareup.okhttp3:okhttp:4.9.1'

//Scan QR
implementation 'com.google.android.gms:play-services-vision:20.1.3'
implementation('com.google.api-client:google-api-client-android:1.31.0') {
exclude group: 'org.apache.httpcomponents'
exclude module: 'guava-jdk5'
}
implementation('com.google.apis:google-api-services-drive:v3-rev136-1.25.0') {
exclude group: 'org.apache.httpcomponents'
exclude module: 'guava-jdk5'
}
}
30 changes: 23 additions & 7 deletions android/robot/google-services.json
Original file line number Diff line number Diff line change
@@ -1,34 +1,50 @@
{
"project_info": {
"project_number": "1062508888733",
"project_id": "openbot-public",
"storage_bucket": "openbot-public.appspot.com"
"project_number": "955078484078",
"firebase_url": "https://opencode-openbot-default-rtdb.asia-southeast1.firebasedatabase.app",
"project_id": "opencode-openbot",
"storage_bucket": "opencode-openbot.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:1062508888733:android:0fc8c6a8842e1ff5510a74",
"mobilesdk_app_id": "1:955078484078:android:42efc0c06fa6583165867f",
"android_client_info": {
"package_name": "org.openbot"
}
},
"oauth_client": [
{
"client_id": "1062508888733-jlrr946jdlv59vgpt7h1oa91n9gs0hd2.apps.googleusercontent.com",
"client_id": "955078484078-91d6gg3p2qt9eilolpqp8o9j6nqjaqdf.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "org.openbot",
"certificate_hash": "224d8f13596161c1d53e2008aee1650856446ce7"
}
},
{
"client_id": "955078484078-kbadvp54dljcpk0g0j5bnf5c17q63ir2.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyCD59-IMWo1ZKzp-gMoTG6eKIkza_8XVYg"
"current_key": "AIzaSyA7AhVQcAsZJtYIrJqcvmlxNlcPgmt5bGw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "1062508888733-jlrr946jdlv59vgpt7h1oa91n9gs0hd2.apps.googleusercontent.com",
"client_id": "955078484078-kbadvp54dljcpk0g0j5bnf5c17q63ir2.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "955078484078-4m63lascf45ranfmedahhcgo10ainnfa.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "org.openbot"
}
}
]
}
Expand Down
Binary file added android/robot/gradle/wrapper/rhino-1.7.14.jar
Binary file not shown.
30 changes: 23 additions & 7 deletions android/robot/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

<!-- RTSP Video streaming -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />


<uses-feature android:name="android.hardware.camera" android:required="true"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="true"/>
Expand All @@ -28,13 +29,11 @@
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
<uses-feature android:name="android.hardware.location.gps" android:required="true"/>



<application
android:name=".OpenBotApplication"
android:allowBackup="false"
android:icon="@drawable/ic_openbot"
android:label="@string/app_name"
android:name=".OpenBotApplication"
android:requestLegacyExternalStorage="true"
android:roundIcon="@drawable/ic_openbot"
android:supportsRtl="true"
Expand Down Expand Up @@ -69,24 +68,41 @@

</activity>

<activity
android:name=".modelManagement.BackHandlingFilePickerActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/FilePickerTheme">
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

<service
android:name=".logging.SensorService"
android:enabled="true"
android:launchMode="singleTask" />

<service android:name="net.majorkernelpanic.streaming.rtsp.RtspServer"/>
<service android:name="net.majorkernelpanic.streaming.rtsp.RtspServer" />

<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true" >
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>

<meta-data android:name="com.google.ar.core" android:value="optional" />
<meta-data
android:name="com.google.ar.core"
android:value="optional" />

<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="barcode" />

</application>

Expand Down
55 changes: 55 additions & 0 deletions android/robot/src/main/assets/google-services.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"project_info": {
"project_number": "955078484078",
"firebase_url": "https://opencode-openbot-default-rtdb.asia-southeast1.firebasedatabase.app",
"project_id": "opencode-openbot",
"storage_bucket": "opencode-openbot.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:955078484078:android:42efc0c06fa6583165867f",
"android_client_info": {
"package_name": "org.openbot"
}
},
"oauth_client": [
{
"client_id": "955078484078-91d6gg3p2qt9eilolpqp8o9j6nqjaqdf.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "org.openbot",
"certificate_hash": "224d8f13596161c1d53e2008aee1650856446ce7"
}
},
{
"client_id": "955078484078-kbadvp54dljcpk0g0j5bnf5c17q63ir2.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyA7AhVQcAsZJtYIrJqcvmlxNlcPgmt5bGw"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "955078484078-kbadvp54dljcpk0g0j5bnf5c17q63ir2.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "955078484078-4m63lascf45ranfmedahhcgo10ainnfa.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "org.openbot"
}
}
]
}
}
}
],
"configuration_version": "1"
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public void onCreate() {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
int baudRate = Integer.parseInt(sharedPreferences.getString("baud_rate", "115200"));
vehicle = new Vehicle(this, baudRate);
vehicle.initBle();
vehicle.connectUsb();
vehicle.initBle();
if (BuildConfig.DEBUG) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ public View onCreateView(
@NotNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
binding = FragmentAutopilotBinding.inflate(inflater, container, false);

return inflateFragment(binding, inflater, container);
}

Expand All @@ -100,7 +99,6 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
getModelNames(f -> f.type.equals(Model.TYPE.CMDNAV) && f.pathType != Model.PATH_TYPE.URL);
initModelSpinner(binding.modelSpinner, models, preferencesManager.getAutopilotModel());
initServerSpinner(binding.serverSpinner);

setAnalyserResolution(Enums.Preview.HD.getValue());
binding.deviceSpinner.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
Expand Down Expand Up @@ -145,6 +143,11 @@ public void onNothingSelected(AdapterView<?> parent) {}
Navigation.findNavController(requireView()).navigate(R.id.open_usb_fragment);
});

binding.bleToggle.setOnClickListener(
v -> {
binding.bleToggle.setChecked(vehicle.bleConnected());
Navigation.findNavController(requireView()).navigate(R.id.open_bluetooth_fragment);
});
binding.bleToggle.setOnClickListener(
v -> {
binding.bleToggle.setChecked(vehicle.bleConnected());
Expand Down Expand Up @@ -175,9 +178,9 @@ public void onNothingSelected(AdapterView<?> parent) {}
}

private void updateCropImageInfo() {
// Timber.i("%s x %s",getPreviewSize().getWidth(), getPreviewSize().getHeight());
// Timber.i("%s x %s",getMaxAnalyseImageSize().getWidth(),
// getMaxAnalyseImageSize().getHeight());
// Timber.i("%s x %s",getPreviewSize().getWidth(), getPreviewSize().getHeight());
// Timber.i("%s x %s",getMaxAnalyseImageSize().getWidth(),
// getMaxAnalyseImageSize().getHeight());
frameToCropTransform = null;

sensorOrientation = 90 - ImageUtils.getScreenOrientation(requireActivity());
Expand Down Expand Up @@ -525,7 +528,12 @@ private void setControlMode(Enums.ControlMode controlMode) {
if (!PermissionUtils.hasControllerPermissions(requireActivity()))
requestPermissionLauncher.launch(Constants.PERMISSIONS_CONTROLLER);
else connectPhoneController();

break;
case WEBSERVER:
binding.controllerContainer.controlMode.setImageResource(R.drawable.ic_server);
if (!PermissionUtils.hasControllerPermissions(requireActivity()))
requestPermissionLauncher.launch(Constants.PERMISSIONS_CONTROLLER);
else connectWebController();
break;
}
Timber.d("Updating controlMode: %s", controlMode);
Expand Down Expand Up @@ -563,6 +571,16 @@ private void connectPhoneController() {
preferencesManager.setDriveMode(oldDriveMode.getValue());
}

private void connectWebController() {
phoneController.connectWebServer();
Enums.DriveMode oldDriveMode = currentDriveMode;
// Currently only dual drive mode supported
setDriveMode(Enums.DriveMode.GAME);
binding.controllerContainer.driveMode.setAlpha(0.5f);
binding.controllerContainer.driveMode.setEnabled(false);
preferencesManager.setDriveMode(oldDriveMode.getValue());
}

private void disconnectPhoneController() {
phoneController.disconnect();
setDriveMode(Enums.DriveMode.getByID(preferencesManager.getDriveMode()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ public void onAddModel(String model) {
if (modelAdapter != null && modelAdapter.getPosition(model) == -1) {
modelAdapter.add(model);
masterList.add(item);
FileUtils.updateModelConfig(requireActivity(), masterList);
FileUtils.updateModelConfig(requireActivity(), requireContext(), masterList, false);
} else {
if (model.equals(modelSpinner.getSelectedItem())) {
setModel(item);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public class FeatureList {
public static final String GENERAL = "General";
public static final String LEGACY = "Legacy";
public static final String DEFAULT = "Default";
public static final String PROJECTS = "Projects";
public static final String CONTROLLER = "Controller";
public static final String CONTROLLER_MAPPING = "Controller Mapping";
public static final String ROBOT_INFO = "Robot Info";
Expand Down Expand Up @@ -71,7 +72,8 @@ public static ArrayList<Category> getCategories() {
ArrayList<SubCategory> subCategories;

subCategories = new ArrayList<>();
subCategories.add(new SubCategory(FREE_ROAM, R.drawable.ic_game, "#FC814A"));
subCategories.add(new SubCategory(FREE_ROAM, R.drawable.ic_game, "#FFFF6D00"));

subCategories.add(new SubCategory(DATA_COLLECTION, R.drawable.ic_storage, "#93C47D"));
subCategories.add(new SubCategory(CONTROLLER_MAPPING, R.drawable.ic_controller, "#7268A6"));
subCategories.add(new SubCategory(ROBOT_INFO, R.drawable.ic_openbot_space, "#4B7BFF"));
Expand Down
Loading
Loading