Skip to content

Commit 85f0930

Browse files
niiutuutYiluMao
authored andcommitted
添加17个haas506趣味案例
1 parent eb10e96 commit 85f0930

File tree

473 files changed

+9529
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

473 files changed

+9529
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
# 自动感应门
2+
# 简介
3+
很多公共场所采用自动感应门,当有人靠近时门会自动打开,远离时自动关门;有时候需要将门常开比如搬运货物,不方便将门关闭;或者场所夜晚关门时需要常关,不允许他人进入。
4+
5+
本案例模拟相应场景,设计一款可以使用手机APP来控制自动感应门的系统。
6+
## 红外避障传感器
7+
8+
- 红外避障是避障传感器的一种,具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(信号输出接口输出低电平信号,可通过电位器旋钮调节检测距离)。
9+
- 规格参数:
10+
11+
1.工作电压:DC 3.3V-5V
12+
13+
2.工作电流:≥20mA
14+
15+
3.工作温度:-10℃—+50℃
16+
17+
4.检测距离:2-30cm
18+
19+
5.输出信号:有障碍物或反射到地面输出低电平,无障碍物高电平
20+
21+
6.调节方式:多圈电阻式调节
22+
23+
7.有效角度:35°
24+
# 准备
25+
本案例需要的硬件
26+
器材|数量
27+
|--|--|
28+
HaaS506开发板|1
29+
红外避障传感器|1
30+
SG90舵机|1
31+
SIM卡|1
32+
杜邦线|若干
33+
# 硬件连接图
34+
<div align="center">
35+
<img src=./../../../images\506自动感应门\zd01.png width=100%/>
36+
</div>
37+
38+
# 代码流程
39+
1、连接阿里云平台
40+
41+
2、启用两个线程,避障传感器每秒将检测状态上传阿里云;舵机根据条件判断是否开门。
42+
43+
3、创建‘移动应用’功能,控制门禁正常、常闭、常开模式,并实时检测累计人流量。
44+
45+
4、将门禁状态上传阿里云平台。
46+
47+
# 功能实现
48+
## 1、物联网平台开发
49+
第一次使用物联网平台的读者,需要开通实例后使用物联网平台功能。也可以使用免费的公共实例进行开发,在[阿里云物联网平台](https://iot.console.aliyun.com/lk/summary/new)中,左上角选择‘华东2-上海’,点击‘公共实例’,即可开通。
50+
51+
1、平台产品创建
52+
53+
① 登录[物联网平台控制台](https://iot.console.aliyun.com/lk/summary/new)
54+
<div align="center">
55+
<img src=./../../../images\506公共实例创建\1.png width=100%/>
56+
</div>
57+
58+
② 在实例概览页面,找到对应的实例,单击实例进入实例详情页面。
59+
60+
**注意 在中国地域,目前仅华东2(上海)地域开通了公共实例服务。**
61+
62+
在左侧导航栏,选择设备管理 > 产品,单击创建产品。
63+
<div align="center">
64+
<img src=./../../../images\506公共实例创建\2.png width=100%/>
65+
</div>
66+
67+
输入产品信息
68+
<div align="center">
69+
<img src=./../../../images\506公共实例创建\3.png width=100%/>
70+
</div>
71+
72+
③ 添加设备
73+
<div align="center">
74+
<img src=./../../../images\506公共实例创建\4.png width=100%/>
75+
</div>
76+
77+
**注意:设备名称需要输入IMEI号,代码需要使用设备名称IMEI进行动态注册**
78+
<div align="center">
79+
<img src=./../../../images\506公共实例创建\5.png width=100%/>
80+
</div>
81+
82+
点击确定
83+
<div align="center">
84+
<img src=./../../../images\506公共实例创建\6.png width=100%/>
85+
</div>
86+
87+
④ 打开动态注册,要连接云平台必须打开。在这个界面也可以查看需要复制的产品信息。
88+
<div align="center">
89+
<img src=./../../../images\506公共实例创建\7.png width=100%/>
90+
</div>
91+
92+
93+
2、创建产品属性(添加物模型)物模型可以导入或手动添加,[导入物模型文件](./link_platform/auto_control_door.zip),以下为手动添加的操作流程。
94+
95+
选择产品**功能定义**--**编辑草稿**
96+
<div align="center">
97+
<img src=./../../../images\506自动感应门\zd02.png width=100%/>
98+
</div>
99+
100+
1、**添加自定义功能**
101+
2、按照图2显示添加**标识符****数据类型**(标识符要与代码一致)
102+
3、点击**发布上线**
103+
<div align="center">
104+
<img src=./../../../images\506自动感应门\zd03.png width=100%/>
105+
</div>
106+
107+
- 点击确定
108+
<div align="center">
109+
<img src=./../../../images\506自动感应门\zd04.png width=100%/>
110+
</div>
111+
112+
## 2、设备端开发
113+
- 第一次使用开发板的读者可以按照[HaaS506 快速开始](https://haas.iot.aliyun.com/haasapi/index.html?spm=a2cpu.b92276856.0.0.17a360b1tEuLlx#/Python/docs/zh-CN/startup/HaaS506_startup)搭建开发环境。
114+
115+
- 搭建完后复制[自动感应门代码](./code/)到Visual Studio Code,复制产品证书到代码相应位置。
116+
<div align="center">
117+
<img src=./../../../images\506自动感应门\zd05.png width=100%/>
118+
</div>
119+
120+
121+
修改位置
122+
```python
123+
if __name__ == '__main__':
124+
ICCID=None
125+
g_connect_status = False
126+
net = None
127+
device = None
128+
deviceSecret = None
129+
deviceName = None
130+
#复制产品证书内容替换
131+
productKey = "your-productKey"
132+
productSecret = "your-productSecret"
133+
device_dyn_resigter_succed = False
134+
135+
```
136+
137+
## 3、调试
138+
139+
1、串口调试工具log,**网络连接成功**--**动态注册成功**--**每秒打印红外避障传感器的状态**,当有人进入打印‘open the door’,控制舵机开门,并显示上传云端当前人数;当没人进入打印‘no object detected’。
140+
<div align="center">
141+
<img src=./../../../images\506自动感应门\zd08.png width=100%/>
142+
</div>
143+
144+
2、阿里云平台,打开**实时刷新**,会显示当前 进入人数。
145+
<div align="center">
146+
<img src=./../../../images\506自动感应门\zd09.png width=100%/>
147+
</div>
148+
149+
## 4、创建移动应用
150+
### 创建‘普通项目’
151+
<div align="center">
152+
<img src=./../../../images\506自动感应门\zd10.png width=100%/>
153+
</div>
154+
<div align="center">
155+
<img src=./../../../images\506自动感应门\zd11.png width=100%/>
156+
</div>
157+
158+
创建完自动跳转主页,关联相应产品
159+
<div align="center">
160+
<img src=./../../../images\506自动感应门\zd12.png width=100%/>
161+
</div>
162+
<div align="center">
163+
<img src=./../../../images\506自动感应门\zd13.png width=100%/>
164+
</div>
165+
166+
返回主页,新建移动应用
167+
<div align="center">
168+
<img src=./../../../images\506自动感应门\zd14.png width=100%/>
169+
</div>
170+
<div align="center">
171+
<img src=./../../../images\506自动感应门\zd15.png width=100%/>
172+
</div>
173+
174+
自动跳转应用编辑界面,选择组件→基础组件→图表→实时曲线,或者直接搜索。
175+
添加完成后,配置组件信息。
176+
<div align="center">
177+
<img src=./../../../images\506自动感应门\zd16.png width=100%/>
178+
</div>
179+
<div align="center">
180+
<img src=./../../../images\506自动感应门\zd17.png width=100%/>
181+
</div>
182+
<div align="center">
183+
<img src=./../../../images\506自动感应门\zd18.png width=100%/>
184+
</div>
185+
<div align="center">
186+
<img src=./../../../images\506自动感应门\zd19.png width=100%/>
187+
</div>
188+
189+
添加‘单选’组件,并配置组件信息。
190+
<div align="center">
191+
<img src=./../../../images\506自动感应门\zd20.png width=100%/>
192+
</div>
193+
<div align="center">
194+
<img src=./../../../images\506自动感应门\zd21.png width=100%/>
195+
</div>
196+
197+
配置交互信息。
198+
<div align="center">
199+
<img src=./../../../images\506自动感应门\zd22.png width=100%/>
200+
</div>
201+
<div align="center">
202+
<img src=./../../../images\506自动感应门\zd23.png width=100%/>
203+
</div>
204+
205+
配置完成后保存,点击预览可以查看设置好的移动应用。
206+
<div align="center">
207+
<img src=./../../../images\506自动感应门\zd24.png width=100%/>
208+
</div>
209+
210+
手机扫描二维码,可以在手机上选择自动门模式,并且实时查看人流量。
211+
<div align="center">
212+
<img src=./../../../images\506自动感应门\zd25.png width=100%/>
213+
</div>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"name": "haas506",
3+
"version": "2.0.0",
4+
"io": {
5+
"pwm_lpg": {
6+
"type": "PWM",
7+
"port": 3
8+
},
9+
"infrared":{
10+
"type":"GPIO",
11+
"port": 20,
12+
"dir": "input",
13+
"pull":"pullup"
14+
},
15+
"SPI0": {
16+
"type": "SPI",
17+
"port": 0,
18+
"mode": "master",
19+
"freq": 2000000
20+
},
21+
"serial1": {
22+
"type": "UART",
23+
"port": 0,
24+
"dataWidth": 8,
25+
"baudRate": 115200,
26+
"stopBits": 1,
27+
"flowControl": "disable",
28+
"parity": "none",
29+
"timeout": 1000
30+
},
31+
"serial2": {
32+
"type": "UART",
33+
"port": 1,
34+
"dataWidth": 8,
35+
"baudRate": 9600,
36+
"stopBits": 1,
37+
"flowControl": "disable",
38+
"parity": "none",
39+
"timeout": 1000
40+
},
41+
"serial3": {
42+
"type": "UART",
43+
"port": 2,
44+
"dataWidth": 8,
45+
"baudRate": 115200,
46+
"stopBits": 1,
47+
"flowControl": "disable",
48+
"parity": "none",
49+
"timeout": 1000
50+
}
51+
},
52+
"debugLevel": "ERROR",
53+
"repl": "enable",
54+
"replPort": 0
55+
}

0 commit comments

Comments
 (0)