走进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 按钮。
2.进入Browser页面,可以看到以MYIR1命名的IED设备模型。点击IED设备模型下面的Data Models->LD1->GGIO1进入通用I/O控制界面。双击GGIO1下面的LED1数据对象,可以看到Switch这个数据属性,然后点击上方菜单栏的Write按钮即可对LED1进行控制.
3.在Value栏选择true,然后点击Write按键,此时开发板上的LED D2就被点亮了,同时WEB页面IEC61850应用中LED的状态也被打开了。
测试ADC:
1.在IECScout软件通用I/O控制界面,依次点击ADC1->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
走进MEasy的世界:基于STM32MP1的IOT参考设计的更多相关文章
- [C#] 走进 LINQ 的世界
走进 LINQ 的世界 序 在此之前曾发表过三篇关于 LINQ 的随笔: 进阶:<LINQ 标准查询操作概述>(强烈推荐) 技巧:<Linq To Objects - 如何操作字符串 ...
- 走进缓存的世界(三) - Memcache
系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 简介 Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用 ...
- C#7.2——编写安全高效的C#代码 c# 中模拟一个模式匹配及匹配值抽取 走进 LINQ 的世界 移除Excel工作表密码保护小工具含C#源代码 腾讯QQ会员中心g_tk32算法【C#版】
C#7.2——编写安全高效的C#代码 2018-11-07 18:59 by 沉睡的木木夕, 123 阅读, 0 评论, 收藏, 编辑 原文地址:https://docs.microsoft.com/ ...
- 走进JavaWeb技术世界1:JavaWeb的由来和基础知识
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- ESP8266开发之旅 基础篇① 走进ESP8266的世界
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 走进JavaWeb技术世界3:JDBC的进化与连接池技术
走进JavaWeb技术世界3:JDBC的进化与连接池技术 转载公众号[码农翻身] 网络访问 随着 Oracle, Sybase, SQL Server ,DB2, Mysql 等人陆陆续续住进数据库 ...
- 走进JavaWeb技术世界14:Mybatis入门
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- [转]走进 LINQ 的世界
序 在此之前曾发表过三篇关于 LINQ 的随笔: 进阶:<LINQ 标准查询操作概述>(强烈推荐) 技巧:<Linq To Objects - 如何操作字符串> 和 <L ...
- 小丁带你走进git的世界三-撤销修改
一.撤销指令 git checkout还原工作区的功能 git reset 还原暂存区的功能 git clean 还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 g ...
随机推荐
- Linux防火墙之iptables入门
一.防火墙的概念 什么是防火墙?防火墙是一台或一组设备,用以在网络间实施访问控制策略:事实上一个防火墙能够包含OSI模型中的很多层,并且可能会涉及进行数据包过滤的设备,它可以实施数据包检查和过滤,在更 ...
- Promise函数的使用
最近在做批量打印并监控显示打印进度的功能,用到了很多异步函数,很多异步函数嵌套在回调函数里面,层层嵌套,导致代码可阅读性与可维护性变得十分糟糕,而且由于都是异步执行的函数,无法知道什么时候能回调结束, ...
- 有基因ID或者基因名,如何拿到对应的KEGG通路图?
1.https://www.kegg.jp/kegg/tool/map_pathway2.html 2.如下图,筛选出基因所在的通路,并标上不同的颜色. 3.结果页面如下,有些基因会找不到对应的通路, ...
- 【WPF学习】第三十四章 资源基础
WPF允许在代码中以及在标记中的各个位置定义资源(和特定的控件.窗口一起定义,或在整个应用程序中定义). 资源具有许多重要的优点,如下所述: 高效.可以通过资源定义对象,并在标记中的多个地方使用.这会 ...
- 一、Shell概述
什么是Shell 解释Shell脚本名词之前,我们先来说下什么是Shell? Shell是一个命令解释器,它在操作系统的最底层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统 ...
- WTL改变对话框大小
1.让对话框从CdialogResize类继承过来: class CMainDlg : public CDialogImpl<CMainDlg>, public CDoubleBuffer ...
- 位运算在状态压缩DP中的应用
一.判断一个数字X的i位是不是1 方法: << (i-)) & x > ) 原理: 1左移(i-1)位,相当于制造了一个就i位上是1其他位都是0的一个二进制数.将这个数 ...
- python函数中的参数类型
python函数中的参数 动态获取函数的参数 python的函数类型详解
- ASP.NET Core 2.2 WebApi 系列【九】使用SignalR (作者:tenghao510 ) 学习及内容补充
原文地址: ASP.NET Core 2.2 WebApi 系列[九]使用SignalR 今天,看到了大牛的这篇博文, 发了一下评论, 我很惊喜, 没想到他很快就回复了我, 而且通过QQ帮助了S ...
- pytorch --Rnn语言模型(LSTM,BiLSTM) -- 《Recurrent neural network based language model》
论文通过实现RNN来完成了文本分类. 论文地址:88888888 模型结构图: 原理自行参考论文,code and comment: # -*- coding: utf-8 -*- # @time : ...