전체 글 312

식물 생장등 자동으로 on off하기

옛날에 만든거라 정보가 적음 재료 wemos d1 mini pro, relay 동기 식물의 일조량을 늘리기위해 생장등을 구비했는데 일몰때 끄고 일출때 키는것을 자동화 하기위해서 내용 원래는 조도 센서로 일출과 일몰을 감지하려고했으나 실내등으로 인해 항상 밝기때문에 서버시간을 받아와서 릴레이로 on off 해주기로함 세부내용 자체타이머의 오차를 줄이기위해 서버시간은 1시간마다 받아와서 업데이트 전구를 제외한 릴레이와 wemos는 배터리를 사용해작동 소비전력을 줄이기위해 측정해본 wemos의 상태별 소비전류 멀티미터로 재본 결과 상태 소비전류 비고 일반상태 70~80mA modemsleep 10~20mA (wifi off 상태) deepsleep 작아서 안잡힘 (검색해보니 0.06~0.18mA) (정해진 시..

Project/arduino 2022.05.05

11일차 / N : M연결 diary와 hashtag 작성 및 scheduler를 이용한 쓰레기값 삭제

어제 팬딩이 뜨는상황은 promise로하면 해결이 되긴하지만 다른문제들 때문에 맨 처음했던 방법으로 돌아갔다 진행한 내용은 따로 정리해 뒀다 Sequelize 기본 설정 : https://fullfish.tistory.com/91?category=1054038 Sequelize와 Migration 기본 설정 Migration을 하면 데이터베이스에 테이블 생성 및 삭제할것을 미리 선언해두는것이고 Seed는 그 테이블에 더미데이터를 집어 넣는거 공식문서 : https://sequelize.org/docs/v6/other-topics/migrations/ Migratio.. fullfish.tistory.com Sequelize 관계 설정 : https://fullfish.tistory.com/92?categ..

node-cron을 이용한 schedule

npm install node-cron // 설치 사용 예시 const cron = require('node-cron'); cron.schedule('* * * * * *', function () { console.log('매 초 마다 작업 실행'); }); cron.schedule의 첫인자로 실행 주기, 두번째 인자로 콜백 함수 입력 메소드 기본적으로 자동실행인데 const cron = require('node-cron'); const a = cron.schedule('* * * * * *', function () { console.log('매 초 마다 작업 실행'); }, { scheduled: false }); a.start(); scheduled를 false로 주면 a.start()해야지만 실행된..

Sequelize N : M (다대다)관계에 대한 고찰

diary : hashtag = N : M 일때 처음에는 await diary.create() await diary_hashtag.create() await hashtag.create() 로 각각 3개의 테이블에 데이터를 만들어 줬는데 belongsToMany로 관계설정을 해줬으니까 각각 안만들어줘도 똑똑한 sequelize가 join table은 자동 생성해줄거라고 생각했다 또한 위에처럼 각각 만들어줬을때 diary를 삭제하면 연관되는 diary_hashtag테이블의 칼럼이 삭제되고 또한 hashtag를 삭제했을때도 연관되는 diary_hashtag테이블의 칼럼이 삭제는 되지만 더 나아가서 diary 삭제시 diary_hashtag테이블이 삭제되고 diary_hashtag테이블을 참조하는 hashtag..

Sequelize 관계 설정 1 : N, N : M(1대다, 다대다)

trip : diary = 1 : N diart : hashtag = N : M 인 경우의 관계 설정 관계 설정방법은 2가지가 있다 마이그레이션과 모델 모두 이용하는 방법과 마이그레이션을 하지않고 모델만 이용하는 방법이 있는데 마이그레이션을 이용하는 방법으로 하겠다 1 : N 우선 trip, diary, hashtag의 migration과 model파일들을 다 만든 상황에서 일반적으로 migration 파일을 만들때 npx sequelize-cli model:generate --name user --attributes name:string 처럼 만드는데 이렇게 말고 npx sequelize-cli migration:generate --name fk-diary 이런식으로 model이 생성되지 않고 migr..

Sequelize와 Migration 기본 설정

Migration을 하면 데이터베이스에 테이블 생성 및 삭제할것을 미리 선언해두는것이고 Seed는 그 테이블에 더미데이터를 집어 넣는거 공식문서 : https://sequelize.org/docs/v6/other-topics/migrations/ Migrations | Sequelize Just like you use version control systems such as Git to manage changes in your source code, you can use migrations to keep track of changes to the database. With migrations you can transfer your existing database into another state and ..

10일차 / n : m 연결 고민 미완이라 내일도 할 예정

원래 diary post 코드 try { const { title, picture, gps, content, write_date, hashtags } = req.body; if (!title || !picture || !content || !write_date) { await slack.slack("Diary Post 422"); return res.status(422).send({ message: "insufficient parameters supplied" }); } const validity = await tokenHandler.accessTokenVerify(req, res); if (validity) { //해쉬태그 제외한 다이어리 추가 const diaryPayload = { trip_id: ..