tag 标签: STM32MP1

相关博文
  • 热度 9
    2023-2-9 17:42
    4114 次阅读|
    0 个评论
    BMS全称是Battery Management System,电池管理系统。它是配合监控储能电池状态的设备,主要就是为了智能化管理及维护各个电池单元,防止电池出现过充电和过放电,延长电池的使用寿命,监控电池的状态。 图片 摘自网络 电池储能系统由电池组、储能变流器( PCS)、能源管理系统(EMS)、电池管理系统(BMS)以及其他电气设备共同组成。电池组负责储电;储能变流器(PCS)控制电池组充放电过程,进行交直流的变换;能源管理系统(EMS)进行数据采集、网络监控和能量调度;电池管理系统(BMS)负责监控电池储能单元内各电池运行状态,保障储能单元安全运行。 BMS是电池储能系统的核心子系统之一,负责监控电池储能单元内各电池运行状态,保障储能单元安全可靠运行。BMS能够实时监控、采集储能电池的状态参数(包括但不限于单体电池电压、电池极柱温度、电池回路电流、电池组端电压、电池系统绝缘电阻等),并对相关状态参数进行必要的分析计算,得到更多的系统状态评估参数,并根据特定保护控制策略实现对储能电池本体的有效管控,保证整个电池储能单元的安全可靠运行。同时BMS可以通过自身的通信接口、模拟/数字输入输入接口与外部其他设备(PCS、EMS、消防系统等)进行信息交互,形成整个储 能电站内各子系统的联动控制,确保电站安全、可靠、高效运行。 图:米尔STM32MP157核心板的电池储能系统 储能 BMS因为电池组规模庞大,大多都是三层架构,在从控、主控之上,还有一层总控。 从控 : 电池单体管理单元 BMU ( battery module unit,也有的叫CSC/CSU 等),负责采集单体电池信息如电压、温度,计算分析电池的 SOC和SOH,实现对单体电池的主动均衡, 并将单体异常信息通过 CAN 通信上传给电池簇管理单元 BCU ; 主控 : 电池簇管理单元 BCU ( battery cluster unit,也有高压管理单元HVU、BCMU 等),负责收集 BMU上传的各种电池信息,采集电池组的组电压、 组温度、电池组充电放电电流、总电压信息,漏电检测,状态异常时断电保护;计算分析电池组的 SOC和SOH, 并将所有信息通过C AN 通信上传给电池阵列管理单元 BAU; 总控 : 电池阵列管理单元B AU ( battery array unit,也有叫BAMS、MBMS等 ),对整个储能电站的电池进行集中管理。向下连接各个电池簇管理单元,采集电池簇管理单元上传的各种信息;向上与能源管理系统进行信息交互,通过以太网上传采集的电池信息,接收 EMS系统下达的电池运行参数;通过CAN或RS485与变流器 P CS通信,BMS将电池状态量及异常信息发送给变流器,储能变流器PCS接到BMS告警信息后应进行相应的保护动作。 图:米尔MYD-YA157C-V3核心板及开发板 电池阵列管理单元 BAU采用米尔 A RM架构的MYC-YA157C-V3核心板,核心板基于STM32MP157处理器,Cortex-A7架构 ,支持 1路 千兆以太网, 2路CAN接口和8路UART 接口,满足设备与电池簇管理单元( BCU )、储能变流器( PCS) 和能源管理系统 (EMS) 数据通信功能。大容量存储设计,支持系统长期数据存储;拥有丰富的接口,可连接高清触摸屏幕,显示各类数据信息,实现就地监控和能量管理;拥有千兆网口和RS232、RS485等数据通讯接口,可轻松应对各类场景下的多种功能需求;支持wifi模块数据通讯,带来更快地响应速度和物联网化构建需求。 核心板资源参数: 项目 参数 CPU STM32MP157AAC3,TFBGA361,12×12mm 可选 电源管理芯片 STPMIC1APQR 标配 DDR3 256MB/512MB/1GB容量可选 可选 NandFlash 256MB/512MB/1GB容量可选 可选 eMMC 标配4GB,容量可选(4GB,8GB,16GB等等) 可选 Ethernet 10M/100M/1000MPHY 标配 ExpandIOConnector 邮票孔连接 核心板工作温度 商业级:0℃~+70℃,工业级:-40℃~+85℃ 可选 核心板尺寸 43mm×45mm×1.2mm 核心板PCB工艺 8层板设计,沉金,独立的完整接地层,无铅工艺 米尔MYC-YA157C-V3核心板标注图 米尔MYD-YA157C-V3开发板标注图
  • 热度 8
    2022-8-31 15:04
    1629 次阅读|
    0 个评论
    大家好,我是米尔的工程师,今天给大家带来一款全新的米尔板卡标杆产品:MYD-YA15XC-T。今天的文章将分成两部分来介绍这块基于STM32MP1处理器 开发的板卡。 一、百变开发板 MYD-YA15XC-T开发板是米尔基于STM32MP1处理器的第二款设计,相比于哥哥级产品MYD-YA157C,MYD-YA15XC-T开发板进行了全新的定义,引入了更多开放的设计理念, 可以灵活多变地适配各种模块,并注重了快速验证接口功能,提高前期选型验证的效率。 MYD-YA15XC-T开发板是由中间的核心板加外部的底板组成,设计简洁。底板四周外围将核心板的功能全部引出,包括以太网,USB host,USB-otg,SD卡,LCD电容/电阻屏的显示,DVP 摄像头,WIFI蓝牙等基本的工业开发板的功能接口,同时也引入了全新的排针设计,例如树莓派2*20接口设计等5种不同的排针设置,可以实现多工业应用的无限扩展。目前米尔推出的多种模块均可以在这个开发板上实现快速集成。 MYD-YA15XC-T开发板可同时连接RGB转HDMI模块、DVP摄像头模块、WIFI/BT模块、MY-WIREDCOM模块‍;7寸电容/电阻屏的显示屏可通过RGB接口与MYD-YA15XC-T开发板相连接。同时,MY-WIREDCOM模块的树莓派接口的连接,可实现多种工业传输协议功能。 此外,米尔还适配了多种第三方的树莓派接口的模块:例如九轴运动传感器 ICM-20948模块,实现了3 轴陀螺仪、3 轴加速度计、3 轴磁力计和数字运动处理器的功能;又如电子墨水屏e_paper模块,功耗低、视角宽、断电仍可清晰显示;以及LoRa调制功能无线模块SX1262,实现了多级中继超远距离通信,低功耗唤醒通信、加密传输的功能。 更多第三方模块米尔也在持续适配中,如果想获得模块的开发资料,可以到米尔官网上查看。 二、米尔通讯模块应用测试 接下来给大家演示的是基于米尔MYiR的通讯模块如何在MYD-YA15XC-T开发板上使用。测试演示的MY-MIREDCOM通讯模块有I2C、SPI、RS232、RS485以及CAN等外设资源,模块的具体参数可以到米尔官网上查看。 由于MYD-YA15XC-T开发板没有CAN接口,接下来将会分别对该模块的RS232、RS485和SPI进行通讯演示。演示之前,我们还需要准备:一个5V电源适配器,一个USB转RS232、RS485的模块和一根Type-C数据线。 接线 : 1、将MY-MIREDCOM通讯模块背面的1脚和2脚连接到MYD-YA15XC-T开发板J15接口的1脚和2脚,其余管脚对号入座即可; 2、USB端拨到RS232,将232的TX端连接到MY-MIREDCOM模块的RX端,USB的RX端连接到MY-MIREDCOM模块的TX端,然后共地连接,再与电脑的USB口连接; 3、Type-C数据线连接电脑和开发板Debug接口,接上5V电源通电后进入系统。 RS232数据收发演示 : 在系统的根目录下,我们已经提前准备好了接口的测试程序,这些测试程序都可以在米尔官网的资料包中找到。 1、在电脑上打开一个串口工具,选择波特率115200,连接串口; 2、接收数据:从开发板端输入RS232的一个接收指令,再从电脑端发送数据,可以从视频中看到开发板端是可以正常接收数据的; 3、发送数据:接下来从开发板通过RS232端口发送数据,电脑端也是可以正常收到数据的; RS485数据收发演示 : 接线: USB模块拨到RS485,将它的AB端连接MY-MIREDCOM通讯模块的AB端,然后与电脑端相连接;电脑端同样选择波特率115200,连接串口; 1、接收数据:开发板端通过准备好的测试程序输入一个接收指令,从电脑端发送数据,可以看到开发板端是可以正常接收数据的; 2、发送数据:从开发板端发送数据,电脑端也是可以正常收到数据的; SPI数据自发自收演示 : 1、我们先在电脑上运行准备好的测试程序,可以看到没有接线的情况下,接收的数据为0 接线: MY-MIREDCOM通讯模块的H7和F11是可以自发自收的,用连接线连接H7和F11,把它的mosi和miso两端连接在一起; 2、运行电脑上的测试程序,可以看到数据可以被接收到了。 以上测试方法在米尔官网的配套资料中都有详细的介绍。如果本文对您有帮助,别忘记了点赞转发哦~
  • 2022-7-15 15:17
    0 个评论
    往年的STM32技术研讨会都在全国范围内巡展,米尔作为ST官方合作伙伴全程参与会议,并展出了STM32MP1系列CPU模组产品。2022年7月18日-22日,STM32中国技术分享会采用创新的形式在线上跟粉丝们见面。届时,米尔也将亮相技术狂欢周,展示STM32MP1系列的CPU模组和demo,并有米尔嵌入式工程师与粉丝们进行实时答疑,与您共赴这场夏日狂欢的嵌入式盛会。
  • 热度 25
    2020-4-9 16:46
    2635 次阅读|
    0 个评论
    基于STM32MP1和QT的新冠病毒疫情看板
    本文作者:王超 开发平台:米尔MYD-YA157C 0.系列教程 我用STM32MP1做了个疫情监控平台1—交叉编译环境搭建 我用STM32MP1做了个疫情监控平台2—Qt环境搭建 我用STM32MP1做了个疫情监控平台3—疫情监控平台实现 我用STM32MP1做了个疫情监控平台4—功能完善界面重新设计  1.前言 之前我使用桌面版本Qt实现了肺炎疫情监控平台: 基于Qt的新冠肺炎疫情数据实时监控平台(开源小项目) 。既然Qt是跨平台的,看到st在举办创客秀比赛,于是去购买了米尔科技的YA157C开发板,看看能不能在嵌入式平台实现一下。 试用地址: http://bbs.elecfans.com/try_mydya157c.html 桌面Linux版本的运行效果: YA157C开发板实现效果: 2.数据接口的获取 疫情监控平台的实现,简单的说,就是数据的展示,而数据从哪里来呢? 现在很多互联网公司都做了自己的疫情监控平台,我这里采用的是腾讯新闻的数据源,数据内容很丰富,也比较稳定。 数据来源: 实时更新:新冠肺炎疫情最新动态 接口地址的获取方法可以参考: 基于Qt的新冠肺炎疫情数据实时监控平台(开源小项目) 如果把所有的数据放在一个接口里,数据量会很大,所以腾讯把数据分成了几个接口 #包含最新疫情数据、各省市最新数据、其他国家最新数据 https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5 #包含历史数据 https://view.inews.qq.com/g2/getOnsInfo?name=disease_other #最新的辟谣信息 https://vp.fact.qq.com/loadmore?page=0 #辟谣信息详情 https://vp.fact.qq.com/miniArtData?id=a2141851348ee5f3772c761e25bb57d7 目前只显示了一些基本的数据,所以我们只使用到了https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5这个接口中的chinaTotal和chinaAdd这两组数据。 这个接口包括很多数据,全国累计和新增的最新数据,各省市其他国家的最新数据等等。文件大小大概在160KB,液晶屏是7寸IPS屏,1024x600分辨率的,还是比较大的,可以显示很多信息,后续版本会添加更多数据显示的。 数据格式: { "ret" : 0 , "data" : { "lastUpdateTime" : "2020-03-04 11:12:04" , "chinaTotal" : { "confirm" : 80422 , "heal" : 49914 , "dead" : 2984 , "nowConfirm" : 27524 , "suspect" : 520 , "nowSevere" : 6416 }, "chinaAdd" : { "confirm" : 120 , "heal" : 2654 , "dead" : 38 , "nowConfirm" : -2572 , "suspect" : -67 , "nowSevere" : -390 }, ...........其他数据............. "isShowAdd" : true } } 3.Qt界面的实现 之前的桌面应用程序中,是使用的是Qt5版本开发的,Qt5自带QJson解析类,而Qt 4没有带QJson。为了适配带有Qt 4库的板子,我使用了第三方JSON解析库。这里选择的是小巧的cJSON解析库: cJSON download | SourceForge.net 如果你的板子是Qt 4的库,那么程序不用修改,直接交叉编译运行即可使用。 只包含两个文件:cJSON.c和cJSON.h,把这两个文件添加到工程里就行了。 整个工程代码也很简单:GET接口地址,把接收到的数据保存到本地,调用cJSON解析数据文件,把解析出的数据显示,数据文件删除。代码可以到文章末尾开源地址获取。下面介绍几个关键部分代码的实现: 3.1 JSON数据的解析 //打开保存的JSON数据文件,并调用解析函数 void Dialog :: parseData ( QString filename ) { QFile file ( filename ); if ( ! file . open ( QIODevice :: ReadOnly )) { qDebug () << "file open failed" ; return ; } QByteArray allData = file . readAll (); file . close (); // qDebug() << allData; getData ( allData ); file . remove (); //删除文件 return ; } //把数据解析出来并显示在标签上 void Dialog :: getData ( QByteArray str ) { cJSON * ret_obj ; cJSON * root_obj ; root_obj = cJSON_Parse ( str ); //创建JSON解析对象,返回JSON格式是否正确 if ( ! root_obj ) { disInfo ( "JSON format error" ); qDebug () << "json format error" ; } else { disInfo ( "json format ok" ); qDebug () << "json format ok" ; ret_obj = cJSON_GetObjectItem ( root_obj , "ret" ); if ( cJSON_IsNumber ( ret_obj )) { int ret = 1 ; ret = ret_obj valueint ; // qDebug() < valueint; } char * data_str = cJSON_GetObjectItem ( root_obj , "data" ) valuestring ; cJSON * data_obj = cJSON_Parse ( data_str ); if ( ! data_obj ) { qDebug () << "data json err" ; cnt_error ++ ; QString error = "err:" + QString :: number ( cnt_error ); ui lbe_error setText ( error ); } else { qDebug () << "data json ok" ; char * lastUpdateTime = cJSON_GetObjectItem ( data_obj , "lastUpdateTime" ) valuestring ; qDebug () << lastUpdateTime ; ui lbe_update_time setText ( lastUpdateTime ); cJSON * chinaTotal_obj = cJSON_GetObjectItem ( data_obj , "chinaTotal" ); int chinaTotal_confirm = cJSON_GetObjectItem ( chinaTotal_obj , "confirm" ) valueint ; int chinaTotal_heal = cJSON_GetObjectItem ( chinaTotal_obj , "heal" ) valueint ; int chinaTotal_dead = cJSON_GetObjectItem ( chinaTotal_obj , "dead" ) valueint ; int chinaTotal_nowConfirm = cJSON_GetObjectItem ( chinaTotal_obj , "nowConfirm" ) valueint ; int chinaTotal_suspect = cJSON_GetObjectItem ( chinaTotal_obj , "suspect" ) valueint ; int chinaTotal_nowSevere = cJSON_GetObjectItem ( chinaTotal_obj , "nowSevere" ) valueint ; ui lbe_total_confirm setNum ( chinaTotal_confirm ); ui lbe_total_heal setNum ( chinaTotal_heal ); ui lbe_total_dead setNum ( chinaTotal_dead ); ui lbe_total_nowConfirm setNum ( chinaTotal_nowConfirm ); ui lbe_total_suspect setNum ( chinaTotal_suspect ); ui lbe_total_nowSevere setNum ( chinaTotal_nowSevere ); cJSON * chinaAdd_obj = cJSON_GetObjectItem ( data_obj , "chinaAdd" ); int chinaAdd_confirm = cJSON_GetObjectItem ( chinaAdd_obj , "confirm" ) valueint ; int chinaAdd_heal = cJSON_GetObjectItem ( chinaAdd_obj , "heal" ) valueint ; int chinaAdd_dead = cJSON_GetObjectItem ( chinaAdd_obj , "dead" ) valueint ; int chinaAdd_nowConfirm = cJSON_GetObjectItem ( chinaAdd_obj , "nowConfirm" ) valueint ; int chinaAdd_suspect = cJSON_GetObjectItem ( chinaAdd_obj , "suspect" ) valueint ; int chinaAdd_nowSevere = cJSON_GetObjectItem ( chinaAdd_obj , "nowSevere" ) valueint ; lbeDisplay ( ui lbe_add_confirm , chinaAdd_confirm ); lbeDisplay ( ui lbe_add_heal , chinaAdd_heal ); lbeDisplay ( ui lbe_add_dead , chinaAdd_dead ); lbeDisplay ( ui lbe_add_nowConfirm , chinaAdd_nowConfirm ); lbeDisplay ( ui lbe_add_suspect , chinaAdd_suspect ); lbeDisplay ( ui lbe_add_nowSevere , chinaAdd_nowSevere ); } // cJSON_Delete(ret_obj); // cJSON_Delete(data_obj); cJSON_Delete ( root_obj ); //释放内存 disInfo ( "更新完成" ); cnt_success ++ ; QString success = "ok:" + QString :: number ( cnt_success ); ui lbe_success setText ( success ); } } //数据的显示 void Dialog :: lbeDisplay ( QLabel * lbe , int num ) { if ( num 0 ) lbe setText ( "+" + QString :: number ( num )); else lbe setText ( QString :: number ( num )); } 3.2 获取本地IP地址 //forexample:192.168.1.111 QString Dialog :: GetLocalmachineIP () { QString ipAddress ; QList < QHostAddress ipAddressesList = QNetworkInterface :: allAddresses (); for ( QHostAddress & addr : ipAddressesList ) { // 找到不是本地ip,并且是ipv4协议,并且不是169开头的第一个地址 if ( addr != QHostAddress :: LocalHost && addr . protocol () == QAbstractSocket :: IPv4Protocol && ! addr . toString (). startsWith ( "169" )) { ipAddress = addr . toString (); break ; } } // if we did not find one, use IPv4 localhost if ( ipAddress . isEmpty ()) ipAddress = QHostAddress ( QHostAddress :: LocalHost ). toString (); return ipAddress ; } 桌面Linux版本的运行效果: 4.在开发板上运行Qt程序 如果在桌面运行正常,就可以使用ya157c构建套件来编译工程,生成可以在开发板上运行的程序,然后使用scp命令传输到开发板上。 #使用网线把开发板连接上路由器 #使用udhcpc自动获取IP地址 udhcpc #查看获取到的ip地址 ifconfig #确认连接到互联网 ping www.baidu.com #如果有回复数据,说明已经成功连接上互联网 #使用scp命令或共享目录的方式把可执行文件传输到开发板上 scp qte_2019_ncov root@192.168.1.109:/home/root #执行程序 ./qte_2019_ncov 最终效果 这个版本是上一个版本的,右上角没有显示开发板的IP地址和成功失败次数统计,最新版本的程序中已经添加了这个功能。 桌面Linux版效果: 5.使用无线模块联网 YA157C开发板已经板载了一个WiFi & 蓝牙模组——AP6212,可以直接连接无线网,这样就不需要使用网线的方式联网了。 /etc/resolv.conf #连接互联网 iw wlan0 link #测试网络连接 ping www.wangchaochao.top 为了方便快捷的连接WiFi,可以把以上命令写成一个shell脚本,需要连接WiFi时,直接执行这个脚本就可以了。先在本地生成WiFi配置信息: connect_wifi.sh脚本文件内容: /etc/resolv.conf #连接网络 iw wlan0 link echo "WiFi连接成功" WiFi账号和密码修改一下,就可以直接使用了。 6.代码下载 整个Qt工程代码已经开源在Github,Qt4/Qt5兼容。如果下载速度很慢,可以选择国内的Gitee速度会快很多。 #Github https://github.com/whik/qte_2019_ncov #Gitee https://gitee.com/whik/qte_2019_ncov 目前界面还比较简单,7寸的显示屏可以显示很多内容,之后会尽量完善界面信息,欢迎大家关注! 系列教程 我用STM32MP1做了个疫情监控平台1—交叉编译环境搭建 我用STM32MP1做了个疫情监控平台2—Qt环境搭建 我用STM32MP1做了个疫情监控平台3—疫情监控平台实现 我用STM32MP1做了个疫情监控平台4—功能完善界面重新设计
  • 热度 30
    2020-2-25 17:41
    4013 次阅读|
    0 个评论
    走进MEasy的世界:基于STM32MP1的IOT参考设计
    前言:在万物互联快速发展的趋势下,板卡处理器性能、内存大小、接口外设等都是人们非常关心的硬件参数,但是如何让硬件的作用实现它的功能最大化,一套完善的软件支持尤为重要。 背景:随着HTML5技术的发展,Web的功能和性能获得大幅度的提高,Web应用的跨平台特性使得其能够运行在嵌入式平台上成为可能。米尔电子为解决用户的难点以及行业痛点,提供了MEasy IOT参考设计等特色系统应用,这是采用MYD-YA157C开发板作为硬件平台,基于多种语言设计而成的一套由Web Demo组成的人机交互系统。 下面我们继续了解关于基于STM32MP1的IOT参考设计: 一、什么是MEasy IOT? MEasy IOT是深圳市米尔电子有限公司开发的一套由WEB Demo组成的人机交互系统。硬件平台基于MYD-YA157C;软件基于YOCTO制作生成的linux文件系统,包含Python WEB运行环境和WEB应用程序。Web Demo是基于Python2.7编写的B/S架构的应用,包含Flask, Javascript,css, HTML等多种组件。MEasy IOT的结构框图如下所示: 该系统分为应用层、驱动层以及硬件层,目前推出了Web Demo应用提供给用户参考,有下面几个特点: 1、 轻量化连接 :MEasy IOT使用D-Bus作为应用程序和底层硬件的访问接口,高效低延迟。例如ADC,LED的控制都是通过D-BUS的实现的Method和Signal来进行访问和控制的。 2、 模块化拓展 :MEasy IOT中的网络管理应用则使用开源Connman作为中间层来实现对网络设备的控制, Connman也是一个基于D-Bus的完全模块化的系统,可以通过插件化进行扩展,以支持EtherNet、WIFI、3G/4G、Bluetooth等网络设备的管理。 3、 集成化应用 :MEasy IOT软件在目标板上目录结构包含由YOCTO配方直接生成的应用程序和库。 二、使用简介 1.登录 使用前准备开发板上电前请网线插到对应的接口。开发板网口1设置的静态IP为192.168.1.100,需要在PC添加192.168.1网段的IP,然后将开发板和PC机接入交换机中或者直连,WEB默认的url为http://192.168.1.100:8080,进入后的欢迎页面如下图所示: 进入欢迎页面后需要登录才能进行操作,点击右上角的Login按钮进行登录,默认帐号为admin,密码为admin. 2.系统信息 本页面展示了MYD-YA157开发板的软硬件信息: 3.设置 可以根据使用需要进行以太网、WiFi、蓝牙的开关以及地址设置: 三、 应用 展示 在当今火热的IOT领域,一个符合物联网MQTT通信协议以及电力IEC61850标准的设备能够让您的设计轻松融入云的世界。 基于这两个物联网协议标准,米尔电子推出了一套完整的物联网框架参考设计,下面为Web的Demo的演示界面,提供基于网页的远程配置和通信协议演示,支持RS232、RS485、WiFi/BT、4G/GPS、以太网等丰富的通信和无线接口。 1.MQTT协议: MQTT(消息队列遥测传输)是ISO 标准下基于发布/订阅范式的消息协议,工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。 MQTT协议演示界面展示: 远程发布消息,接受消息,并操作本地硬件进行动作响应 测试步骤 1.通过WIFI设置页面进行WIFI连接,等待左侧的导航栏上面WIFI状态徽章变为你所连接的WIFI名称。 2.进入MQTT应用界面,点击 MQTT服务器页面中的连接按钮,来连接MQTT服务器。 3.点击MQTT订阅页面中的订阅按钮,然后再点击MQTT发布页面中的发布按钮,订阅页面中即可收到消息。 IEC61850协议: IEC61850是变电站自动化系统(SAS)中通信系统和分散能源(DER)管理的国际标准。它通过标准的实现,实现了智能变电站的工程运作标准化。使得智能变电站的工程实施变得规范、统一和透明。 IEC61850协议演示界面展示: 基于板卡和PC的通信演示,实现AD采样的实时上报 测试步骤 测试LED: 1. 点击IECScout(需用户自行下载)主界面下面的 Discover IED 按钮,然后输入输入服务端的IP地址 192.168.1.100 ,输入完成后点击 Discover 按钮。 GGIO1进入通用I/O控制界面。双击GGIO1下面的LED1数据对象,可以看到Switch这个数据属性,然后点击上方菜单栏的Write按钮即可对LED1进行控制. 3.在Value栏选择true,然后点击Write按键,此时开发板上的LED D2就被点亮了,同时WEB页面IEC61850应用中LED的状态也被打开了。 测试ADC: adcMag即可看到ADC的值,这个值和当前WEB页面IEC61850应用中的ADC的值是一样的。 2.在WEB页面IEC61850应用中点击ADC下面的更新按键,此时WEB页面中ADC的值更新到了最新值,同时ADC的值也写入到了IEC Server中,此时需 要在IECScout软件中点击菜单栏的Read all按钮来更新通用I/O控制界面中ADC的值。 四、硬件平台介绍 米尔MYD-YA157C开发平台由核心板MYC-YA157C和底板MYB-YA157C组成,邮票孔方式连接。该平台采用STM32MP157系列高性能处理器,提供了HDMI+RGB+MIPI高性能显示,千兆以太网,WIFI/蓝牙,RS232/RS485/CAN等丰富接口,贴合应用场景的产品定义,稳定可靠的硬件设计,有助于简化工业制造、消费电子、智能家居、医疗等行业应用高性能解决方案的开发。 小结:米尔精心打造的基于STM32MP1的IOT参考设计,采用硬件+MEasy IOT系统的方式,能够帮助用户轻松解决上层应用以及底层驱动之间的大部分开发难题,同时提供丰富的硬件接口资源,以及出色的成本优势,满足您物联网产品开发的80%基础需要。 目前该产品已经上市热售,可以前往米尔官方淘宝店铺进行购买。更多产品详情点击 如下链接 了解 : http://www.myir-tech.com/product/myd-ya157c.htm
相关资源