一、测试框架所使用的示例命令定义
本框架的示例代码所使用的命令协议规定如下: CRC校验码 = [命令类型码 + 命令码 + 命令参数]一个完整封包 = [包头 + 包长 + 命令类型码 + 命令码 + 命令参数 + CRC校验码 + 包尾]包头:FF包尾:EE FC FF EA包长:0A (除去包头和包尾的长度, 包长包括自己的长度)命令类型码:0x01:上位机给下位机设置的命令类型
0x02:上位机从下位机获取数据的命令类型
0x03:下位机主动给上位机发送数据的命令类型命令码:08 //根据不同命令,定义不同的命令码命令参数:31 32 33 //根据不同的命令需求,添加不同的参数,参数可以为空CRC校验码:E32F (使用CRC算法动态计算) 设置命令举例数据获取命令举例下位主动上报命令举例
二、使用软件模拟下位机对框架进行测试
本框架在实际项目中使用非常稳定。现在为了使用者方面学习并使用本框架以及更好的展示使用效果,这里编写一个“下位机硬件模拟小软件”。
下位机模拟软件截图 MacOS
Windows
下位机模拟软件源码获取地址(使用Qt开发,可以在MacOS平台和Windows平台分别编译)
点击此链接获取源代码
三、示例源代码获取
关于通信框架的的具体实现方法,还是阅读源代码比较“靠谱”,边看代码,边测试。
使用Qt开发的本框架源码获取地址
点击此链接获取源代码使用C#Winform开发的本框架源码获取地址
点击此链接获取源代码
四、本框架Qt版本使用方法
使用QtCreater编译并运行“下位机模拟器软件”,并点击“启动服务”。注意要保证电脑连接到一个局域网中(连接一个路由器)。因为本框架示例程序中有“局域网发送广播查找设备的功能”。使用QtCreater编译并运行“上位通信构架示例软件”,点击对话框最上面的“Connect按钮”,会弹出“查找设备对话框”,如下图所示。点击“查找按钮”开始查找,找到的设备会显示在列表中,选中设备点击“连接”按钮即可完成设备连接,然后关闭“查找设备对话框”即可。
“上位通信构架示例软件”中的命令测试方法: 点击“上位通信构架示例软件”中的“Set按钮”即可发送一个设置命令到下位中,从“下位机模拟器软件”的界面上可以看到,设置值。点击“上位通信构架示例软件”中的“GetTemperature按钮”,即可从“下位机模拟器软件”中获取一个温度值。此温度值可以在“下位机模拟器软件”中修改。点击“下位机模拟器软件”中的“上报”按钮,会主动发送一个自加数字到“上位通信构架示例软件”,“上位通信构架示例软件”的第三个groupBox中会显示下位机上报的数值。
五、本框架C#Winform版本使用方法
使用QtCreater编译并运行“下位机模拟器软件”,并点击“启动服务”。注意要保证电脑连接到一个局域网中(连接一个路由器)。因为本框架示例程序中有“局域网发送广播查找设备的功能”。使用QtCreater编译并运行“上位通信构架示例软件”,点击对话框最上面的“Connect按钮”,会弹出“查找设备对话框”,如下图所示。点击“查找按钮”开始查找,找到的设备会显示在列表中,选中设备点击“连接”按钮即可完成设备连接,然后关闭“查找设备对话框”即可。
“上位通信构架示例软件”中的命令测试方法: 点击“上位通信构架示例软件”中的“Set按钮”即可发送一个设置命令到下位中,从“下位机模拟器软件”的界面上可以看到,设置值。点击“上位通信构架示例软件”中的“GetTemperature按钮”,即可从“下位机模拟器软件”中获取一个温度值。此温度值可以在“下位机模拟器软件”中修改。点击“下位机模拟器软件”中的“上报”按钮,会主动发送一个自加数字到“上位通信构架示例软件”,“上位通信构架示例软件”的第三个groupBox中会显示下位机上报的数值。