Reyax MQTT with Database: RYC10001 Introduction | Part 1

Recently Ms. Kate of Reyax Technology reach out with me to introduced their new IoT platform which is the RYC1001 and kind enough to give me a full access to explore this new cloud platform

Reyax Technology is a company based in Taiwan, they have a variety of products they even offering IoT solutions according to your project requirements.

But for today, we will focus on this IoT cloud platform which is the RYC1001.

Firstly, I will use it to demonstrate its basic MQTT protocol then further explore its additional database capability over MQTT protocol later on.

So what is RYC1001?

RYC1001 is built on Amazon Web Services or AWS cloud computing platform which is one of the leaders in cloud technology as of this day.

It supports MQTT protocol which is one of the popular IoT solutions as of now.

It uses a well-thought simple instructions to easily integrate database capability through its MQTT platform via specific topic which we will explore later on.

As for the start, lets create the image illustrated above Home automation using basic MQTT.

I prepared a 2 dashboard, one is to simulate the basic MQTT setup and another one to simulate MQTT setup with RYC1001 database capability.

In the Client ID, I use my username-some identification for me to be able to identify the client.

Username and Password can be acquired from Reyax Technology.

lr_switch simulates a light switch.
lr_lights simulates a light bulb.
lr_temp_sensor simulates a temperature sensor.
lr_temperature simulates a temperature gauge.

lr_switch will publish to topic home/living_room/lights.

lr_lights subscribes to topic: home/living_room/lights

lr_temp_sensor publishes to topic: home/living_room/temperature

lr_temperature subscribes to topic: home/living_room/temperature.

lr_switch needs to publish command message to topic: api/request and subscribes to topic: api/command/<Network_ID>/<deviceTypeId>/<deviceId>/control_lights or in my case api/command/35/5/gyBII8EdlDdlLXZDfirHAuOiryBIz2RR4zic/control_lights.
JsonPath for subscribe: $.command.result.lights
JSON pattern for publish:

{
“action”: “command/insert”,
“deviceId”: “gyBII8EdlDdlLXZDfirHAuOiryBIz2RR4zic”,
“command”:
{
“command”: “control_lights”,
“parameters”: {“Control”:”Lights”},
“status”:”Done”,
“result”: {“lights”: <switch-payload>}
}
}
<switch-payload> is a variable to send the state of the switch panel.

lr_lights subscribes to topic: api/command/<Network_ID>/<deviceTypeId>/<deviceId>/control_lights or in my case api/command/35/5/gyBII8EdlDdlLXZDfirHAuOiryBIz2RR4zic/control_lights.
JsonPath for subscribe: $.command.result.lights

lr_temp_sensor publishes a notification message to topic: api/request
Subscribe Topic:
api/notification/<Network_ID>/<deviceTypeId>/<deviceId>/temperature
api/notification/35/5/gyBII8EdlDdlLXZDfirHAuOiryBIz2RR4zic/temperature
JsonPath for subscribe: $.notification.parameters.temperature
JSON pattern for publish:

{
“action”: “notification/insert”,
“deviceId”: “gyBII8EdlDdlLXZDfirHAuOiryBIz2RR4zic”,
“notification”:
{
“notification”: “temperature”,
“parameters”: {“temperature”: <slider-payload>}
}
}
<slider-payload> is a variable that takes the value of slider panel.

lr_
lr_temperature should subscribe to topic:
api/notification/<Network_ID>/<deviceTypeId>/<deviceId>/temperature
api/notification/35/5/gyBII8EdlDdlLXZDfirHAuOiryBIz2RR4zic/temperature
JsonPath for subscribe: $.notification.parameters.temperature

For any concern, write your message in the comment section.

You might also like to support my journey on Youtube by Subscribing. Click this to Subscribe to TechToTinker.

Thank you and have a good days ahead.

See you,

– George Bantique | tech.to.tinker@gmail.com

For more details, you may visit the product details at: http://reyax.com/products/ryc1001/

Or if you decided to purchase it, visit:
https://www.amazon.com/REYAX-RYC1001-Cloud-Platform-Account/dp/B08M93FTPF

So that’s it, if you enjoy this video please consider supporting my journey in Youtube by Subscribing to TechToTinker Youtube channel.

Thank you.

I use JSON Path Finder to find out the exact Json path:
https://jsonpathfinder.com/





GitHub-flavored Markdown & a sane subset of HTML is supported.