作为单机设备,不管是独自使用,还是和上位机一起配合使用。本质上来说,都是孤立的一套系统。在这个基础上,我们可以思考一下,能不能在单机系统之上构建网络化的系统。通过增加新的变量,站在更高维度来发现和解决问题。这里只是做一个探索和分析。
1、从单机系统搜集数据
传统的单机系统,数据都是孤立的,能不能从每一个单机系统搜集数据,通过集中处理的方法来提前预测故障、防止故障发生。
2、版本OTA升级
这方面目前用的最多的是汽车,对于汽车厂商来说,版本升级可以修复很多的bug,这肯定是好事情。但是需要考虑的是,消费者可以从中得到什么?
3、公有云服务系统
现在很多系统都可以通过网页直接完成。比如说,电路板pcb的绘制,这些以前只能在单机软件上完成,现在完全可以用浏览器来完成。不管是windows、linux还是mac系统,只要有浏览器,就可以绘制电路图,这是非常方便的。所以,我们可以思考下,对于共性的服务,能不能转移到云服务器来处理、来完成。
当然如果嵌入式系统有实时性的要求,那么就只能把非实时的部分转移到云服务器上了。
4、本地云服务系统
除了公有云,还有一类系统就是本地云服务。比如说一个小区内的camera监控,一个小区内的道闸系统等等,这些都是可以做成本地局域网服务器系统。当然,如果小区内部网络提前布置了,这些就可以做成私有云;如果本身网络本身不是很完善,估计还是要借助于公有云。当然,借助于公有云系统,安全和隐私保护,这就显得非常重要了。
5、衍生服务的拓展
传统的无人飞行器,要么用来拍照,要么用来娱乐。很少人会想到用它来做其他各种各样的图案。现在存在一种商业表演形式,就是用统一调度的方法,让几百台无人机构建非常复杂的形状。这方面的消息,大家应该时常从新闻媒体上有所获悉。所以嵌入式设备有了网络之后,它存在了拓展更多业务的可能性。
6、对已有设备的兼容
新设备上网络、上云,这不是很复杂的事情,那么对于存量设备,是不是也可以通过某种技术,让他们的数据在云服务器上显示出来。对于企业来说,已经投资的旧设备是不可能一下子抛弃的。那么怎么利用新技术对这些旧资产进行数字化改造,这本身也有很大的市场。能做到这一点,需要的不仅仅是单一的嵌入式系统,而是一个综合的、全面的、可以无痛兼容现有系统的方案,这样才能把自己从竞争的泥淖中挣脱出来,做真正有意义的事情。
作为设计者,或者架构师来说,应该眼光不仅仅局限在技术本身上面,而是应该以技术为手段,通过系统设计和整体服务创造更大的价值。和这个相比,用什么语言开发就显得不是那么重要了。
关键字:stm32 电机开发 网络化
引用地址:
stm32和电机开发(从单机版到网络化)
推荐阅读最新更新时间:2024-10-31 07:31
STM32单片机的PSAM卡驱动模块设计
引言 刷卡消费随着人们生活水平的提高已经成为常用的支付方式之一。为了保证刷卡消费的安全性,将PSAM卡内嵌于各种终端刷卡设备中。PSAM(Purchase SecureAccess Module,销售点终端安全存取模块),由IC卡发行主管部门或者应用主管机构发行,是可以用于对IC卡进行脱机消费交易认证的安全认证卡,主要应用于商用POS、网点终端、直连终端等设备上,支持多级发卡机制,适用于多应用的环境,符合识别卡、带触点的集成电路卡标准、ISO/IEC 7816—1/2/3/4以及《中国人民银行PSAM卡规范》。 1 PSAM卡简介 PSAM卡是接触式CPU卡的一种。CPU卡也称智能卡,卡内集成电路带有微处理CPU,存储单元
[单片机]
STM32建库工程模板
简介:STM32建库工程模板 stm32f10x_conf.h :包含外设.h文件 stm32f10x_it.c stm32f10x_it.h:编写中断服务函数 system_stm32f10x.c :提供了系统初始化SystemInit(): ,还有系统滴答初始化,变量SystemCoreClock variable:的设置 1。建四个文件夹 USER OBJ CORE FWLIB如图: 2.在USER中放 其main.c stm32f10x_conf.h stm32f10x_it.c stm32f10x_it.h system_stm32f10x.c main.c:主函数 stm32f10x_conf.h:包含
[单片机]
STM32-(SysTick定时器,EXTI外部中断/事件控制器)
Systick系统定时器 介绍:systick定时器上属于CM3内核中的一个外设,内嵌在NVIC中。系统定时器是一个24位向下计数的计数器,计数器每一次计数的时间是1/SYSTICK,一般我们设置SYSTICK为72M。当重载数值寄存器的值递减到0时,系统定时器产生一次中断,以此循环。 使用范围:1.一般用于操作系统,用于产生时基,维持操作系统的心跳。 使用的寄存器:CTRL,LOAD,VAL,CALIB; 例程1:利用systick产生1s的时基。 步骤: 1.设置重载寄存器的值 2.清除当前数值寄存器的值 3.配置控制于状态寄存器 systick配置库函数: _STATIC_INLINE uint32_t
[单片机]
STM32 堆和栈的学习(二)
1、首先来看:栈(STACK)的问题 函数的局部变量,都是存放在”栈”里面,栈的英文是:STACK. 所以,如果一个函数的局部变量过多,程序崩溃是很容易的事情,这时候,一般你会进入到hardfault…. 对于栈区,一般栈顶,也就是MSP,在程序刚运行的时候,指向程序所占用内存的最高地址 图中,MSP就是:0X2000 0940. 程序运行后,MSP就是从这个地址开始,往下给函数的局部变量分配地址. 这里的Code,RO-data,RW-data,ZI-data分别代表如下: Code为程序代码部分 RO-data 表示 程序定义的常量const temp; RW-data 表示 已初始化的局部变量 ZI-data
[单片机]
STM32 模拟IIC主设备 非IIC静默模式
//为啥用软件模拟IIC而不用硬件IIC? 除了ST的IIC模块本身问题,还因为硬件IIC移植不方便,在不同的MCU中无法通用。 /****************************Copyright(c)********************************************* **--------------文件信息-------------------------------------------------------------- ** 文 件 名: ** 创 建 人: 温世坚(wenshijian4@163.com) ** 创建日期: 20
[单片机]
stm32变更外部晶振时钟配置
学习野火的固件库UART1串口案例时,用的是SIM9008模块应用板上的STM32103F103RB芯片,使用的外部晶振是12M。 串口读取的是乱码 默认的外部晶振是8M 由于stm32的库默认是外部晶振8M的情况下实现的,所以配置串口波特率的时候也是按8M,包括主频。 如果采用外部晶振8M或12M,配置时钟为72MHZ 。 1)在system32_stm32f10x.c文件中的void SetSysClockTo72(void)里这样改: 8M: RCC- CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);//8*9=72 12M: RCC- CFGR |=
[单片机]
STM32的SysTick定时器与Delay延时函数
1.BB一下 原子哥的Delay延时函数,在没有使用OS的情况下,没有使用SysTick中断,而笔者希望通过该中断记录系统时间 不使用OS,使用SysTick中断 不使用OS,不使用SysTick中断 使用OS,使用SysTick中断 2.BB完了,上代码 2.1.不使用OS,使用SysTick中断 #define SYSTICK_INT_MS 500 /* 定义 SysTick 定时器 1/SYSTICK_INT_MS秒中断一次 */ static u8 fac_us=0; static u16 fac_ms=0; static u32 _tickMs = 0; void SysTick_Handler(void)
[单片机]
STM32 库函数处理 串口的例程
stm32使用库函数编写USART还是很方便的,现在转几个例子: 首先是不使用中断的方法使用usart1,管脚pa9,pa10,此方法已在f3discovery上验证通过,来源:https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx_stm32%2Fusart%20code&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902
[单片机]