임베디드 보드

#1-5 SR-201 릴레이 React-native 네트워크 제어

ZEROWIN.TECH 2022. 2. 3. 20:56
728x90

SR-201

https://www.berrybase.de/media/pdf/73/e0/e9/produkt_downloads-SR-201-Network-Relay-Quick-Start-GuidepoGfsJORs6QPP.pdf


공유기 안내전광판

아이피 설정

 

  • 참조파일

sr-201-relay-0.1.0.tar.gz
0.20MB

e:\Downloads\sr-201-relay-0.1.0>python sr-201-relay.py 192.168.1.100 config
ip=192.168.1.100
netmask=255.255.255.0
gateway=192.168.1.1
(unknown)=
power_persist=0
version=2523
serial=F721C51C0C3A9D000000
dns=192.168.1.1
cloud_server=connect.tutuuu.com
cloud_enabled=0
cloud_password=(not-sent)

e:\Downloads\sr-201-relay-0.1.0>python sr-201-relay.py 192.168.1.100 gateway=0.0.0.0

e:\Downloads\sr-201-relay-0.1.0>python sr-201-relay.py 192.168.1.100 gateway=192.168.96.1

e:\Downloads\sr-201-relay-0.1.0>python sr-201-relay.py 192.168.1.100 ip=192.168.96.100

e:\Downloads\sr-201-relay-0.1.0>python sr-201-relay.py 192.168.1.100 reset​
 

릴레이 제어

[PORT] 
* TCP : 6722
* UDP : 6723

11 // ON : 1 relay
21 // OFF : 1 relay
11:0^ // ON : 1
21:0^

12:0^ // ON : 2
22:0^
 

 

테스트 프로그램

  • Packet Sender
 

 

 

React Native 

  • udp 통신
참조 라이브러리
https://www.npmjs.com/package/react-native-udp

const socket = dgram.createSocket('udp4');

    socket.bind(12345, function (err) {
      if (err) {
          console.log("error in bind: " + err)
          reject(false)  
      }
    })
    
	let remotePort = 6723;
    let remoteHost = '192.168.96.100';
    let sendMessage = bOn == true ? '11' : '21';

    socket.send(sendMessage, 0, sendMessage.length, remotePort, remoteHost, function(err) {
      if (err) throw err;

      console.log('Message sent!')
    })
  • TCP 통신
참조 라이브러리
https://www.npmjs.com/package/react-native-tcp-socket

// Create socket
    const client = TcpSocket.createConnection({
      port : 6722,
      host : '192.168.96.100'
    }, () => {
      // Write on the socket
      if(bOn == true) client.write('11');
      else client.write('21');

      // Close socket
      // client.destroy();
    });

    client.on('data', function(data) {
      console.log('message was received', data);

      client.destroy();
    });

    client.on('error', function(error) {
      console.log('error', error);

      client.destroy();
    });

    client.on('close', function(){
      console.log('Connection closed!');
    });

TCP 통신 디버그

 
  • 테스트 동영상

태블릿에서 디바이스 제어

 

 

 

'임베디드 보드' 카테고리의 다른 글

Modebus TCP + rs485 + Relay  (0) 2022.02.26
rs485 + 온도센서 7개 수집보드  (0) 2022.02.26
CH9121 UDP 연결 포트 유지  (0) 2020.11.14
CH9121 HCW 이더넷 모듈  (1) 2020.10.08
RPLIDAR SDK 분석  (0) 2020.08.31