Skip to content

IoTMacroPad

IoTMacroPad - Customizable keypad with IoT service

rudals

Published October 18, 2024 · © 3-Clause BSD License(BSD-3-Clause)

IoTMacroPad

Components

Hardware components
Software Apps and online services

Project description

IoTMacroPad is a keypad that combines IoT services with a general macro keypad. It can be used as shortcut keys such as copy/cut/paste/select all on a Windows computer. Additionally, if you modify the content of the shortcut key, it can be used as a guide sign.

IoTMacroPad connects to the MQTT service to send and receive data on a topic basis. To process published messages by IoTMacroPad on a Windows PC, C# application was written and connected to the MQTT Broker to process the topic.

Also, to personally test many devices, I connected the LCD, encoder, buzzer, and keypad to the W55RP20-EVB-PICO board and made them interact with each other.

 

IoTMacroPad Block Diagram

IoTMacroPad and IoTMacroPad Controller are set as Subscriber and Publisher respectively and are connected to the MQTT service to operate with each other.

IoTMacroPad Block Diagram

 

Hardware Implementations

W55RP20-EVB-PICO, WIZPoE-P1, keypad, buzzer, encoder, LCD were used like below.

IoTMacroPad, Hardware Implementations

As shown in the image below, a simple boot log is displayed on the LCD and the main GUI is displayed when booting is complete.

IoTMacroPad, Hardware Implementations

 

Software Implementations

Fuctions and S/W block diagram.

  • Receives key events 
  • Publishes topics
  • Parses subscribed messages
  • Stores parsed messages in the internal DB
  • Publishes messages in the DB when the direction key on Menu1 is pressed.
IoTMacroPad, Software Implementations

When you rotate the encoder of IoTMacroPad, Two menus appear.

The first Menu0 consists of a total of 8 buttons. The top 4 buttons are Copy/Cut/Paste/Select All that can be used in Windows applications, and the bottom 4 buttons are Web browser/File manager/Calculator/Notepad for each application.

IoTMacroPad, Software Implementations

The second Menu 1 also consists of a total of 8 buttons. The 4 buttons above are the same as the previous Menu0, and the 4 buttons below are used to output text designated for each key. Please refer to the video below for more details.

IoTMacroPad, Software Implementations

I wrote the following IoTMacroPad Controller application in C# to process MQTT messages sent from IoTMacroPad on a Windows PC. When run, it is automatically connected to the MQTT service and a message indicating that it is connected to MQTT is displayed in the status bar.

IoTMacroPad, Software Implementations

When you right-click and select Manager, the below dialog window appears and you can change the button's contents of IoTMacroPad.

IoTMacroPad, Software Implementations

Demo

 

Documents

Comments

Comments