1336|0

12

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【米尔-全志 T527 开发板-试用评测】第四篇 楼控网关展示平台 [复制链接]

本帖最后由 JerryZhen 于 2024-6-5 14:17 编辑

最近一直在忙着设计楼控网关的展示箱,用于展会宣传,现在不同以往,好酒也怕巷子深,卖点宣传很重要。从设计到硬件到软件等一系列工作,其实很繁琐的,经过一个月的奋战,现在已经基本完工,先上张图和视频,展示下效果。

 

 

gateway

 

项目硬件部分设计思路如下,T527作为数据采集网关,显示部分通过HDMI接显示屏,数据采集部分通过bacnet协议读取楼控DDC设备中的逻辑点位信息,进而将网络中的设备状态在屏幕上进行可视化。项目的原理图如下。可以看到,我们是通过DDC控制两个电机,两个led灯,以及两个温湿度传感器。主控T527会每秒去采集一次DDC中的点位信息,然后将采集到的数据可视化到屏幕上。

 

项目的软件部分:软件的核心就是数据采集,具体代码如下:

import BAC0
from app.services.cache import redis_client

points = {
    "led1": {
        "read":'192.168.20.51:47808 binaryOutput 501 presentValue',
        "default":"inactive",
    },
    "led2":{
        "read": '192.168.20.51:47808 binaryOutput 502 presentValue',
        "default":"inactive",
    },
    "motor1": {
        "read": '192.168.20.108:47808 binaryOutput 501 presentValue',
        "default":"inactive",
    },
    "motor2": {
        "read": '192.168.20.108:47808 binaryOutput 502 presentValue',
        "default":"inactive",
    } ,
    "temperature": {
        "read": '192.168.20.108:47808 analogInput 301 presentValue',
        "default": "0.0"
    },
    "humidity": {
        "read": '192.168.20.108:47808 analogInput 302 presentValue',
        "default": "0.0"
    },
    
    # "switch1": '192.168.20.51:47808 binaryInput 201 presentValue',
    # "switch2": '192.168.20.51:47808 binaryInput 202 presentValue',
    # "switch3": '192.168.20.108:47808 binaryInput 201 presentValue',
    # "switch4": '192.168.20.108:47808 binaryInput 202 presentValue',
}

class BacnetClient:
    def __init__(self, host:str):  
        self.conn = BAC0.connect(host) 

    def close(self):
        self.conn.disconnect()

    def read_points(self):
        for point, pointinfo in points.items():
            try:
                point_value = self.conn.read(pointinfo["read"])
                if point in ["temperature", "humidity"]:
                    point_value = '%.1f'%point_value
                redis_client.set(point, point_value)
            except Exception as e:
                print("read error", e)
        

bacnet_client = BacnetClient("192.168.20.65/24")


if __name__ == "__main__":
    ret = bacnet_client.read_points()
    print(ret)
    bacnet_client.close()

 

总结:米尔-全志 T527,配备八核A55高性能处理器,RISC-V协处理器,支持2Tops NPU,拥有丰富的通讯接口,功能强大。非常适合工控行业,本次采用米尔的这款板卡用于原型设计,由于米尔配套的资料齐全,大大缩短了项目周期,为米尔和全志芯点赞。

 

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表