[IoT EDGE V.3 Board] Communication Port Test. (RS485)
2 min readMay 6, 2021
Device
- IoT EAGE V.3 Board
- SDM220 Modbus
Software
- Arduino IDE (Download)
Library for Arduino IDE
- SMD.h (Download)
Model Test
- IoT EAGE V.3 Board’s Master
- SDM220 Slave
Source Code
- Read RS485 Port (Download)
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
- เขียน 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