본문 바로가기
TIL/디지털트윈

07.04 디지털 트윈 부트캠프(OT) 2일차

by saramnim 2023. 7. 4.
728x90
IoT 라즈베리파이

nano 명령어로 파일을 생성/수정할 수 있다.

nano pythontest.py
import time
while True:
	print(time.ctime())
	time.sleep(10)

 

python3 pythontest.py

위 명령어로 파일을 실행시킬 수 있다.

 

ls

현재 위치의 파일 목록을 볼 수 있다.

 

cd etc/xdg/lxsession/LXDE-pi/

위의 경로로 이동해준다. 이때, cd ../..를 해줘서 경로를 최상위로 옮겨주자.

처음 shell의 시작 위치는 home의 hyejis이므로, etc로 이동하려면 cd ../..를 해줘 경로를 최상위로 옮겨줘야 한다.

 

sudo nano autostart

위 명령어로 해당 파일에 접근하자

lxterminal -e python /home/유저네임/pythontest.py

 

 

sudo chmod 777 pythontest.py

파일에 권한을 주는 코드다.

 

sudo reboot

이렇게 하면 파일이 실행되는 것을 볼 수 있다.

 

ps -ef | grep py

현재 py가 포함된 실행중인 파일을 볼 수 있다.

이때 파일 이름 옆에 뭔가 숫자가 뜨는데,

 

sudo kill -9 뭔가숫자

그 숫자를 위의 방법에 대입하면 해당 파일이 멈춘다.

 

node-red

라즈베리파이 내에서 node-red를 실행시키는 방법인데, 교육장은 컴이 너무 많아 네트워크 오류가 잦으니 그냥 속 편하게 라즈컴이 아닌 내 컴 환경에서 node-red를 실행시키기로 했다.

 

내 컴 크롬에서 라즈베리파이 ip:1880
=> 내 경우 192.168.0.72:1880

그러면 node-red 페이지가 켜지는 것을 볼 수 있는데, 이때 아이디랑 비번을 입력하라고 나온다.

라즈베리파이 내에서 설정한 아이디와 비밀번호 8자리를 입력해주면 된다.

깃헙 설정할 사람들은 깃헙 설정까지 완료해준 후 프로젝트 생성을 눌러 시작하면 된다.

아래는 간단히 구현한 상태다.

 

다음과 같이 코드를 짜주면 완성이다.

로우코드라고 할 수 있겠다.

 

오른쪽 상단 햄버거를 눌러 팔레트 설정 -> gpio를 친 후 pi gpio를 다운받아 준다.

 

실제 핀은 pi gpio에서 나오는 초록색 gpio에 연결하도록 하자

 

팔레트 -> dht 검색 후, node-red-contrib-dht-sensor 설치

 

topic: rpi-dht22

sensormodel: DHT11

Pin numbering: BC< GPIO

Pin number: 2

 

팔레트 -> aedes 설치

Aedes MQTT broker와 debug

MQTT port 1883

WSbind: port

 

input - rpi-dht22 - mqtt out

mqtt out 서버 설정 : 192.168.0.72

Qos: 0

0: 데이터를 몇개 잃어도 상관 없을 때?

mqtt broker 다운 못한 경우 포트 : broker.mqtt-dashboard.com

 

mqtt in - debug

mqtt in: out과 토픽 같아야 함

 

input - rpidht22 - function - debug

function 코드

msg.payload = {
	"Temp" : msg.payload,
    "Humidity" : msg.humidity
}
return msg

 

var Temp = msg.payload
var humidity = msg.payload.humidity
if (humidity >= 30){
    msg.payload = 0;
    return msg;
}
else {
    msg.payload = 1;
    return msg;
};

 

온습도 센서로부터 값을 받아 데이터를 가공해 출력하는 기초 작업을 수행했다.!

728x90
반응형

댓글

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."