Q&A
HOME >> 커뮤니티 >> Q&A

명도소송절차 진행 이전에 내용증명을 발송함으로써

페이지 정보

작성자 Kyle 작성일25-02-11 12:19 조회2,303회 댓글0건

본문

​#라즈베리파이5 발송 #RS485 #스마트팜 #IOT #실내농업 #Node-Red #Mongodb #G-Mail #SMTP #첨부파일​** ASP , VBA , Excel Macro 프리랜서 문의** 스마트팜 창업 문의 , 실내 스마트팜제작, 귀농상담​이번에는 MongoDB에 저장된 농업 데이터를 XLS 파일로 생성한 다음 E-Mail 로 첨부해서 발송하는 예제를 구현하겠습니다.​이 문제를 해결하기 위해선 , 1) 구글 GMAIL 에 SMTP 서버를 열어줘야 합니다.2) Node-Red 에 Excel 파일변환 node 와 메일발송 node 를 만들어야 합니다.​1. 크롬 오른쪽 위를 클릭하시면 자기 구글 계정이 나오게 됩니다.여기에서 Google 계정관리&quot를 클릭합니다.2. 보안 탭 에서 발송 2단계 인증을 활성화 해주셔야합니다. - 이미 되어있으신 분은 안하셔도 됩니다. - 이부분은 별도로 설명드리진 않겠습니다. (방법이 여러종류라)3. 상단에 검색창에 비밀번호&quot검색 하면 처음에 아무것도 안나오는데, 키보드 ↓ 키를 클릭하면 화면과 같이 여러가지가 나오게 됩니다. - 앱 비밀번호&quot를 클릭합니다.4. 앱 비밀번호에 들어가기 전에 인증을 한번 거치는데 그 부분은 생략합니다. - 앱비밀 번호 화면에 들어와서 이름을 적당히 넣어 주고 만들기&quot버튼을 클릭합니다.5. 비밀번호 팝업이 뜨는데 이것을 드래그 해서 복사해 둡니다. - 팝업이 닫히면 비밀번호는 두번다시 나오지 않습니다. - 비밀번호 입력시에는 발송 띄어쓰기를 사용하지 않습니다.- 구글 앱 접속 설정은 여기까지 입니다.​6. Node-Red의 노드 구성은 다음과 같습니다.** 작업 노드 역활 설명 타임스탬프 : 작동테스트용기간별분당 어쩌고 func : mongoDB 데이터 검색용Json에서 엑셀 데이터 추출 : mongoDB에서 넘어온 데이터중 쓸모 없는 짜투리를 잘라내는 작업 - mongoDB 데이터는 Json 형식으로 넘어 옵니다. - 자투리 자르는 작업은 별도로 나중에 하셔도됩니다. (테스트 할땐 불필요)엑셀파일변환 : msg.payload 를 통해 넘어오는 Json 데이터를 xlsx 파일로 변환해 줍니다.send Email : Email 발송상세내역을 설정하는 nodeEmail 발송폼 : templet 발송 노드로 이메일 내용에 스킨을 입히는 부분팜비트 : Email 발송용 node​7. 노드 설치​node-red-contrib-excel : 엑셀파일 변환용 노드node-red-node-email : 메일 발송용 노드찾아서 설치해주시면 됩니다.​8. 데이터 추출 부분1 ) 기간별 분당 데이터 입력 Function ( 몽고디비 검색 사용시 참고하세요)​// 컨텍스트 변수에 MongoDB 설정 저장 (한 번만 설정하면 됨)context.set('mongodbConfig', { collection: 'device_log', operation: 'find',});​// 함수 내에서 컨텍스트 변수를 참조하여 메시지 생성function getMessagesForPeriod(startDate, endDate) { let newMsg ={}; Object.assign(newMsg, context.get('mongodbConfig'))// 기본 설정 복사 newMsg.payload ={ datetime: { // Json 에 timestamp 발송 형식으로 저장되어짐 $gt: new Date(startDate).getTime(), $lt: new Date(endDate).getTime(), } }; return newMsg;}​// 사용 예시let sDate =msg.payload.sDate // 2024-01-01 형식의 문자열let eDate =msg.payload.eDate // 2024-01-31 형식의 문자열let dateObj =new Date(eDate);dateObj.setDate(dateObj.getDate() + 1);let newDate 㷚teObj.toISOString().slice(0, 10) // 날자를 1일 더해야 해당일자까지 나온다.​let messages =getMessagesForPeriod(sDate, newDate);messages.sDate =sDatemessages.eDate 𽻚te​return messages​2) Json 에서 엑셀 데이터 추출​​let payload =msg.payload;let sendMsg =[];let sHead1 =[ dateformat,date,hour,min,daynight , temp, humi, co2, ec, ph, wt ]let sHead2 =[ 연월일시, 날짜, 시간, 분, 낮/밤 , 온도, 습도, 발송 co2, EC, ph, 수온]​for(let i =0;i<payload.length;i++){ let pJson ={}; let pData =payload[i]; for (let j ϐj &ltsHead1.length;j++){ if (pData[sHead1[j]] !=undefined){ pJson[sHead2[j]] =pData[sHead1[j]]; } } sendMsg.push(pJson);​}​msg.payload =sendMsgreturn msg;​헤더가 영문으로 나오는것을 한글로 치환해서 json 을 만들어서 payload 로 전송​9. 엑셀파일변환 - excel 노드는 지정된 파일로만 변환하여 저장 한다 (단점임)​10. send Email 노드 (function)보내는 사람 ID : 초반에 설정한 구글 Gmail 계정 user / to 동일pEmail.to : 제목pEmail.pass : 초반에 만든 비밀번호 띄어쓰기 없이 붙여쓴다.pEmail.to : 메일을 받는 사람 발송 주소pEmail.attachments : 첨부파일 첨부 (라즈베리 파이의 tmp 폴더에 임시저장된 파일을 첨부한다.)pEmail.payload : 보내는 이메일의 내용​11. Email 노드 속성userid와 password 는 위에 10번에 작성한것과 동일하게 지정한다.​​메일 발송과 수신을 확인해보면 끝

댓글목록

등록된 댓글이 없습니다.

상호명 신성사 | 대표자 박한규 | 사업자등록번호 106-50-64457 | TEL 02-713 –3691 | FAX 02 - 716 - 8564 | ADD 서울특별시 용산구 원효로58길 17 나우빌딩 2층 | E-mail help@sscom.co.kr

Copyrightsⓒ2016 신성사 All rights reserved.