Oppkey Tester for RICOH THETA Cameras
This application is available for mobile and desktop. It is a tester for RICOH THETA 360 camera Wi-Fi APIs. It demos fundamental API commands that provide key information for creating successful applications for the RICOH THETA.
Introduction
An application of RICOH THETA camera functionality utilizing Wi-Fi APIs.
The application is written in Dart. Key API commands can be extrapolated if your development language is different. Usage and key functionality should be clear even if you are implementing in a different programming language.
Commands covered include info and state which provide information on the camera and the ability take a picture.
Key development commands include the enable/disable sleep commands. Having the camera going to sleep which doing development can be avoided. Similarly, enable/disable power off is demostrated as well.
Commands to take a picture, and then display the thumbnail. Most applications will require this functionality. The application shows how to display the thumbnails and how to implement pinch to zoom.
More powerful commands like delete all, which is useful in a development environment to elimate test pictures, and reset settings are also shown fully implemented.
This application is available under license from Oppkey, Inc.
Pre-requisites
-
Flutter, dev channel
-
Android SDK
-
Visual Studio
-
Android Studio
-
Also available as a stand-alone Windows desktop application. If using this version, no special pre-requisites are required.
Screenshots
360 Panoramic Navigation
Preview and Quick Inspect on Equirectangular Images
Getting Started
Install
$ flutter create .
$ flutter pub get
Make sure to use Flutter dev channel
$ flutter channel dev
Make sure that you have the latest desktop support and that it’s enabled
$ flutter config --enable-macos-desktop
$ flutter config --enable-windows-desktop
Windows Desktop
See this YouTube video for information on how to set up your Windows machine to build and distribute native Windows apps on Flutter.
Tips
- Install Visual Studio with Desktop development with C++. Note that this is not the same as VS Code.
- If you distribute the app, you need to include 3 Windows libraries in the folder with your binary.
For distribution of the binary, you need the following:
- msvcp140.dll
- vcruntime140.dll
- vcruntime140_1.dll
Mac Desktop
You must configure entitlements. Set com.apple.security.network.client
in
macos/Runner/*.entitlements
.
RICOH THETA development information
Extensive documentation related to the SC2 API is available at the site below.
https://theta360.guide/special/sc2/
As of October 15, 2020, there appears to be a bug in the SC2 API to show the thumbnails. You can get the thumbnail on all camera model with one of two techniques. If you set the maxThumbSize to 640 and grab multiple images, it will lock up the SC2. The community documentation at the link above has more information. If you are developing a RICOH THETA mobile app for a business, please contact jcasman@oppkey.com for additional assistance.
In this example app, I'm using this:
fullURL?type=thumb
Android
In AndroidManifest.xml
<application
android:label="theta_req_res"
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true">
INTERNAL
Plan
Collaborative Work Process
Sync Local Repo with Upstream (master repo)
If the codetricity repo is ahead of jcasman, then fetch the upstream (codetricity) repo before you edit your code locally.
git fetch upstream
git merge upstream/main
Libraries
- admin_screen
- camera_notifier
- disable_power_off
- enable_power_off
- enable_sleep_delay
- files_screen
- format_json
- home_screen
- home_screen_text
- image_screen
- jesse_screen
- main
- req_res_notifier
- req_res_window
- request_notifier
- request_window
- response_notifier
- response_window
- return_sleep_delay
- sc2_screen
- status_desktop_screen
- status_mobile_screen
- status_screen
- take_picture
- thumb_window
- update_battery_level
- update_file_list
- update_last_file_uri