[IoT EDGE V.3 Board] Communication Port Test. (RS485)

Supphakarin Phoruangrong
2 min readMay 6, 2021

--

Device

  • IoT EAGE V.3 Board
  • SDM220 Modbus

Software

Library for Arduino IDE

Model Test

  • IoT EAGE V.3 Board’s Master
  • SDM220 Slave

Source Code

Explain

ในการทดสอบการใช้งานบอร์ด IoT EAGE V.3 ในบทความนี้ความจะทดสอบการสื่อสารแบบ RS485 โดยเราจะให้ Master เป็นบอร์ด IoT EAGE V.3 และ Slave เป็น SDM220 Modbus และจะเป็นตัวส่งค่าต่างๆที่ SDM220 อ่านได้ เช่น Voltage, Current, Frequency etc. ให้ทำ IoT EAGE V.3 แล้วแสดงค่าออกทาง Serial Monitor ของ IoT EAGE V.3

Method

  1. เขียน Code ของ IoT EAGE V.3 Board เพื่อให้อ่านข้อมูลจาก SDM220 ได้
#include <SDM.h> 
#include <SoftwareSerial.h>
#define Address 0x001
#define Line_to_Neutal_Volts 0x0000
#define Current 0x0006
#define Active_Power 0x000C
#define Apparent_Power 0x0012
#define Reactive_Power 0x0018
#define Power_Factor 0x001E
#define Phase_Angle 0x0024
#define Frequency 0x0046
#define Import_Active_energy 0x0048
#define Export_Active_energy 0x004A
#define Import_Reactive_energy 0x004C
#define Export_Reactive_energy 0x004E
#define Total_Active_energy 0x0156
#define Total_Reactive_energy 0x0158

SoftwareSerial swSerSDM;

SDM sdm(swSerSDM, 9600, 33, SWSERIAL_8N1, 25, 32);

void setup() {
Serial.begin(115200);
sdm.begin();
}
void loop() {

Serial.print(“Voltage: “);
Serial.print(sdm.readVal(Line_to_Neutal_Volts), Address);
Serial.println(“V”);
Serial.print(“Current: “);
Serial.print(sdm.readVal(Current), Address);
Serial.println(“A”);
Serial.print(“Power: “);
Serial.print(sdm.readVal(Active_Power), Address);
Serial.println(“W”);
Serial.print(“Frequency: “);
Serial.print(sdm.readVal(Frequency ), Address);
Serial.println(“Hz”);
delay(1000);

}

2.เลือก Board Type ให้เลือกเป็น ESP32 Dev Module และ เลือก Port

3. Upload Program ให้กับ IoT EAGE Board V.3

4.ต่อวงจรแล้วดูผล ผ่าน Serial Monitor ของ IoT EAGE V.3 Board

Reference

--

--

No responses yet