# SIM7600CE上的python工具 **Repository Path**: cha1024/SIM7600CE-Rest ## Basic Information - **Project Name**: SIM7600CE上的python工具 - **Description**: 小工具会读取短信和电话,远程推送给你的api - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-22 - **Last Updated**: 2024-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目说明 ## 树莓派4B+ SIM7600X 4G & LTE Cat-1 HAT - 树莓连接SIM硬件后相关设置的文档 [文档](https://www.waveshare.net/wiki/SIM7600G-H_4G_HAT#.E6.A0.91.E8.8E.93.E6.B4.BE.E4.BE.8B.E7.A8.8B) ## 用python(python3.9+)脚本读取AT相关接口,监控状态。当读取到短信,电话的内容时,打印日志,且将数据发送到远程接口中。 ## 项目依赖 ``` pip install requests pip install fastapi pip install jinja2 pip install 'pydantic[email]' 或者 pip install -r requirements.txt ``` 目录说明 ``` ├── README.md #项目介绍 ├── app │ ├── __init__.py │ ├── config # 配置相关 │ │ └── __init__.py │ ├── constant # 常量相关 │ │ └── __init__.py │ ├── dao # 封装查询数据的方法 │ │ └── __init__.py │ ├── dependencies # 封装被依赖函数 │ │ └── __init__.py │ ├── middleware # 中间件 │ │ └── __init__.py │ ├── models # 数据模型文件,和表结构对应 │ │ └── __init__.py │ ├── router # 路由也可以理解controller │ │ ├── __init__.py │ │ ├── default_router.py # 默认接口 │ │ └── demo_router.py # 演示接口 │ ├── parameter # 声明参数对应的Pydantic模型 │ │ └── __init__.py │ ├── service # 就具体业务实现逻辑 │ │ └── __init__.py │ └── utils # 工具类 │ ├── __init__.py │ └── str_util.py ├── main.py # 主文件 ├── requirements.txt #依赖文件 ├── tests # 单元测试目录 ├── __init__.py └── local_test.py ``` __init__.py文件的作用: 标识包目录: 当Python解释器遇到一个目录中包含 __init__.py 文件时,它会将该目录识别为一个包。这样可以通过导入包的方式来组织和访问模块。 在Python3中,__init__.py 不再是创建包的唯一方式 初始化包:__init__.py 文件在包被导入时会被执行,可以用于初始化包级别的变量、设置环境或执行其他必要的初始化操作。 命名空间包含: 通过在 __init__.py 中定义变量、函数或类,可以将它们添加到包的命名空间中,使得在导入包时可以直接访问这些元素。 避免名称冲突: 如果包目录中有与包同名的模块,导入包时可能会出现冲突。__init__.py 可以通过定义__all__变量来控制导入时的名称空间。 python # __init__.py __all__ = ['module1', 'module2'] 这样导入包时,只有在 __all__ 中列出的模块会被导入,避免了潜在的名称冲突 #### 启动命令 ```sh # 项目目录下,使用uvicorn启动 ➜ uvicorn main:server INFO: Started server process [36375] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) # 使用python ➜ python main.py --env prod INFO: Started server process [36468] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) ```