Node Client Mode THETA API Access with request-digest

I’ve successfully tested the THETA V Wi-Fi API with client mode (green Wi-Fi LED) access using request-digest.

Client Mode Explanation

In client mode, your THETA connects to a Wi-Fi router. Your mobile phone or laptop connects to the same router. This allows you to access both the Internet and the THETA at the same time.

Client Mode Digest Authentication

Unlike AP mode (blue Wi-Fi LED), camera requires a username and password with every API call. The username is the serial number of the THETA. The default password is the numerical portion of the serial number.

The authentication protocol is digest authentication.

Although there are many libraries to handle GET and POST requests with JavaScript, you need to use a library that can handle the Digest Authentication algorithm of the RICOH THETA, which I think is MD5.

Code Examples

Basic POST request for camera state

$ node digest.js

Take Picture using node and express

Set up at top of code:

const digestRequest = require('request-digest')('THETAYL00105377', '00105377');
const clientModeURL = "http://192.168.2.101";

POST Example

HTML Form with button using bootstrap

<form action="/clientTakePicture" method="POST" class="pt-3">
   <button class="btn btn-primary" type="submit" name="state">Take Picture - Client Mode</button>
</form>