随着社会经济的发展,交通运输行业也随之发展.但在货物运输过程中,经常会出现货物丢失或送错地址等情况,由于运输过程中途径人手较多难以定责,为了保障货物在运输过程中始终保持监测状态。除了加强人手监控外,还可以借助智能化设备帮助管理者减少类似问题的出现。
资产跟踪设备作为物联网行业发展的方向之一,其主要功能包括了运动监测、震动报警、拆除报警、开箱报警等多个功能,帮助用户实现资产的全方位监控。相关公司在开发资产跟踪设备过程中,采用了EC600S模块开关机,对于模块的开关机做出了详细的操作说明,便于后期提升用户使用过程中的操作效率。
EC600S模块开机一般可以通过powerkey引脚控制,具体物理驱动电路可以参考之前的文章,上面有EC600S模块具体的开机流程和powerkey的驱动电路。这里主要是讨论下如何在未知模块状态下对模块进行开关机操作,因为模块的开机时序和关机时序基本相同,这里主要是避免在模块开机状态下再次进行开机,反而导致模块关机的情况。
笔者目前提供两种解决办法:软件办法和硬件办法
(1)软件办法
软件办法主要是通过AT指令确认模块的状态,主要操作方式就是在对模块开机前先发送AT指令后等到模组响应,如果模组响应说明模组已经开机,不需要进行再次开机,如果不响应说明模块已经关机,需要对模块进行开机操作。
比如笔者这里利用向模块发生“AT”,模块会响应“OK”的特点来判断模块是否开机,实现上述逻辑。
(2)硬件办法
相比于软件办法,硬件办法会更加可靠,因为模块的指令执行是顺序的,一个指令未执行完成之前,是不能响应后续指令的,虽然可以通过延长发送的时间间隔但是会有时间的浪费,不过笔者的项目目前是按照软件方法来做的,程序运行可靠,方法是可行的。
硬件方法主要是通过将模组的state引脚引至MCU的IO,模块在开关机状态下state会有不同的电平状态可以通过这个来判断,但是这样会多使用一个IO,如果硬件资源很捉急的情况下就会很难处理。用这种方法的时候需要注意驱动电路的设计,state是开漏的所以需要加上拉电阻来匹配MCU的电压。
结论:对于模块的开关机可以根据以上操作指南进行实验,降低用户的操作难度。