rkk
New Member
Posts: 6
|
Post by rkk on Sept 10, 2018 14:06:21 GMT
Hi everybody, Here is a small contribution to the DreamScreen community with another DreamScreen Client, this time written in Java. It also comes with an optional CLI interface, a DreamScreen (HD, 4K and SideKick) Emulator and Network Debugger. This project was born in order for me to understand the communication protocol between a DreamScreen HD and a SideKick device and be able to emulate a SideKick to grab the screen colors and forward it to a home made LED device. The emulator is still work in progress, all of the emulators so far seem to work quite well with the DreamScreen mobile app, but I'm stalled trying to figure out the communication between the DreamSceen HD device and a SideKick when grouped, as the DreamScreen is sending out some message and waiting for a reply from the SideKick device, but I'm unable to figure out what it is expecting as I don't have a real SideKick. It would be really awesome if the DreamScreen devs or somebody with a SideKick could help with this step. Feel free to use this in your projects. Any help and contributions to the library are highly appreciated. Sources can be found here: github.com/rkkoszewski/DSComEmuThe compiled JAR file can be downloaded here: github.com/rkkoszewski/DSComEmu/releases/To run the CLI simply download the .jar file and run it with ex: "java -jar dsce-0.1.1.jar".
|
|
|
Post by kyle on Sept 10, 2018 15:17:23 GMT
Good stuff, I really like the emulator, some other home-integration developers that got into contact with me could have used something like this. I linked your repo on the libraries sticky.
And sorry to keep you waiting for the sector data communication but I just updated the documentation. Feel free to pm me if you have any other questions.
|
|
rkk
New Member
Posts: 6
|
Post by rkk on Sept 12, 2018 21:35:45 GMT
Cannot thank you enough kyle . Screen streaming works now, yay!! Here is the latest binary: github.com/rkkoszewski/DSComEmu/releases/tag/v0.1.2-alphaThe SideKick emulator is finally able to subscribe to a Screen stream session. And as a bonus I also added the possibility to configure the screen sections in the Emulator right from the DreamScreen app. The SideKick emulator now includes two easy to use functions to grab the colors from the screen. setColor -> Is the final color, with the average color of the configured screen sections as also the ambient color if in ambient mode (Represents the final LED color basically). setScreenColors -> Is a lower level function, but in it you can grab the colors of every section of the screen and use it whenever you want (Might be separate devices for example). The best way to start using it is to have a look at the example implementation in com.robertkoszewski.dsce.emulator.variantSwingSideKickEmulator where I'm simulation a light device in a Swing window. I'm excited to try this out with some DIY projects I have in mind. I have to say that I was very sceptical about the update performance that could be achieved event trough UDP, but after finishing this I have to say that the updates are butter smooth, the DreamScreen is really an outstanding device!! DreamScreen dev's should really consider adding a DIY Pseudo Device to DreamScreen protocol, with selected functionality for the community. But that's just a suggestion. Exciting times ahead!!
|
|
|
Post by hpeters on Sept 13, 2018 8:56:42 GMT
This is extremely exciting indeed I'll probably be porting this to C++ soon when I receive my DS4K and hook it up to my existing framework... super hyped about this
|
|
rkk
New Member
Posts: 6
|
Post by rkk on Sept 13, 2018 10:36:42 GMT
Another Update: github.com/rkkoszewski/DSComEmu/releases/tag/v0.1.3-alphaChanges: - Modes are honored now properly in the SideKick emulator. (Before if you would switch to ambient mode while previously in Video mode, it would process both modes) - Basic Ambient Modes (Just a color and does not animate, can be extended to add animation though.) I think that with this I can say that the SideKick emulator is complete unless otherwise proven.
|
|
|
Post by kyle on Sept 14, 2018 13:08:26 GMT
I potentially see this as a great application for someone who has DreamScreen hooked up to their PC with Razer Chroma goodies... Hook the SideKick emulator up to the chroma api.
|
|
|
Post by hpeters on Sept 14, 2018 20:49:13 GMT
I potentially see this as a great application for someone who has DreamScreen hooked up to their PC with Razer Chroma goodies... Hook the SideKick emulator up to the chroma api. Oeh, that is not a bad idea at all.......
|
|
rkk
New Member
Posts: 6
|
Post by rkk on Sept 15, 2019 12:00:54 GMT
Another update: github.com/rkkoszewski/DSComEmu/releases/tag/v0.2.0-betaChanges: - Added ability for the DreamScreen HD/4K Emulator to capture the screen by using the ScreenGrabber class, which can be extended to make your own color provider can be sent up to 60FPS to all your SideKick devices (Both Emulated and the real SideKicks should work with this). A default Robot class based implementation is also provided. You can test it out right away from the DSEmu command line by starting the DREAMSCREENHD emulator.
|
|