STM32项目(四)——暗室网关
扫描二维码
随时随地手机看文章
需求:
采集环境箱温度,采集20个通道的电流值,点灯节拍控制;(上位机服务器端复杂)
温度采集模块:(STM32 + RS485 + W5500)
模块通过RS485与环境箱通信,发指令给环境箱,环境箱反馈数据,解析出所需温度,通过网络按照指定格式发到服务器,服务器软件会显示温度曲线。
系统设计:RTX多任务设计,RS485解析任务,网络处理任务;
(1)、RS485:串口发送指定字符串给环境箱,中断接收到环境箱反馈数据加入队列中,解析出温度值;
(2)、网络:连接服务器,发送固定字符串,服务器下发温度采集指令,网络以设置的频率周期上传温度数据,支持超时重发,断线重连等功能。也有发送和接受队列,提高效率。
电流采集模块:(STM32+双网口)
网口1与电流测试仪通信,发指令给电流测试仪,设备反馈数据,解析20通道的电流值,通过网口2按照指定格式发到服务器,服务器软件会显示温度曲线。
系统设计:RTX多任务设计,网口1任务,网口2任务;
(1)任务1:两个事件,定时时间到的事件1,接受到任务的事件2;事件1被置位,向电流测试仪发送获取通道电流指令,电流测试仪会反馈数据,加入到接受队列,设置事件2;事件2被置位,读取接受队列,解析数据,获取数据;
(2)任务2:连接服务器,发送固定字符串,服务器下发电流采集指令,网口2以设置的频率周期上传电流数据,支持超时重发,断线重连等功能。事件触发方式(定时器中设置事件,任务中等待事件)。
点灯节拍模块:(STM32+网口+5160)
服务器实时下发点灯节拍,模块切继电器控制车灯亮灭。
系统设计:RTX多任务设计,网络处理任务,车灯控制任务;