The System is implemented using Go and leverages gRPC for communication. It provides a server that can receive PNG files in chunks, save them, convert them using an external tool (drawj2d) the PoC-drawj2d-port-go, and stream the resulting Remarkable document back to the client.
This wouldn't have been possible without your help and incredible developments.
https://youtube.com/shorts/NGzp8g97Z1Y?si=tWxixrLJTe--_qKd
- Golang: https://go.dev/dl
-
rm-hacks (enables screenshot feature): https://github.com/mb1986/rm-hacks
-
webinterface-onboot: https://github.com/rM-self-serve/webinterface-onboot
-
Install Go and necessary dependencies:
- Ensure you have Go installed on your system. You can download and install it from golang.org.
- Set up your development environment to work with Go. Configure
$GOPATH
and add$GOPATH/bin
to your$PATH
.
-
Create the
server-config.yaml
file:-
This file should contain the necessary configuration for the server. Create a file named
server-config.yaml
in the same directory as themain.go
file with the following content:image_folder: "/path/to/image/folder" run_path: "/path/to/run/path" server_address: "localhost:4040"
-
Adjust the values of
image_folder
,run_path
, andserver_address
according to your needs.
-
-
Transfrer the client installer tar to the remarkable:
$remarkable: ~/ tar -xvf png2rm_arm.tar $remarkable: ~/ cd png2rm_arm-installer $remarkable: ~/ ./install.sh
Now you should be able to convert your screenshots to rmlines in 3 sec
-
https://www.youtube.com/playlist?list=PLy_6D98if3UJd5hxWNfAqKMr15HZqFnqf
-
https://blog.stackademic.com/go-concurrency-visually-explained-select-statement-b546596c8e6b
-
https://blog.stackademic.com/go-concurrency-visually-explained-channel-c6f88070aafa
-
https://blog.stackademic.com/go-concurrency-visually-explained-select-statement-b546596c8e6bs