TL;DR: Using gphoto2 with PTP/IP seems to give us a full control of Ricoh THETA without proprietary softwares nor hardwares. Ricoh THETA (and also gphoto2) are awesome.
We can connect a THETA with a PC through a USB or a Wireless LAN. Both of them use PTP, but seem to have some difference: for instance, we cannot set an exposure compensation value through a USB. Connecting through a Wireless LAN gives more control.
THETA behaves as a Wireless LAN access point. Please connect it. That's all. Now you can do anything by using gphoto2 with PTP/IP mode:
$ # Create a command alias.
$ theta() { gphoto2 --port=ptpip:192.168.1.1 "--camera=PTP/IP Camera" "$@" }
$ # Set date/time in localtime.
$ # Because My THETA is a Japanese version, add JST+09 == +32400 sec.
$ theta --set-config datetime=$(($(date +%s) + 32400))
$ # Set an exposure compensation to -0.3EV.
$ theta --set-config exposurecompensation=7
$ # Take a picture.
$ theta --trigger-capture
$ # Retrieve all files (I recommended to do this with USB connection
$ # because of slowness).
$ theta --get-all-files
$ ...
The pictures can be seen by the viewers that support equirectangular projected images.
THETA has a compass and an accelerometer. The 3-DoF orientation data are stored in the EXIF, whose format has been reverse-engineered by @xanxys_.
/main/settings/datetime
/main/status/serialnumber
/main/status/manufacturer
/main/status/cameramodel
/main/status/deviceversion
/main/status/vendorextension
/main/status/batterylevel
/main/capturesettings/exposurecompensation
0 -> +2.0EV
1 -> +1.7EV
2 -> +1.3EV
3 -> +1.0EV
4 -> +0.7EV
5 -> +0.3EV
6 -> 0.0EV
7 -> -0.3EV
8 -> -0.7EV
9 -> -1.0EV
10 -> -1.3EV
11 -> -1.7EV
12 -> -2.0EV
/main/other/5001 same as /main/status/batterylevel
/main/other/5010 same as /main/capturesettings/exposurecompensation
/main/other/5011 same as /main/settings/datetime
/main/other/502c volume
/main/other/d006 ?? type: text
/main/other/d801 ?? type: text
/main/other/d802 ?? (seems not to affect images)
/main/other/d803 time to sleep, in seconds
/main/other/d805 Wi-Fi SSID
/main/other/d806 Wi-Fi password
/main/other/d807 Wi-Fi channel