E路航LH950N导航仪实现通电自动开机、熄火断电自动休眠功能
1 82 发布于 2011-02-22 19:41:54 只看楼主 热门标准
点击查看热门标准,热门算法维度通过账号健康度、浏览、评论、点赞、收藏、转发、反作弊等进行综合评判
修改帖子

E路航LH950N导航仪实现通电自动开机、熄火断电自动休眠功能:office:

st03lts

一、缘起

我的导航仪是E路航LH950N,远峰方案,ROM版本为YF82C,装了倒车影像的,每次开车都要去按导航仪的开关十分麻烦,一直都想实现熄火自动休眠的功能,也想过几个办法,可惜都行不通:最早想到直接拆掉电池,肯定可以实现熄火关机,但经试验发现拆掉电池后只靠车供电,失去了电池的稳压作用,在电瓶电压有波动(点火、开大灯、开电加热等等都会造成电压波动)的情况下很容易因供电不足而死机,此外每次开机都要等很长时间,实在是折磨耐心。后来想编一个程序,又不知道导航仪内部操作系统中有没提供检测外供电的接口(即程序是否有可能检测外供电是否存在)。

二、成果

2月16日看到zhao6986 的大作《再谈熄火自动休眠/自动关机(http://www.sosaw.com/forum43/thread-186887-1-1.html)十分高兴,决意实现之。按照帖中的指引下载了“APP”软件文件夹,并结合各位网友的经验以及我的e路航LH950N的情况、我自己的使用需求进行了软件、硬件方面的修改。修改后实现如下功能:

1、若在关机状态,则通电自动开机;若在休眠状态,则通电自动激活。

2、开机后自动运行DSA以及断电自动休眠程序;激活后回到休眠前的状态。

3、断电自动休眠,提供“休眠”、“关机”、“退出断电自动休眠(手持操作时很有必要)”选项。

4、将断电自动休眠程序、DSA2010程序放到了导航仪内部储存卡中,即使不插SD卡一样实现以上功能。

5、修改e路航LH950N部分程序,解决选择“开机自动运行导航程序”实际开机进入游戏界面问题,真正实现开机自动运行导航程序。

经过几天的正常使用以及刻意测试,以上功能全部运行正常,效果相当好。开车通电导航仪就运行,熄火就休眠,省掉多少事!

三、断电自动休眠程序

(一)改进后的程序实现功能如下:

1、修改导航路径,点“导航”按钮时启动APP文件夹中的APP.exe。

2、通过APP.exe启动DSA2010。DSA2010本身已经提供了启动DSA后是否自动运行导航软件的选项,可以根据自己需要修改。我一般不需要用导航地图,就不自动运行。

3、启动完DSA2010后再启动power.exe。Power.exe就可以实现断电自动休眠功能。

    (二)APP.mscr内容如下:(#后为注释,有引用本文所列程序的网友在实际程序中最好删除,下同)

Run "ResidentFlashDSADSA2010-90.exe" 

wait 12000   

Run "ResidentFlashAPPpower.exe"

Exit

其中第一句是我的DSA程序路径,第二句是等待DSA完全启动后再启动power.exe,“ResidentFlash”为导航仪SD卡名称,一般为“SDMMC”,但因为我把整个程序放到了导航仪内部自带的储存卡ResidentFlash中所以需要改为“ResidentFlash”。

把程序放到导航仪内部储存卡有个好处就是即使有时把SD卡挪作它用也可以启动DSA和自动休眠程序。具体如何把程序放入ResidentFlash请看后面。

(三)Power.mscr内容如下:

setchoiceentryformat (35,22, "Tahoma")  

#设置选项条高度35像素,字号22号,字体Tahoma#

While (1)

If(ExternalPowered()=0)   #如果外电断电

   ChoiceDefault( "断电休眠","即将休眠,请选择",1,5,"休眠","关机","退出断电休眠")

#标题为"即将休眠,请选择",默认选项为1,倒计时5秒#

   Case(1)

     If(ExternalPowered()=0) 

#当选择了1(即“休眠”)且仍然没有外电的情况下#

       Run("ResidentFlashappSuspend.exe") 

#说明:如果断电在5秒内又恢复,这句代码不会执行#

     EndIf

   Case(2)

     If(ExternalPowered()=0)

       Run("ResidentFlashappPowerOff.exe")       EndIf

   Case(3)

      Exit   #退出自动休眠功能

      EndChoice

EndIf

sleep 5000

EndWhile

exit 

    这段程序的执行效果是:当外电中断后,不管导航仪处于哪个界面(主界面、DSA界面或者导航地图界面),都会弹出一个选择对话框,并开始倒计时,5秒时间一到就默认执行休眠功能。如在没有外接电源的情况下启动导航仪,启动DSA后弹出此对话框时可以选择“退出断电自动休眠”,则可以继续手持使用。若要再次启动该功能,可以重新开机或者重新启动“APP.exe”。      

(四)休眠程序、关机程序

我并未使用再谈熄火自动休眠/自动关机》中提供的休眠程序和关机程序,因为卖给我的导航仪自带的SD卡中附带提供了很多应用程序,其中包括任务管理器啊、WORD阅读器啊、PDF阅读器啊、关机程序啊、休眠程序啊、关闭背光程序啊等等,当然这些程序都没有安装到导航界面中,在立体魔方界面中是无法使用的。不过我在某次折腾中发现了这些程序,现在刚好用得上。由于是自带的,用起来都没问题。

四、通电自动开机、自动激活的硬件修改

(一)改造原理

很多网友一听到硬件修改就很怕,其实只要具备一定动手能力、用过电烙铁、知道什么叫电阻什么叫三极管的都能够完成这一部分修改。所用到的元件很简单:电阻3个,电容1个,三极管1个。LH950N是高电平信号开机的,也就是开机引脚接到正极持续若干秒就会开机。

(二)电路图

再谈熄火自动休眠/自动关机》中39楼网友分享了以下电路图,经实验确实能够实现通电自动开机自动激活的功能,却也存在一个问题,分析如下:

1、通电后5V电源通过电阻和电容,由电容的瞬时导通作用通到开机引脚,开机引脚得到一个5V的信号,适当选择电容容量可以使开机信号持续合适的时间。我选择的是100uF的。

2、成功开机后,“开机后3.3V”引脚输出一个3.3V信号,驱动三极管导通,从而拉低了图上电阻右端(电容左端)、并通过电容将开机引脚电平拉为0V。

3、由于开机状态下“开机后3.3V”一直有3.3V电源输出,三极管一直导通,当电源中断再恢复时,5V电源无法通过上述第1条的路径流向开机引脚,也就不会导致导航仪关机。

4、但是,在有外电供应的情况下,如果想手动关机的话就出现关机后自己开机的情况,导致永远无法手动关机。分析如下,因为关机后“开机后3.3V”引脚失去高电平导致三极管断开,原来被拉到低电平的RES1电阻右端(电容左端)释放升高,从而导致又给了开机引脚一个高电平信号,再次开机。

(以上分析没有电路基础的一时无法理解也没关系,知道怎么焊接元件就能够改造成功的)

    解决办法如下:将上图电路稍作改进,在开机引脚和电容CAP之间增加一个电阻(阻值1K),时将图上三极管的上端引脚由与电阻右端(电容左端)连接改为与电容右端(新增电阻左端)连接即可。

    我所选元件:上图所示两个电阻均选用3K欧电阻,新增电阻选用1K欧电阻,电容容量100uF。

    (三)各引脚位置

    开机引脚就是LH950N开机按键左侧的引脚(拆开后面向电路板,开关在上方的情况下);“开机后3.3V引脚”就是翻过背面看到SD卡插槽旁边的一个金色的、未焊接任何元件的、直径约1.5毫米的圆点;5V输入信号可以在充满电后显示蓝色的那个LED的靠近电路板外侧的一端取得。

改造后,完全实现通电自动开机(若在休眠状态则自动激活)。经严格分析,该电路完全模拟了手动开机的过程,新增加的元件耗电很小,对导航仪的正常运行没有任何电路上的影响。

五、把程序复制到导航仪内部储存卡ResidentFlash,实现无SD卡的情况下也能运行。

首先上网下载一个名为ActiveSync的软件安装到电脑里,然后修改导航仪里的USB设置,改为MS ActiveSync,再用USB线连到电脑之后就可以进入“我的设备”进去浏览导航仪内部文件了,可以看到除了SDMMC文件夹外,还可以看到ResidentFlash文件夹。可以很容易地将任何内容复制到ResidentFlash里。

复制前一定要注意自己APP.mscr文件里对power.exe的路径、以及power.mscr里对DSA.exe的路径设置是否正确。

另外,在导航仪里的“设置导航路径”里是没法看到ResidentFlash的,如果需要实现从ResidentFlash里运行程序的话还需要在电脑手动修改导航路径。

    六、修改立体魔方界面中的“游戏”项路径,取消游戏功能,实现开机自动运行。

用过LH950N的网友都应该知道,在导航设置里选择了“开机自动运行导航”,实际开机时却是自动进入游戏界面,相当郁闷。由于极少使用游戏功能,不如将“游戏”的链接指向断电自动休眠程序,实现开机自动运行断电休眠程序,并通过断电自动休眠程序的引导实现开机自动运行DSA。

(一)进入WinCE

要实现这一功能必须以能够进入WinCE操作系统桌面为前提。方法如下:到网上下载一个名为YFgo2CE的压缩文件,解压后得到一个名为YFgo2CE.bld的文件,将其复制到SD卡,重新开机后即进入WinCE操作系统桌面。进去之后看看,怎么样,是不是跟电脑很像啊?

(二)进入residentflash2文件夹

我们看到的立体魔方界面、界面上的所有程序以及导航仪的休眠程序、关机程序都放在residentflash2文件夹里。该文件夹是完全隐藏的,只有在进入WinCE桌面后,通过在WinCE的“启动”-“运行”中输入residentflash2才能进入。

(三)复制shell.xml文件

    进入residentflash2之后可以看到YFAP30文件夹(有些机器可能会为YFAP文件夹),再进入后可以看到Skins文件夹,再进入后可以看到类似于“HongHui_NavReady_CMMB”之类名称的文件夹,再进入后可以找到一个Shell.xml文件,将其复制到SD卡中,我们需要在电脑上对这个Shell文件进行修改。

(四)修改shell.xml文件

将shell.xml复制到电脑里,用记事本打开(妈呀全是洋文!),找到

<game

IMAGE="101"

RECT="70,23,50,73"

Style="MainMenuBtnText"

EXEPATH="GamesDlg"

/>

   这一段就是定义我们在立体魔法界面上看到的“游戏”选项图标、位置、执行路径等内容的程序了。也可以直接查找“EXEPATH="ToolsDlg"”,将其改为你想要在你点击“游戏”图标时(同时也是导航仪开机自动运行)的软件的具体路径。例如我就将其改为

EXEPATH="ResidentFlashAPPAPP.exe"

也就是点击“游戏”图标时运行前面所述的断电自动休眠程序,并且是从ResidentFlash里运行。

(五)替换原来的shell.xml文件

参照刚才的方法把修改保存后的shell.xml文件复制到SD卡里,再从SD卡里复制到原来的“HongHui_NavReady_CMMB”文件夹里替换掉原来的shell.xml就可以啦。

拔掉SD卡(或将SD卡里的YFgo2CE.bld文件删除,否则每次都会进入WinCE桌面),再重新开机,怎么样,乖乖自动运行你想要的程序了吧?

(六)其他

其实,通过对Shell.xml文件的修改,还可以修改立体魔法界面中任何一个图标指向的程序,比如我就把任务管理器啊、电池电量查看器啊、Wordviewer啊、PDFviewer啊之类的全部都放到了“工具”选项框里面的空白位置,这样我的工具就不光光是日历、计算器和单位换算啦。具体方法就不啰嗦了,可以参考网上“深入系统内部修改导航仪的界面”的帖子。

(全文结束,欢迎共同研究指正)

St03lts 

2011.2.22

 

2011年10月11日更新:

现在换了掌微V6N导航仪了,也修改实现了通电开机、断电休眠功能。不过V6N比LH950的开机电路有点不同,通电开机电路比较难改,要改变连接方式。

 

另外,http://www.sosaw.com/forum43/thread-241123-1-1.html中网友chelijie提出了更好的自动休眠方法,可以参考。

 

2011年10月18日更新:

改造自动开机功能的具体过程已另发新帖,自动休眠方法也已改进,可参考《改造导航仪,实现通电自动开机!》http://club.autohome.com.cn/bbs/thread-c-660-12735310-1.html

最后编辑于2011-10-18 21:59:04
很抱歉,该主帖尚未满足精华帖15张图片要求,不能予以精华,更多精华标准点击此处查看
修改主帖
内容系网友发布,涉及安全和抄袭问题属于网友个人行为,不代表汽车之家观点,可联系客服删除。
举报
IP
回复
返回列表
1 234 5
前往
/5页
确认

更多> 精选帖子

更多> 精选视频

扫码下载
汽车之家APP

随时获取
最新汽车资讯