Reyax MQTT with Database: RYC10001 Introduction | Part 1
Introduction
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.
Instruction
As for the start, lets create the image illustrated above Home automation using basic MQTT.
1. Connection Profiles:
I prepared a 2 dashboard, one is to simulate the basic MQTT setup and another one to simulate MQTT setup with RYC1001 database capability.
2. Basic MQTT Setup | Connection:
In the Client ID, I use my username-some identification for me to be able to identify the client.
3. Basic MQTT Setup | Connection continuation:
Username and Password can be acquired from Reyax Technology.
4. Basic MQTT Setup | Dashboard:
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.
5. Basic MQTT Setup | Switch Panel:
lr_switch will publish to topic home/living_room/lights.
6. Basic MQTT Setup | Lights Panel:
lr_lights subscribes to topic: home/living_room/lights
7. Basic MQTT Setup | Temperature Sensor panel:
lr_temp_sensor publishes to topic: home/living_room/temperature
8. Basic MQTT Setup | Temperature Gauge panel:
lr_temperature subscribes to topic: home/living_room/temperature.
9. MQTT with Database Setup | Connection:
10. MQTT with Database Setup | Connection continuation:
11. MQTT with Database Setup | Dashboard:
12. MQTT with Database Setup | Switch panel:
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.
13. MQTT with Database Setup | Lights 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
14. MQTT with Database Setup | Temperature sensor panel:
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.
15. MQTT with Database Setup | Temperature gauge 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
Video Demonstration
Call To Action
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
References And Credits
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/
No comments yet!