# IOT_4G.py 函数文档

4G网络连接和NTP时间同步模块。

## 全局变量

- **connect_status_4g**: 4G连接状态标志
- **lte**: LTE网络对象实例
- **version**: LTE模块版本信息
- **iccid**: SIM卡ICCID号码

## 核心函数

### connect_4g()
```python
def connect_4g()
```
- **功能**: 建立4G网络连接
- **实现流程**:
  1. 检查LTE对象是否存在
  2. 检查当前连接状态
  3. 激活LTE模块
  4. 尝试建立连接
  5. 等待连接结果
- **返回值**: 
  - True: 连接成功
  - False: 连接失败
- **连接特性**:
  - 自动重试机制
  - 状态检查
  - 超时保护（一次重试）
- **输出信息**:
  - 连接状态
  - 模块版本
  - ICCID信息

### synchronous_timer()
```python
def synchronous_timer()
```
- **功能**: NTP网络时间同步
- **实现细节**:
  - NTP服务器: pool.ntp.org
  - 自动异常处理
  - 时间同步状态反馈
- **返回值**:
  - True: 同步成功
  - False: 同步失败
- **输出信息**:
  - 同步结果
  - 当前本地时间

### Sync_Timer()
```python
def Sync_Timer()
```
- **功能**: 综合网络连接和时间同步
- **执行流程**:
  1. 建立4G网络连接
  2. 同步网络时间
  3. 异常处理保护
- **返回值**:
  - True: 全部成功
  - False: 任一步骤失败
- **错误处理**:
  - 网络连接失败处理
  - 时间同步失败处理
  - 异常捕获和日志

## 使用示例

### 基本网络连接
```python
from IOT_4G import connect_4g

if connect_4g():
    print("4G网络连接成功")
else:
    print("4G网络连接失败")
```

### 时间同步
```python
from IOT_4G import Sync_Timer

if Sync_Timer():
    print("网络连接和时间同步成功")
else:
    print("同步失败，请检查网络")
```

## 网络状态检查

### 连接状态查看
```python
from IOT_4G import lte

if lte and lte.isconnected():
    print("网络状态:", lte.status())
    print("模块版本:", lte.version())
    print("ICCID:", lte.iccid())
```

## 技术规格

1. 网络连接
   - 类型: 4G LTE
   - 重试次数: 1次
   - 连接超时: 默认等待时间

2. 时间同步
   - 协议: NTP
   - 服务器: pool.ntp.org
   - 备用服务器: time.aliyun.com（注释中提供）

## 错误处理

1. LTE模块初始化错误
```python
try:
    lte = network.LTE()
except Exception as e:
    print(f"LTE模块初始化失败: {e}")
```

2. 网络连接错误
```python
if not lte.isconnected():
    print("网络连接失败")
```

3. NTP同步错误
```python
try:
    ntptime.settime()
except OSError as e:
    print(f"时间同步失败: {e}")
```

## 注意事项

1. 网络连接
   - 确保SIM卡正确安装
   - 检查信号强度
   - 注意连接超时处理

2. 时间同步
   - 需要成功的网络连接
   - 可能受网络延迟影响
   - 建议定期重新同步

3. 资源管理
   - 及时处理连接异常
   - 避免频繁重连
   - 合理设置重试间隔

4. 调试建议
   - 使用status()检查详细状态
   - 记录重要错误信息
   - 监控连接稳定性

5. 性能优化
   - 按需连接
   - 避免死循环等待
   - 合理的超时设置
