== 软件项目 == 

潓美平板新版软件git仓库主页: https://git.g77k.com/meng.belive2/asclepius-bipap

网页显示串口数据状态服务器git仓库主页：https://git.g77k.com/meng.belive2/asclepius-web-server

目前该项目包含两个进程：平板操作显示进程和网页显示串口状态数据服务器进程

== 软件运行环境 ==

=== 开发环境 ===

平台：AM335x

环境：python3.8.5、pyqt5、serial、netifaces、qt5

IDE：PyCharm

=== 编译生成img链接 ===

Jenkins执行链接：http://192.168.8.28/job/asclepius1-mk4-buildroot/

生成的新的img以及更新包的链接：http://192.168.8.28:81/asclepius1-mk4-rootfs/

=== 内核版本 ===

Linux asclepius 4.19.59-asclepius1-mk3 #1 SMP Fri Nov 20 14:03:59 CST 2020 armv7l GNU/Linux

== 具体代码说明 ==

=== asclepius-bipap ===

git仓库主页: https://git.g77k.com/meng.belive2/asclepius-bipap

==== 项目主要组成 ====

* 资源文件夹appdata(其中包括不同语言输入字库配置文件、病例配置文件以及报警语音文件)

* 图片资源文件夹res(其中包括软件界面中用到的各种控件风格图片)

* 脚本文件夹scripts(其中包括项目运行时的起调脚本)

* 源码src(其中包括此项目的运行源码)

* .ui文件：通过qtDesigner设计的ui文件，可通过pyuic转换生成.py文件

* .qrc文件：通过qtDesigner设计界面时创建的资源文件，可通过pyrcc转换生成.py文件

* 其它文件说明：https://git.g77k.com/meng.belive2/asclepius-bipap/blob/master/README.md

==== 源码解析 ====

软件主要分为8个部分：UI部分、数据库管理部分、网络管理部分、蓝牙管理部分、报警语音播放部分、串口通讯管理部分、在线升级部分、操作日志记录部分；具体软件框图如下：

[[File:software_block_diagram_b1.png]]

===== UI部分 =====

通过qtDesigner设计的ui文件，可通过pyuic转换生成.py文件

===== 数据库管理部分 ======

主要通过数据库sqlite3，通过增、删、查、改 记录和获取用户使用以及注册信息

===== 网络管理部分 =====

主要包括两个部分:
 
* 网络信息获取(network_manage.py):该部分主要通过netifaces模块获取当前网络信息

* 无线网管理模块(wifi_manage_thread.py)：该部分主要通过NetworkManager模块管理WiFi的搜索连接等问题

===== 报警语音播放部分 =====

该部分主要通过Gstreamer模块对音频文件进行播放

===== 串口通讯管理部分 =====

该部分主要是通过serial模块实现AM335x与stm32之间串口数据的发送与接收

串口序号：/dev/ttyO4 

波特率：115200

具体协议：https://w.g77k.com/%E6%BD%93%E7%BE%8E7%E5%AF%B8B1

===== 在线升级部分 =====

该部分通过urllib模块在线获取最新软件包下载到本地，既而进行本地升级

===== 操作日志记录部分 =====

该部分通过logging模块记录程序运行中的各种执行、错误、警告信息等

=== asclepius-web-server ===

git仓库主页：https://git.g77k.com/meng.belive2/asclepius-web-server

==== 项目主要组成 ====

* css和js文件夹里面主要包括了字体与图表的渲染

* index.html主要包含了水位状态信息的实时显示

* device_status.html主要包含了设备状态信息的实时显示

* web_sever.py搭建了一个简单的http服务器将本地记录的数据发送到网页

== 程序运行调试 ==

=== 调试程序 ===

主要通过串口调试工具进入系统查看程序运行情况

* 串口波特率：115200

* 登录名：root

* 密码：novote.ch

=== 主要目录环境 ===

运行目录在/var/lib/asclepius/下：

* appdata文件夹下主要包括各种语言的输入字库配置以及报警语音音频文件夹

* data文件夹下主要存储用户注册信息以及操作记录的数据库

* log文件夹主要包括操作日志(operation.log)和串口日志(serial_info.log)

* conf文件夹主要包括当前运行平台(machine_platform)以及当前机器运行配置项(current_config.ini)

* update文件夹主要存储更新包文件

* bin文件夹主要包括主程序的运行文件(*.pyc)以及运行脚本(*.py)

开机启动脚本在/etc/init.d/下：

* S00Poweroff主要用于区分设备关机与重启事件

* S46asclepius-client主程序的启动脚本

* S96asclepius-watchdog属于主程序的守护程序

== 软件相关文档 ==

在共享文件夹share下面huimei文件夹中，里面包含相关文档以及说明