【OK210试用体验】项目整合1 – 远程车载设备监控(车联网/智能家居)(WIFI) - 在线问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【OK210试用体验】项目整合1 – 远程车载设备监控(车联网/智能家居)(WIFI)

本帖最后由 zhengningwei 于 2015-8-24 17:12 编辑


2015-8-24更新
标题:项目整合1 – 远程车载设备监控(车联网/智能家居)(WIFI)
-----------------------------------------------------------------------------------------------------------------------------

历史进度更新记录:
1、OK210开发板使用体验报告 – 开箱(2015.7.7)
https://bbs.elecfans.com/jishu_497365_1_1.html (1楼)
2、OK210开发板使用体验报告 – 通过串口指令操作LED和温度传感器(2015.7.12)
有关环境搭建和简单应用开发(基于WinCE6.0)
3、Win CE6.0流驱动开发与内核编译移植(2015.7.25)
4、简易WinCE6.0应用测试(2015.8.4)
https://bbs.elecfans.com/jishu_503731_1_1.html

-----------------------------------------------------------------------------------------------------------------------------

内容提要:

     本次更新是对之前更新内容的整合,项目是基于WIFI的远程车载电子设备的监控,通过APP,中间由云服务器进行数据中转,实现对车载设备如空气净化器、OBD系统等的远程操控。系统分为四部分,分别是用户的APP客户端、云服务器、车内的ARM控制台、车内底层硬件设备组成。此项目不仅是适用于车内环境,对智能家居应用也同样适用。

        
各部分结构介绍

①   APP目前只支持安卓版本,APP内容比较简单,如下图:


           

    第一个图是OBD的参数,此次更新暂未完成OBD模块的接入;第二个图是对净化器的操作,对当前的环境参数进行远程监控,同时可以对过滤器的模式和开关进行远程操作。

②   云服务器
      远程控制就是进行点对点通信,点对点的前提就是需要知道双方的地址才能进行通信,学过一些网络知识的应该都知道,我们个人所使用的IP地址不是固定的,是由电信运营商动态为我们分配的IP,而不是独占的,也就是说,我们每一次拨号上网,IP都是不一样的,所以开发基于远程控制的应用时,需要获取到对方的IP地址才能进行通信,当然,可以使用花生壳进行域名绑定,但这种方法比较麻烦,而且网络不稳定,需要对路由器进行端口映射,操作比较麻烦。而且在基于汽车远程控制时,此方法基本无法实现,因为用户APP和汽车电子设备都是通过无线(wifi/GPRS/2/3/4G)接入网络。所以在此采用服务器进行数据中转,服务器的地址是一个公网地址,是固定的,就好像我们访问百度或者腾讯网时所使用的域名一样。通过服务器,无论用户在哪里,只要能接入网络连接到服务器就能远程操控另一端我们的电子设备,此通信方式类似微信,我们给好友发送信息并不是直接就发送到对方手机上,而是手机先和微信服务器连接,信息传达到服务器后,由服务器转发到该好友登陆账号的手机上。而且通过服务器可以进行用户注册、用户维护以及扩展其它服务。本项目应用支持用户注册和绑定,本次更新的项目的服务器采用我们公司的服务器。

③   车内系统
      车内系统有ARM主控平台和底层功能模块组成。ARM控制台实现控制底层各个电子设备以及收集各个设备的信息。本次试用没有液晶屏,所以界面通过远程工具截图的方式展示,界面比较粗糙,无任何美感,大家轻喷哈。此次更新里的底层电子设备只有空气过滤器,内部有PM2.5、温湿度传感器,以及一个风扇组成,通过nrf2401模块和ARM控制台进行数据交换,但为了加快进度,暂时未开发好ARM的nrf2401驱动,直接通过串口与过滤器的单片机控制器进行通信,后续慢慢再更换为nrf2401。

以下是系统连接的实拍:


      暂时没有成品,直接通过模块化来接线,wifi模块通过串口(UART0)与OK210连接,wifi那一整块版只有wifi功能。过滤器的风扇+传感器等都通过单片机控制器连接,单片机使用的是STC15系列,也是通过串口(UART1)与核心板进行连接,nrf2401此次暂未使用,等把ARM下面的nrf2401驱动开发板再替换掉那根串口线。UART0在系统内对应的串口号是COM0,UART1是COM1,COM2就是系统占用的串口,COM3在此我作为打印输出调试信息的端口。

ARM软件运行流程

①    初始化各个串口和界面控件
②    配置wifi参数,创建TCP通信,与服务器进行连接,并登陆。
③    通过串口初始化过滤器上的传感器和端口。
④    所有初始化完成后开始监听服务器发来的指令以及过滤器控制器传输过来的数据。
⑤    收到响应数据后对数据进行解析-解密-校验-执行-更新到界面
以上是ARM的软件基本流程,下次再更新nrf2401驱动,使之与下位机进行无线通信。数据格式全部都是自定义格式,为提高安全性,数据采用加密算法进行加密传输通信。
底层过滤器的功能比较简单,主要是实现传感器数据的采集,然后上传给ARM核心板,并且接收并执行核心板发来的控制指令,除了通信部分,其它都与核心板隔离,此做法好处是实现模块化结构开发、扩展方便,增加外围电子设备时,arm板不需要修改硬件,只需要修改软件,使之加入无线通信即可。也就是说,arm开发板实现的功能是①人机交互平台②与下位机进行数据交换,实现监控③与服务器进行连接通信。各个模块层次分明,扩展方便。


软件界面截图:


      由于没有屏幕,此截图是通过微软的远程放大器进行桌面截图,只能看,暂时无法进行操作。软件做了全屏化处理,界面风格可以说是丑的没朋友,凑合着用吧,基本功能框架实现了再进行相关美化。
      在此也贴出OK210板上UART0和UART1的端口定义:方便大家接线,没有插头可以直接把杜邦线的胶壳去掉,然后直接插到插针上,注意不要碰到旁边的针脚短路了,插到位后最好打点热熔胶什么的固定一下。暂时用的话是没问题的,长时间就不建议这样做了,毕竟开发板不便宜,分分钟可能会搞坏。



      两个接口的排序是一样的,基本只用到TXD,RXD,GND三个脚就够了,用到流控的就另说了。此端口是3.3V TTL的电平,电平不匹配最好隔离一下,以免损坏核心板。



-----------------------------------------------------------------------------------------------------------------------------

以上是本次内容更新,有好的想法或者建议,或者问题大家提出来一起讨论。OK210开发板到现在为止运行比较稳定,暂时未遇到什么问题,也没死机过,系统是win ce6.0。接下来将进行GPRS模块或者3G模块、以及完善ARM底层nr2401驱动的开发,实现真正意义的移动物联。


0个回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /9 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2025-12-2 19:35 , Processed in 0.558395 second(s), Total 67, Slave 46 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表