Showing
1 changed file
with
43 additions
and
1 deletions
1 | -exports.processing = async(data) => { | 1 | +const Bottle = require('../models/bottle'); |
2 | + | ||
3 | +//Hub topic : bottle/bottleId | ||
4 | +//Hub로부터 받은 message : 개폐여부/온도/습도/초음파센서 | ||
5 | +exports.factoring = (topic, message) => { | ||
6 | + const bottleId = topic.split('/')[1]; | ||
7 | + const data = message.split('/'); | ||
8 | + const [isOpen, temperature, humidity, balance] = data; | ||
9 | + | ||
10 | + const openDate = new Date(); | ||
11 | + | ||
12 | + return { | ||
13 | + bottleId, | ||
14 | + isOpen, | ||
15 | + openDate, | ||
16 | + temperature, | ||
17 | + humidity, | ||
18 | + balance | ||
19 | + }; | ||
20 | +} | ||
21 | + | ||
22 | +//bottleId가 포함된 data를 받아서 해당 약병의 data를 업데이트한다. | ||
23 | +exports.bottleInfoUpdate = async(data) => { | ||
24 | + const { bottleId, isOpen, openDate, temperature, humidity, balance } = data; | ||
25 | + if(isOpen === '1') { | ||
26 | + await Bottle.findOneAndUpdate({ | ||
27 | + bottleId | ||
28 | + }, { recentOpen : openDate }, { | ||
29 | + new : true | ||
30 | + }); | ||
31 | + } | ||
32 | + | ||
33 | + await Bottle.findByIdAndUpdate({ | ||
34 | + bottleId | ||
35 | + }, { | ||
36 | + temperature, | ||
37 | + humidity, | ||
38 | + balance | ||
39 | + }, { new : true }); | ||
40 | +} | ||
41 | + | ||
42 | +//해당 MQTT Broker(client)에 bottleId의 정보에 관한 message를 발행한다. | ||
43 | +exports.dataPublishg = (client, bottleId) => { | ||
2 | 44 | ||
3 | } | 45 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment