项目简介
本项目是面向MAG实验室物联网设备的IoT单板计算机(SBC)监督器。结合电压监测与看门狗功能,解决SBC设备常出现的挂起问题,实现设备自动复位,保障物联网设备稳定运行。
项目的主要特性和功能
- 多接口监督:具备复位、电压比较器、Modbus看门狗、心跳LED等接口,全面监督设备状态。
- 硬件适配:基于EFM8BB1微控制器,搭配定制的SP485适配器,利用片上外设实现电压监测、定时器控制、UART通信等功能。
- Modbus通信:支持Modbus协议,通过特定寄存器实现设备配置、状态查询及看门狗控制等功能。
- 状态机管理:包含电压状态机、Modbus看门狗状态机和配置状态机,有效管理监督器不同行为。
安装使用步骤
开发环境准备
确保安装Keil C51工具链和Silicon Labs Simplicity Studio v5用于开发与构建,暂不支持SDCC等其他可能支持8051指令集的编译器。
硬件连接与配置
- 根据公式选择合适的电阻分压器值,默认设置为3.6V。
- 连接硬件与开发板,确保连接正确。
固件编程
- 下载项目源代码。
- 使用Keil C51工具链打开项目并编译。若使用内置程序内存CRC功能,需手动干预并两次点击“构建”按钮。具体为查看
.m51
文件中“C O D E M E M O R Y”部分,找到?CO?KIRISAKI_CRC
前的**GAP**
,将其START
地址复制到IoT Supervisor.c
文件中的C_FOUND_PROG_END
常量。 - 将编译后的固件程序烧录到开发板。
设备配置与运行
- 运行以下Python示例代码进行设备配置: ```python import minimalmodbus
instr = minimalmodbus.Instrument("/dev/ttyUSB0", 255) instr.address = 255 instr.serial.baudrate = 38400 instr.serial.timeout = 0.5
instr.read_registers(0x00, 2)
instr.write_register(0x01, 0xDEFA)
instr.write_register(0x02, 257)
instr.write_register(0x01, 0x5FAF)
instr.address = 1
instr.read_registers(0x00, 2)
instr.write_register(0x01, 0xDEFA)
instr.read_registers(0x00, 2) ``` 2. 编写守护程序,启用看门狗并持续喂狗。 3. 完成上述步骤后,即可使用监督系统对物联网设备进行监督。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】