You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+65-1Lines changed: 65 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,71 @@ in the documentation below.
10
10
11
11
***Serial**
12
12
***TCP**
13
-
* MQTT (ToDo)
13
+
***MQTT** (TODO)
14
+
15
+
## Installation
16
+
17
+
This firmware is a PlatformIO project. Until I can find and prepare a more easy way for you to get started, you have to just download the source code and build and upload it to an ESP32 via VS Code yourself.
18
+
In the future I might use [ESP Web Tools](https://esphome.github.io/esp-web-tools/) for an easier installation process.
19
+
20
+
* Download the repository. If you know git, a clone is fine. If not, just download https://github.com/d03n3rfr1tz3/esp32-divoom/archive/main.zip to get the most recent code in a ZIP file.
21
+
* Copy the corresponding content of the ZIP file into a directory of your choice
22
+
* Open the directory with PlatformIO via VS Code
23
+
* Connect your ESP32 with a working USB Data Cable
24
+
* Press `Upload` in the PlatformIO Project Tasks
25
+
* ...
26
+
* Profit
14
27
15
28
## Documentation
29
+
30
+
### Serial
31
+
32
+
You can control your Divoom devices via Serial. Obviously this is more for debugging purposes, but might also be helpful for a quick test. If you press `Monitor` in the PlatformIO Project Tasks, you can
33
+
send some commands directly to your ESP32. Just prepare them in Notepad and then copy them into the Terminal (you will not see what you typed/copied) and press Enter. Depending on the actual command,
34
+
the ESP32 will then send commands to your Divoom device and also give you some information or received packets back. Here are some examples:
35
+
36
+
This command connects to your Divoom device with the MAC address `01:12:23:45:56:67` and on port `1`.
37
+
````
38
+
CONNECT 01:12:23:45:56:67 1
39
+
````
40
+
41
+
This command sends raw bytes to your connected Divoom device. The raw bytes represent the `brightness` command. The first one sets the brightness to 50% and the second one to 100%.
42
+
````
43
+
SEND 01 04 00 74 32 AA 00 02
44
+
SEND 01 04 00 74 64 DC 00 02
45
+
````
46
+
47
+
This command disconnect from your Divoom device.
48
+
````
49
+
DISCONNECT 01:12:23:45:56:67
50
+
````
51
+
52
+
### TCP
53
+
54
+
You can also control your Divoom devices via TCP. Obviously that is not really meant for user interaction, but for actual communication one a lower level. The most used case for TCP is my own
55
+
[Home Assistant integration](https://github.com/d03n3rfr1tz3/hass-divoom), which uses this ESP32 firmware as a Bluetooth Proxy. But maybe you want to develop your own application based on this,
56
+
so here are some examples:
57
+
58
+
This connects to your Divoom device with the MAC address `01:12:23:45:56:67` and on port `1`. The packet starts with a single byte `0x69` hinting this is a connect packet, followed
59
+
by the MAC address also in raw bytes as well as the optional port number.
60
+
````
61
+
690112233445566701
62
+
````
63
+
64
+
This sends raw bytes to your connected Divoom device. The raw bytes represent the `brightness` command. Typical for the Divoom protocol, the packet starts with `0x01` and ends with `0x02`.
65
+
The first packet sets the brightness to 50% and the second one to 100%.
66
+
````
67
+
0104007432AA0002
68
+
0104007464DC0002
69
+
````
70
+
71
+
This disconnect from your Divoom device. The packet starts with a single byte `0x96` hinting this is a disconnect packet, followed by the MAC address also in raw bytes.
72
+
````
73
+
960112233445566701
74
+
````
75
+
76
+
### MQTT
77
+
78
+
You can also control your Divoom devices via MQTT. This is variant you probably will use, when you are going for the standalone mode. The actual commands are similar to the Serial input.
0 commit comments