littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于EFM8BB1微控制器的物联网设备监督系统

项目简介

本项目是面向MAG实验室物联网设备的IoT单板计算机(SBC)监督器。结合电压监测与看门狗功能,解决SBC设备常出现的挂起问题,实现设备自动复位,保障物联网设备稳定运行。

项目的主要特性和功能

  1. 多接口监督:具备复位、电压比较器、Modbus看门狗、心跳LED等接口,全面监督设备状态。
  2. 硬件适配:基于EFM8BB1微控制器,搭配定制的SP485适配器,利用片上外设实现电压监测、定时器控制、UART通信等功能。
  3. Modbus通信:支持Modbus协议,通过特定寄存器实现设备配置、状态查询及看门狗控制等功能。
  4. 状态机管理:包含电压状态机、Modbus看门狗状态机和配置状态机,有效管理监督器不同行为。

安装使用步骤

开发环境准备

确保安装Keil C51工具链和Silicon Labs Simplicity Studio v5用于开发与构建,暂不支持SDCC等其他可能支持8051指令集的编译器。

硬件连接与配置

  1. 根据公式选择合适的电阻分压器值,默认设置为3.6V。
  2. 连接硬件与开发板,确保连接正确。

固件编程

  1. 下载项目源代码。
  2. 使用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常量。
  3. 将编译后的固件程序烧录到开发板。

设备配置与运行

  1. 运行以下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】