sd卡热插拔、3g、4g模块支持开发

一、USB扩展模块开发的一般步骤:

1、增加内核的支持(3g\4g模块需在Option.c源文件中添加productID和vendorID号);

2、通过查看/proc/bus/usb/devices查看usb接口模块的识别情况;

3、查看/proc/partitions查看硬盘、flash、sd卡等的识别情况;

4、在Linux中所有的读写都是通过文件的形式操作:SD卡通过创建文件,然后挂载在/dev/sda1上访问;usb接口模块通过/dev/ttyusb0、/dev/ttyusb1等接口处理数据的访问、发送和接受;


二、添加好功能模块的支持只是使得信息能够正常的传输,要想具有分析、按照自己的需要去做处理的能力,就需要算法逻辑的代码才能完成:

A、SD卡的热插拔功能:

1、在内核的gpio.c中添加io、write、read等接口,添加简单的算法逻辑,使得接受到应用层的设置获取信息后,对gpio口做相应的处理;即gpio口重启,使得SD卡模块重新识别可用而不用设备做重启操作;

2、应用层:

添加对内核gpio处理的应用程序;实现对gpio口的设置;gpio_handle;

添加对SD卡是否松开的检查逻辑--这种算法方法很多,其中一种认为的思考方法为:每隔一段时间检查挂载的文件是否存在,若不存在,则调用gpio_handle,对gpio重启,并重新挂载;


B、GPS模块信息的处理:添加/dev/ttyusb3接口信息的接受,并将该信息通过SOCKET发送至服务端;

C、3g/4g信息的处理:

1、AT指令用于发送信息到模块,对模块做一些操作,如初始化,启动,关闭,发送信息到基站,接受信息等;

2、将发送及获取到的信息进行判断处理,启动网络配置信息;


三、周边设备已上网探测功能开发思想:


总结:

1、上述是指实现算法的核心部分,大部分情况,人的习惯性思维都是主要集中在核心部分上,但是要实现一个智能的功能,只是考虑这个是不行的,一些异常情况的考虑和思考分析的过程也是实现功能的主要部分,是对细节,思维缜密的考量;

2、开发的智能程度主要看的是算法,但是智能算法要得以实现也是需要模块的支持,字符信息准确无误、细节缜密的传输、外观的完美显示、信息的尽量简单;都是需要开发,但这种开发是简单,只需要耐心细心和花时间把每一种可能的情况想到即可;    

3、程序的开发,一定是具备分析能力的,否则就是弱智程序(简单的将输入对应数据库的对应值输出),将分析的过程和逻辑加入到设备中,使得设备智能化,具备计算和处理能力,用程序和算法表示,开发出智能设备智能硬件。

4、设备没有像眼镜一样的观察能力,只能通过程序将数据读取然后分析去做判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值