Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haasr/mqtt_mouse_dashboard

node.js MQTT client to read mouse input and broadcast it to Mosquitto broker along with Python MQTT client dashboard to visualize mouse data.
https://github.com/haasr/mqtt_mouse_dashboard

hid iot mouse mouse-events mouse-tracking mqtt mqtt-client node node-js nodejs python python3 raspberry-pi raspberry-pi-3 tkinter tkinter-python

Last synced: about 1 month ago
JSON representation

node.js MQTT client to read mouse input and broadcast it to Mosquitto broker along with Python MQTT client dashboard to visualize mouse data.

Awesome Lists containing this project

README

        

Internet of Things (Fall 2020), MQTT Midterm Project
====================================================

For an overview of the project, read [the project writeup](https://github.com/haasr/mqtt_mouse_dashboard/blob/master/HaasR-4677-901-midterm-project.pdf).

In this project, I was tasked to acquire a USB mouse or game controller, study
the outputs of the device to identify what each byte indicates, and then create
two MQTT components.

The first component is the Node.js client (in mqtt_broacast_mouse) which transmits the bytes when any event is registered by the mouse (a click, scroll, or X/Y movement).

![Boring text-based mouse dashboard](screenshots/node-dashboard.png)

The second component (in mqtt_display_mouse) is a dashboard which correctly interprets the bytes received from the MQTT broker. You will
note I actually have two dashboards: one is a boring text-based Node dashboard
because I was required to use Node.js for my grade; the other is a rudimentary
Python tkinter dashboard which maps where action is happening on an image of a
mouse.

![Neat graphical mouse dashboard](screenshots/python-dashboard.png)