Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
U
uni_ete_hepialight_mqtt
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
jonas.stirnema
uni_ete_hepialight_mqtt
Commits
ada5a6e4
Commit
ada5a6e4
authored
1 year ago
by
abivarma.kandiah
Browse files
Options
Downloads
Patches
Plain Diff
Can display image from server
parent
6db1f2c7
No related branches found
No related tags found
1 merge request
!2
Merge ESP code to master
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/mqtt_esp32/mqtt_esp32.ino
+54
-27
54 additions, 27 deletions
src/mqtt_esp32/mqtt_esp32.ino
src/mqtt_hepialight/MAIN.PY
+3
-3
3 additions, 3 deletions
src/mqtt_hepialight/MAIN.PY
with
57 additions
and
30 deletions
src/mqtt_esp32/mqtt_esp32.ino
+
54
−
27
View file @
ada5a6e4
...
@@ -88,52 +88,69 @@ uint8_t* mqtt_packet_to_raw(uint8_t* packet, unsigned int* length)
...
@@ -88,52 +88,69 @@ uint8_t* mqtt_packet_to_raw(uint8_t* packet, unsigned int* length)
void
send_data_to_matrix
(
uint8_t
idx
,
uint8_t
idy
,
uint8_t
*
data
,
uint32_t
length
)
void
send_data_to_matrix
(
uint8_t
idx
,
uint8_t
idy
,
uint8_t
*
data
,
uint32_t
length
)
{
{
uint8_t
raw_data
[
202
];
raw_data
[
0
]
=
idx
;
raw_data
[
1
]
=
idy
;
// ADD ID TO LEN
uint8_t
send_len
=
2
;
length
+=
2
;
// SEND UART PACKET HEADER
SerialPort
.
print
((
char
)
0x77
);
SerialPort
.
print
((
char
)
length
-
100
);
uint8_t
crc
=
0
;
// SEND MATRIX ID
SerialPort
.
print
((
char
)
idx
);
SerialPort
.
print
((
char
)
idy
);
// COMPUTE CRC FOR ID
crc
=
crc
^
idx
;
crc
=
crc
^
idy
;
// SEND RGB DATA
// SEND RGB DATA
for
(
int
i
=
0
;
i
<
length
;
i
+=
3
)
for
(
int
i
=
0
;
i
<
length
;
i
+=
3
)
{
{
Serial
.
print
((
char
)
data
[
i
]);
//
Serial.print((char)data[i]);
Serial
.
print
((
char
)
data
[
i
+
1
]);
//
Serial.print((char)data[i+1]);
Serial
.
print
((
char
)
data
[
i
+
2
]);
//
Serial.print((char)data[i+2]);
// COMPUTE COLOR IN 16 BITS
// COMPUTE COLOR IN 16 BITS
uint8_t
r
=
data
[
i
]
&
0x1F
;
uint8_t
r
=
data
[
i
]
&
0x1F
;
uint8_t
g
=
data
[
i
+
1
]
&
0x3F
;
uint8_t
g
=
data
[
i
+
1
]
&
0x3F
;
uint8_t
b
=
data
[
i
+
2
]
&
0x1F
;
uint8_t
b
=
data
[
i
+
2
]
&
0x1F
;
uint16_t
rgb
=
r
<<
11
|
g
<<
5
|
b
;
uint16_t
rgb
=
r
<<
11
|
g
<<
5
|
b
;
// Serial.print(rgb);
// Serial.print(' ');
// SPLIT ON 8 BITS
// SPLIT ON 8 BITS
uint8_t
rgb_0
=
rgb
>>
8
;
uint8_t
rgb_0
=
rgb
>>
8
;
uint8_t
rgb_1
=
rgb
&
0x0F
;
uint8_t
rgb_1
=
rgb
&
0xFF
;
//Serial.println(rgb_0);
// COMPUTE CRC
// Serial.print(' ');
crc
=
crc
^
rgb_0
;
//Serial.println(rgb_1);
crc
=
crc
^
rgb_1
;
// SEND RGB
// SEND RGB
SerialPort
.
print
((
char
)
rgb_0
);
//SerialPort.print((char) rgb_0);
SerialPort
.
print
((
char
)
rgb_1
);
//SerialPort.print((char) rgb_1);
//send_len += 2;
raw_data
[
send_len
++
]
=
rgb_0
;
raw_data
[
send_len
++
]
=
rgb_1
;
}
// // SEND MATRIX ID
// Serial.println(idx);
// Serial.println(idy);
Serial
.
println
(
send_len
);
// SEND UART PACKET HEADER
SerialPort
.
print
((
char
)
0x77
);
SerialPort
.
print
((
char
)
202
);
uint8_t
crc
=
0
;
for
(
int
i
=
0
;
i
<
send_len
;
i
++
)
{
if
(
raw_data
[
i
]
==
0x77
||
raw_data
[
i
]
==
0x10
||
raw_data
[
i
]
==
0xAA
)
{
crc
=
crc
^
0x10
;
SerialPort
.
print
((
char
)
0x10
);
Serial
.
println
(
0x10
);
}
crc
=
crc
^
raw_data
[
i
];
SerialPort
.
print
((
char
)
raw_data
[
i
]);
Serial
.
println
(
raw_data
[
i
]);
}
}
// SEND UART PACKET FOOTER
// SEND UART PACKET FOOTER
SerialPort
.
print
((
char
)(
crc
^
(
length
-
100
)
));
SerialPort
.
print
((
char
)(
crc
^
send_len
));
SerialPort
.
print
((
char
)
0xAA
);
SerialPort
.
print
((
char
)
0xAA
);
Serial
.
println
(
crc
^
send_len
);
}
}
void
callback
(
char
*
topic
,
byte
*
payload
,
unsigned
int
length
)
void
callback
(
char
*
topic
,
byte
*
payload
,
unsigned
int
length
)
...
@@ -142,6 +159,16 @@ void callback(char *topic, byte *payload, unsigned int length)
...
@@ -142,6 +159,16 @@ void callback(char *topic, byte *payload, unsigned int length)
Serial
.
print
(
"Message arrived in topic: "
);
Serial
.
print
(
"Message arrived in topic: "
);
Serial
.
println
(
topic
);
Serial
.
println
(
topic
);
// // TEMP
// SerialPort.print((char)0x77);
// SerialPort.print((char)202);
// for(int i = 0 ; i < 202; i++)
// {
// SerialPort.print((char)0x61);
// }
// SerialPort.print((char)202);
// SerialPort.print((char)0xaa);
// GET RAW DATA
// GET RAW DATA
uint8_t
*
raw_data
=
mqtt_packet_to_raw
(
payload
,
&
length
);
uint8_t
*
raw_data
=
mqtt_packet_to_raw
(
payload
,
&
length
);
if
(
raw_data
==
NULL
)
if
(
raw_data
==
NULL
)
...
@@ -154,7 +181,7 @@ void callback(char *topic, byte *payload, unsigned int length)
...
@@ -154,7 +181,7 @@ void callback(char *topic, byte *payload, unsigned int length)
{
{
for
(
int
y
=
cluster_size_y
-
1
;
y
>=
0
;
y
--
)
for
(
int
y
=
cluster_size_y
-
1
;
y
>=
0
;
y
--
)
{
{
Serial
.
println
(
"FOR LOOP"
);
//
Serial.println("FOR LOOP");
// SEND UART PACKET
// SEND UART PACKET
send_data_to_matrix
(
x
,
y
,
raw_data
,
IMG_DATA_SIZE
);
send_data_to_matrix
(
x
,
y
,
raw_data
,
IMG_DATA_SIZE
);
...
...
This diff is collapsed.
Click to expand it.
src/mqtt_hepialight/MAIN.PY
+
3
−
3
View file @
ada5a6e4
...
@@ -29,9 +29,9 @@ def data_to_color16(data):
...
@@ -29,9 +29,9 @@ def data_to_color16(data):
id_x
=
data
[
0
]
id_x
=
data
[
0
]
id_y
=
data
[
1
]
id_y
=
data
[
1
]
afficher_texte
(
f
"
{
len
(
data
)
}
"
)
#
afficher_texte(f"{len(data)}")
for
i
in
range
(
0
,
len
(
data
),
2
):
for
i
in
range
(
2
,
len
(
data
),
2
):
d_color16
.
append
(
data
[
i
]
<<
8
|
data
[
i
+
1
])
d_color16
.
append
(
data
[
i
]
<<
8
|
data
[
i
+
1
])
return
list
(
map
(
color16_to_32
,
d_color16
))
return
list
(
map
(
color16_to_32
,
d_color16
))
...
@@ -39,7 +39,7 @@ def data_to_color16(data):
...
@@ -39,7 +39,7 @@ def data_to_color16(data):
#data32 = list(map(color16_to_32, data16))
#data32 = list(map(color16_to_32, data16))
r_data
=
[]
r_data
=
[]
while
(
True
):
while
(
True
):
r_data
=
recevoir_msg
(
N
)
r_data
=
recevoir_msg
(
S
)
if
len
(
r_data
)
>
0
:
if
len
(
r_data
)
>
0
:
break
break
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment