Skip to content

jh2000/ptz_stick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Description

This project let's you create a small&cheap wireless PTZ Controller for various applications.
The code is currently for TRENDnetView EVO/Luxriot EVO, a central recording/viewing solution and their cameras (free but limited).
The PTZ-Cameras i tested it with are TRENDnet TV-IP420P and TV-IP440PI.
Since no special functions are used, it should work with almost every Luxriot EVO/TrendnetView Server.

In the initial release the camera IDs are hardcoded but should be queried from the Server in a future release. The camera IDs are queried from the Server and if the PTZ-capabilities are set, PTZ-commands are being sent.
The display shows some raw values aswell as calculated things, but kinda unsorted and is hard WIP.
The stick can be calibrated to give a good zero position with a dead zone and linear movement.
NVS is currently not in use but i intend to save the calibration/configuration or something similar to it.

Initialy i wanted to use a 1602 LCD Display which didn't fit into the case. So there was no intention (and i think it just won't work) to get the camera picture onto the TFT. This needs to be done on separate hardware!

I don't have access to the API Docs since they require a NDA.
The Webserver does some non-standard things and ignores "Connection: close" for example, for which i couldn't use the default HTTP client. This might come from the digest-auth needed.
Anonymous-PTZ won't work, you always need a valid user+password. You can grant PTZ-rights to Anonymous, but the Webserver endpoint still needs the valid credentials.
The PTZ-Stick can be read at 2000+ FPS but it is very sensitive to noise then.
An update rate to the server of up to 10 seems to be enough.

Features

  • Compatible to TrendnetView + Luxriot EVO
  • OTA-Updateable
  • Direct ESP to Server connection (no https by now)
  • No setup except Wifi+Server credentials needed
  • Many pins left for other extensions
  • Could run on battery quite some time
  • no additional parts are required, but a few resistors and caps are what you want.
  • almost same small delay/update rate as the monitor application

What it looks like

Screenshot

Parts

AZ-Delivery ESP32-WROOM-32/NodeMCU or similar
DollaTek 1.8" TFT Display ST7735S from https://www.amazon.de/dp/B07QJVG8QX
TEKO 790.9 Stand Case from https://www.amazon.de/dp/B003A69O6C
JH-D400X-R4 10K 4D PTZ-Stick from https://www.amazon.de/dp/B088W8D8SB
KY-040 360° rotary controller from https://www.amazon.de/dp/B07B68H6R8
USB-B to micro-USB Adapter from https://www.amazon.de/dp/B0C3HGHKTF
short micro-usb cable from https://www.amazon.de/dp/B095JZSHXQ

Libs

Lib Version Name
WiFi 2.0.0 (Arduino Internal)
ESPmDNS 2.0.0 (Arduino Internal)
ArduinoOTA 2.0.0 (Arduino Internal)
Update 2.0.0 (Arduino Internal)
Wire 2.0.0 (Arduino Internal)
LittleFS 2.0.0 (Arduino Internal)
SPI 2.0.0 (Arduino Internal)
WiFiClientSecure 2.0.0 (Arduino Internal)
FS 2.0.0 (Arduino Internal)
Adafruit GFX Library 1.11.9 Arduino\libraries\Adafruit_GFX_Library
Adafruit BusIO 1.14.5 Arduino\libraries\Adafruit_BusIO
Adafruit ST7735 and ST7789 Library 1.10.3 Arduino\libraries\Adafruit_ST7735_and_ST7789_Library
Ai Esp32 Rotary Encoder 1.6 Arduino\libraries\Ai_Esp32_Rotary_Encoder
NTPClient_Generic 3.7.5 Arduino\libraries\NTPClient_Generic
Time 1.6.1 Arduino\libraries\Time
Timezone_Generic 1.10.1 Arduino\libraries\Timezone_Generic
ArduinoJson 6.21.4 Arduino\libraries\ArduinoJson
ArduinoMD5 git Arduino\libraries\ArduinoMD5-master

About

TrendnetEVO/Luxriot EVO ESP32 PTZ Controller

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages