What is EasyTerm?
EasyTerm is a unique device that provides developers, tinkerers, and validators with comfortable and flexible options for operating/testing various devices, circuits, or processes.
The device is controlled via a simple text protocol through a USB port, UART interface (typically via a PC, SBC like Raspberry Pi, or various embedded devices), or over the internet using the new WIFI module sent with EasyTerm. For maximum comfort and efficiency, there is no need to manually compose commands according to the manual or learn the API—EasyTerm operation is simplified by the CmdBuilder application.
With a simple text command, you can, for example:
- Operate integrated interfaces - such as generating an analog or PWM signal, converting voltage, reading a register via I2C...
- Display graphical widgets - such as a slider for setting the frequency of a generated signal or for composing a message for a connected user device according to its API, filling in the parameter based on the slider position.
- Log communication of connected devices and device behaviour - log records in a widget supporting touch gestures and writing to FLASH memory.
- Control connected user devices - by composing messages via slider, keyboard, button, checkbox widgets according to their API.
- Parse messages from connected devices - visualize parsed data using form widgets, graphs, and logging windows.
Interesting possibilities can also be achieved in the field of automation. Due to the simple API, a wide range of functions can be realized, for example, through Python scripting or via visual programming with Node-RED. With the new WIFI module, various methods of controlling EasyTerm can be used (see blog).
By sending the command DAC v=2000 , for example, you can generate a voltage of 2V at the DAC output. However, commands can also be used as actions for graphical widgets, allowing EasyTerm to automatically compose commands based on user interaction. For example, you can display a slider configured to perform the action DAC v=%d . Moving the slider generates the appropriate voltage (the %d placeholder is replaced by the value corresponding to the slider's position). Similarly, connected user devices can be controlled—if you have a device whose API allows setting any parameter (e.g., via the message ParametrA:XY), , you can set the widget action in the format ParametrA:%d to adjust this parameter via the slider or numeric graphical keyboard. The %s placeholder can be used with an alphanumeric keyboard.
Similarly, you can monitor various values sent through messages from user devices—if a device sends messages like Status: off, by setting the parsing mask for the form in the format Status: %s, the string "off" (or anything else matching the parsing mask) will be displayed in the form after receiving this message.
With this principle, we have prepared a series of demonstrative "example" layouts for you, which will quickly turn EasyTerm into a touch-controlled signal generator, logger, I2C bus master, and much more (see HERE - Example Layouts tab).
This device is so flexible that for your comfort, we recommend watching the following videos. All information is also available in the manual (EN) HERE.
Command showcase - "compact" and "self-documenting" format
Set GPIO 5 to output mode and set state to logic 1 |
G5 m=o os=1 |
G5 mode=output outputState=1 |
Set I2C address to 0x12 and perform write operation of 0x12 0x34 na 0x12 |
I2C i=1 a=12 wr=1234 |
I2C initialized=1 address=12 wr=1234 |
Generate sine of frequency 12kHz and amplitude of 1V |
DAC p=sin f=12kHz a=1000 cc=1 |
DAC pattern=sine frequency=12kHz amplitude=1000
continuousConversion=1
|
Display slider that generates PWM signal of set duty cycle |
ds x=10 w=300 h=40 a="PWM i=1 dc=%d cc=1" |
displaySlider x=10 width=300 height=40 action="PWM initialized=1 dutyCycle=%d
contnuousConversion=1"
|
Perform ADC voltage conversion periodically each 1s |
tim a="ADC v=?" p=1000 s=1 |
timer action="ADC voltage=?" period=1000 state=1 |
Display form with parsed-out ADC conversion results |
df pm="ADC v=%d\r\n" |
displayForm parseMask="ADC v=%d\r\n" |