云屏系统msExplorer前身是为中小企业打造的通用嵌入式开发平台—— 嵌入式微系统(msOS)。
msOS的特点:引入双任务RTOS,分离高速的业务逻辑和低速的菜单界面。
面向对象的GUI编程代替面向过程的界面编程,实现统一高效的界面编程。
把C语言写成C#编程风格,简单、优雅,便于统一变量、函数的命名。
App结构体封装全局变量,System结构体封装系统底层接口,分离应用层 与系统底层,便于分层设计。
msOS简单易用的模式化编程,解决中小企业的人员流动大,项目无法传承的问题。
只支持双任务、只支持简单的GUI、需外扩各个通讯模块、没有中文输入法等这些特点使得msOS在物联网中的应用时有它的优势却也面临着一些问题.它的优点是简单、易用,容易上手,适合简单的小型项目; 缺点是不支持复杂炫丽的大彩屏,功能少,扩展能力弱
msOS的普及让很多开发者受益的同时也提出了更高的要求,尤其是大彩屏GUI的要求。专业嵌入式GUI如emWin等对MCU硬件资源要求较高;其次界面控件资源有限、灵活性、美观性不足;最后软件开发难度较大,严重干扰了嵌入式人员专注于业务逻辑。加之随着物联网方面的各种需求的增多,WIFI、BlueTooth、3G、4G等网络通讯往往成为标配。云数据的兴起,使得云端后台在应用中越来越受客户重视,实现增值应用也越来越迫切。良好的用户体验,比如中文输入法、数据存储、系统网络升级、图像识别等,对系统提出了更高的要求。而msOS缺的这些东西,Android系统恰好可以弥补
当前主流的嵌入式彩屏GUI编程,硬件要求高,软件开发复杂,界面效果不理想,不符合让嵌入式人员专注于业务逻辑的理念。HMI屏、串口屏具有简单易用的特点,但只能实现比较简单、有限的界面应用,不能满足复杂的需求,比如中文输入。我们能否把做成一个大号的单片机,类似JAVA虚拟机,搞一个可以运行STM32的C语言的虚拟机实现嵌入式版本的App。用硬件单片机实现C语言虚拟机,单片机通过串口控制Android。采用主流的Html5+JavaScript网络技术取代自定义串口通讯接口,实现远超过GUI的功能,比如音视频、WIFI、3G、4G功能。
在这样的背景下我们云屏系统msExplorer的诞生了,2017年10月份我们提出了云屏系统的基本框架,并开发验证了其可行性
下面给大家介绍一下我们的云屏系统 :
云屏系统的设计架构:MCU + Android,云屏系统架构设计有五要素:
一、MCU为主控、Android为从机,两者基于Html5浏览器技术实现网络交互。
二、MCU负责业务逻辑,并创建界面控件,Android端安装云屏App,让Html5浏览器负责控件解析,类似显卡,网卡功能。
三、Android端接入云后台,实现远程监控、系统升级与维护。
四、基于MDK编译器插件,在PC上实现所见即所得的界面效果。
五、通用的图像识别控件,让嵌入式人员进入图像识别时代。
我们云屏系统是基于强大的Html5浏览器技术,无需学习Android与JAVA。核心技术是Html5+JavaScript。
我们设计云屏系统的目的一方面是希望用户能更专注于核心业务逻辑部分,不需要太多关心其它辅助部分,如网络、显示、存储。我们将单片机作为核心业务逻辑,将android端作为辅助,即使android端系统出现了问题,也不会影响核心功能。二是这一方式对嵌入式开发人员而言,不需要重新学习新的开发工具,只要会C语言直接采用keil工具开发即可;也不用了解android系统的运行和各种控件;对于各种眼花缭乱的JS语言和框架完全可以忽略。
简单、易用、稳定是云屏系统的特点。云屏系统利用MDK的插件在浏览器中展现,使用C语言开发,让所见即所得。云屏系统的远程下载方式,让软件升级、维护省时省力省心。