-
Notifications
You must be signed in to change notification settings - Fork 0
/
UrbanNaps-Firmware-Basic-Flow
120 lines (120 loc) · 12.9 KB
/
UrbanNaps-Firmware-Basic-Flow
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<mxfile host="app.diagrams.net" modified="2022-01-21T09:06:41.696Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36" etag="BkHwcooeC8LAic-ACBhf" version="16.4.3" type="github">
<diagram id="TELa_BJRizAEX2ICxrCg" name="Page-1">
<mxGraphModel dx="1422" dy="705" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="WWdFVZrffQY-YjE6uvwH-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="560" y="210" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-9" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-1" target="WWdFVZrffQY-YjE6uvwH-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-1" target="WWdFVZrffQY-YjE6uvwH-10">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-23" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-1" target="WWdFVZrffQY-YjE6uvwH-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-1" value="Napping Pod<br>Power On" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="334" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-3" target="WWdFVZrffQY-YjE6uvwH-4">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-3" value="WiFi or GSM Connect" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="560" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-4" target="WWdFVZrffQY-YjE6uvwH-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-34" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-4" target="WWdFVZrffQY-YjE6uvwH-33">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-4" value="AWS Connect" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="560" y="320" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-6" value="MQTT Publish" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="560" y="460" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-18" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-8" target="WWdFVZrffQY-YjE6uvwH-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-8" value="Keyboard Reading" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
<mxGeometry x="135" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-10" target="WWdFVZrffQY-YjE6uvwH-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-10" value="RFID Reading" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="334" y="320" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-12" target="WWdFVZrffQY-YjE6uvwH-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-16" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-12" target="WWdFVZrffQY-YjE6uvwH-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-12" value="Grant Access Acc to RFID Card" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="334" y="460" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-15" value="Door Open/Close" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="334" y="600" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-20" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-17" target="WWdFVZrffQY-YjE6uvwH-19">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-17" value="Perform Action Acc to Key Value" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
<mxGeometry x="135" y="320" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-25" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-19" target="WWdFVZrffQY-YjE6uvwH-24">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-19" value="<div style="text-align: left"><span>1. Door (Open Close)</span></div><div style="text-align: left"><span>2. Music / White Noise</span></div><div style="text-align: left"><span>3. Massage</span></div><div style="text-align: left"><span>4. O2</span></div><div style="text-align: left"><span>5. Fan</span></div><div style="text-align: left"><span>6. HotStone</span></div><div style="text-align: left"><span>7. Light</span></div><div style="text-align: left"><span>8. UP/Down/ZeroG</span></div>" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
<mxGeometry x="130" y="460" width="130" height="170" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-22" value="Indication and ambient Lights" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
<mxGeometry x="334.5" y="70" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-24" target="WWdFVZrffQY-YjE6uvwH-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-24" value="Read All Function and Create Json" style="whiteSpace=wrap;html=1;rounded=1;" vertex="1" parent="1">
<mxGeometry x="135" y="680" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-27" value="<h1>Control Methods</h1><p style="font-size: 16px"><font style="font-size: 16px">1. Door, UP, DOWN, ZeroG are controlled by PWM Motor Driver</font></p><p style="font-size: 16px"><font style="font-size: 16px">2. Music is Controlled by UART1 of ESP32</font></p><p style="font-size: 16px"><font style="font-size: 16px">3. Massage and Air Pump is controlled by PCA9555, IO Expander is which is I2C</font></p><p style="font-size: 16px"><font style="font-size: 16px">4. Fan, Heat, RGB Indication Light, Vibration Motor and two on board SMD LEDs are controlled by PCA9635, PWM Expander IC, I2C</font></p><p style="font-size: 16px"><font style="font-size: 16px">5. Oxygen is controlled by IR LED and One GPIO of PCA9555 for power of o2 device</font></p><p style="font-size: 16px"><font style="font-size: 16px">6. RFID connected via SPI to ESP32</font></p><p style="font-size: 16px"><font style="font-size: 16px">7. Keyboard read is done using UART2 or CAN bus of ESP32 (CAN bus is in testing)</font></p><p style="font-size: 16px"><font style="font-size: 16px">8. GSM will be connected using UART2 of ESP32</font></p><p style="font-size: 16px"><font style="font-size: 16px">9. Ambient Lights are WS2812b Controlled using a pin of ESP32</font></p><p style="font-size: 16px"><font style="font-size: 16px">10. Alerts are created based on some logic like unauthorised access, smoke alarm, Attendance Card Scan, Booking Alert etc&nbsp;</font></p>" style="text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;" vertex="1" parent="1">
<mxGeometry x="50" y="859" width="971" height="401" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-29" value="<h1>Major issue&nbsp;</h1><p style="font-size: 16px"><font style="font-size: 16px">IR LED lib is not working properly if more than 3 task created in FreeRTOS</font></p><p style="font-size: 16px"><font style="font-size: 16px">GSM connection and CAN bus implementation is under testing&nbsp;</font></p>" style="text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;" vertex="1" parent="1">
<mxGeometry x="50" y="1270" width="751" height="120" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-30" target="WWdFVZrffQY-YjE6uvwH-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-30" value="Alerts (*10)" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="650" y="660" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-36" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-33" target="WWdFVZrffQY-YjE6uvwH-35">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-33" value="MQTT Callback" style="whiteSpace=wrap;html=1;rounded=0;" vertex="1" parent="1">
<mxGeometry x="760" y="320" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="WWdFVZrffQY-YjE6uvwH-35" target="WWdFVZrffQY-YjE6uvwH-19">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="820" y="820" />
<mxPoint x="50" y="820" />
<mxPoint x="50" y="545" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WWdFVZrffQY-YjE6uvwH-35" value="Action from API" style="whiteSpace=wrap;html=1;rounded=0;" vertex="1" parent="1">
<mxGeometry x="760" y="440" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>