0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PIC18F6722芯片实现远程操作监控系统的设计

电子设计 来源:微计算机信息 作者:何小丽,张曦煌 2020-09-21 17:23 次阅读

1 引言

21世纪是嵌入式计算系统时代,人们日常生活和工作中所接触的仪器与设备中,都将嵌入具有强大计算能力的微处理器嵌入式系统是任意包含一个可编程计算机的设备,但是这个设备不是作为通用计算机而设计的。即嵌入式计算系统是嵌入在其他设备中,起智能控制作用的专用计算机系统。一台通用个人电脑不能称为嵌入式计算系统,尽管有时会把它嵌入到某些设备中,而一台包含有微处理器的打印机、数码相机就可以算嵌入式计算系统。嵌入式计算系统已经广泛地应用到工业控制设备系统、信息家电、智能家庭设备等众多领域中。随着因特网的迅速发展,Web应用程序的应用也越来越广泛,它广泛地用于各种监控系统、通信设备等领域。嵌入式系统日益与Internet技术和 WWW技术结合起来发展为嵌入式Web或嵌入式Internet技术。嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。下文介绍一种嵌入式智能家庭远程监控系统,它是在Microchip公司提供硬件的基础,在功能实现上独立完成了TCP/IP协议、HTTP协议的编写,并在此基础上加载了实际的应用。

2 HTTP协议

HTTP是超文本传输协议的缩写,用于传送WWW方式的数据。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个头域结束的空行和可选的消息体组成。在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程,建立连接、发送请求信息、发送响应信息、关闭连接。WWW服务器运行时,一直在TCP80端口监听,等待连接的出现。

3 嵌入式远程监控系统AllLightSYS的设计与实现

3.1 功能概要

这里所提及的系统,它的芯片类型是由Microchip公司提供的PIC18F6722。该机器是通过AllLight System和Internet相连,从而对住所内的电器进行远程控制的Interface单元。它是通过Modem,Rote连接到Internet,使用手机的WEB浏览器访问AllLight系统来远程控制空调、电灯等电器的开和关,只要在手机的WEB浏览器上输入该系统的URL后,在该登陆页面上输入远程操作的AllLight的ControlUnit的编号,从而对登录WEB I/F UNIT的用户进行认证,经过认证的用户可以继续,认证不通过的转到认证错误画面。同时可以启动该系统的防盗监视功能时,当有入侵者打开被监视的电器设备时,就可以向用户手机(计算机终端)发送邮件进行提醒。这里最多可以控制的AllLightControlUnit数是32台。 (如图)

基于PIC18F6722芯片实现远程操作监控系统的设计

在手机的WEB浏览器上输入WEB I/F UNIT的URL后,为了防止非法登录,一旦用户登录3次失败以后,外部的登录将失效,WEB I/F UNIT将通过HTTP协议向AllLight服务器发送非法登录的警告信号。警告信息中包含了WEB I/F UNIT的MAC地址(为了和用户的邮件地址关联)。AllLight专用服务器根据WEB I/F UNIT传送警告信息中的MAC地址数据,将警告邮件发送到与MAC对应的用户手机上。外部登录的失效解除,是通过WEB I/F UNIT的外部登录无效解除按钮来实行的。

该系统还可以对和WEB I/F UNIT直接相连的AllLight Control Unit(Local Port连接)的回路进行监视。监视回路和检测状态(ON/OFF)是通过在WEBPAGE设定的,根据设定的内容对回路监视。如果是检测到防盗信息,向AllLight专用服务器发送警告信号,AllLight专用服务器向用户发送邮件。防盗监视机能的开和关是通过手机登陆页面中的一个功能键来控制的。通过“外部接点”,可以对WEB I/F UNIT的防盗监视机能进行设定。因为只能在屋内通过开关解除防盗监视机能,回路状态上的“有入侵者”通过回路状态和设定的数据(监视回路,监视状态)是否一致来判断。回路不一致的情况下,在一定时间内,如果没有解除“防盗监视机能”,判断为“有入侵者”;如果在这段时间内,解除了“防盗监视机能”,判断为“无入侵者”。上述的“一定时间”,是可以设定的数据。另外,当通过外部接点打开“防盗监视机能”时,为了避免屋内操作电器的误判为“有入侵者”,设计了延时。

另外,在AllLightSystem设计了和PC机的Interface。和计算机的Interface是通过Ethernet实现的。将AllLightSystem的通信协议数据转换成计算机使用的通信协议。只能在Local内使用。计算机和WEB I/F UNIT是靠Socket进行通信的。在WEB I/F UNIT中封装Sokect的通信服务,连接端口通过设定机能设定。计算机发出连接请求后,建立连接。连接建立后,如果Sokect存在,进行以下处理。如果是从AllLightSystem发来数据包,收到的数据包加上TCP协议的包头,向计算机发送。如果是从计算机发来的数据包,从收到的数据包(TCP数据包)中取出AllLight数据包,向AllLightSystem发送AllLight数据包。

通过外部接点(AllLight的配套机器:SX)的操作,在AllLightSystem的管理下,可以将电灯,空调等电器全关闭。

3.2 软件实现

软件构成图

HTTP服务处理

接收从手机、计算机发送过来的HTTP数据包,通过HTTP服务将HTTP数据解析。将接收到的HTTP请求解析,根据请求的内容(WEBPAGE请求或CGI请求),发送WEBPAGE的内容或进行CGI处理。生成客户端请求的WEBPAGE,将该WEBPAGE送到客户端。如果,设定模式的数据限制了该客户端请求的WEBPAGE,将错误页面发送到客户端。如果外部登录FLAG是有效的,进行HTTP协议解析;如果外部登录FLAG是无效的,为了禁止从Internet的登陆,检查HTTP请求的IP协议的发包IP和WEB I/F UNIT的IP,子网掩码是否是同一个网段,如果是同一个网段,进行HTTP协议解析,不是同网段,返回错误页面。根据HTTP请求的CGI种类可以进行各种请求,例如,进行用户认证处理是通过手机、计算机实行用户认证,和登录在WEB I/F UNIT上的内容进行一致性检查。(用户ID,PASSWORD)如果一致则认证失败计数=0,将“主菜单”画面的HTTP数据发送到客户端。如果不一致则认证失败计数+1,“登录失败”画面的HTTP数据发送到客户端。如果连续登录3次不一致,外部登录无效。进行防盗监视设定处理是将防盗监视机能FLAG设定成有效?无效,控制SL的LED(有效:红灯ON,无效:绿灯ON),更新“主菜单”画面的防盗监视状态。处理后,将“主菜单”画面的HTTP送到客户端。

这里需要说明的是,由于WEB I/F UNIT的GlobalIP地址是动态分配的,所以必须构建AllLight的专用服务器,并且在该服务器上将WEB I/F UNIT的GlobalIP登录。GlobalIP的登录需要定期执行,在AllLight专用服务器上,是将WEB I/F UNIT的IP地址和MAC地址绑定的,因此,WEB I/F UNIT必须将自己的MAC地址通过HTTP协议传送到AllLight专用服务器上。

AllLight响应的接收处理

通过PIC的UART机能,接收AllLightSystem发出的数据包。只响应AllLight ControlUnit发出的数据。(其它数据忽略。)如果远程操作机能FLAG,防盗监视机能FLAG有效,根据接收到的数据更新WEB I/F UNIT的回路状态数据。如果PC I/F机能FLAG有效,由于发送的数据是有AllLight协议的信息,为了使接受的数据能够进行PC I/F处理,除去AllLight协议的报文头。

AllLight指令发送处理

远程操作机能如果FLAG有效,实行有效回路检查。有效回路设定数据Check,如果指令控制的回路远程操作有效,实行指令发送处理。根据手机发出的要求,将“ON”,“OFF”指令转换成AllLight协议数据发送。如果是通过PC I/F处理,去掉TCP数据的报头,将取出的数据加上AllLight协议的报头,发送数据包。

4 结论

本文介绍了一个基于对嵌入式Web技术的家庭远程操作监控系统的设计与实现,主要实现通过手机或电脑对自己家用电器进行监控和远程操作,极大地保证了家庭的安全,也方便了人们的生活。本文作者的创新点就是:服务器的设计基于嵌入式WEB技术,支持动态IP,可以直接进入以太网,用户无需使用专用的操作系统和软件,可以直接通过浏览器进行操作,通过HTTP与嵌入式WEB进行通信。通过这次项目的完成,相信随着网络监控技术的发展,基于嵌入式WEB的远程操作系统必将有良好的发展前景。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47795

    浏览量

    409156
  • 服务器
    +关注

    关注

    12

    文章

    8120

    浏览量

    82521
  • 监控系统
    +关注

    关注

    21

    文章

    3612

    浏览量

    169288
收藏 人收藏

    评论

    相关推荐

    基于GSM远程温室环境监控系统的设计和实现

    基于GSM远程温室环境监控系统的设计和实现
    发表于 10-07 21:18

    Mplab V8.90 picc18编译 waring

    单片机是PIC18F6722,之前版本的编译器编译没有问题,升级换成PIcc18的 V9.80后,在编译出现了大量【WARING】Executing: "E:\Microchip
    发表于 08-23 19:57

    PIC18LF6722 求助读取数据

    PIC18LF6722 有一引脚对地短路,没有源程序,能否用编程器读出片内程序,然后写入新片里呢?请高手给解答下,万分{:23:}谢谢!!
    发表于 09-22 13:03

    [求助] 如何測試PIC18F6722

    本帖最后由 robert8628 于 2013-10-27 17:29 编辑 如何測試PIC18F6722?有沒有簡單的測試電路圖?
    发表于 10-27 15:36

    【下载】《PIC项目实战:基于PIC18

    、CAN、USB或者ZigBee这样复杂的通信协议栈,且用C语言实现通用应用系统。本书基于PIC18F微控制器,深入介绍了使用microC语言设计PIC微控制器应用的方法。书中提供了C
    发表于 01-30 17:53

    实现wincc手机APP远程监控方案

    的很多功能,且手机携带方便,移动性强,因此运用手机APP监控控制系统已成为自动化系统监控的一种主流的方式。下面介绍一种在不改动原有系统
    发表于 07-23 19:07

    采用PIC18F458实现CAN总线接口设计

    相对独立的子程序。can总线的各种协议已经被集成在pic18f458的can模块里面,只要对相应的寄存器进行操作就可完成can系统通信。pici8f458的can通信程序主要包括can
    发表于 06-11 05:00

    下位机与远程监控主机怎么实现网络通信?

    针对传统远程通信方式在嵌入式监控系统中的低速、传输距离短、布线复杂等问题,提出了一种基于ZigBee与μIP协议栈的嵌入式网络监控系统。选用
    发表于 08-27 07:20

    嵌入式系统远程监控主机的网络通信怎么实现

    针对传统远程通信方式在嵌入式监控系统中的低速、传输距离短、布线复杂等问题,提出了一种基于ZigBee与μIP协议栈的嵌入式网络监控系统。选用
    发表于 08-28 07:35

    如何读写闪存PIC18F6722?

    大家好,我正在努力学习如何读/写闪存(PIC18F6722)。我首先查阅了数据表,并且了解了操作的基本原理。我还在网上搜索了一个实用例子的教程。不走运。我想做的是:设置一个启动闪存位置。为需要的操作
    发表于 10-30 13:20

    泵站远程监控系统

    远程监控泵站,实现泵站无人值守。系统组成泵站远程监控系统
    发表于 02-15 16:34

    18LF6722 6x通道PWM

    嗨,我在一个项目中使用18LF4520PIC,其中RAM已满,虽然程序已经差不多完成了,但也可以。需要6倍PWM通道用于直接RC伺服控制。我买了一些18LF6722PIC,因为它们具有较大的内存
    发表于 03-19 09:55

    怎么实现IP Camera远程监控系统的设计?

    怎么实现IP Camera远程监控系统的设计?
    发表于 05-18 06:59

    如何利用IP网络实现远程视频监控系统

    本文介绍的远程监控系统,可利用现有IP网络实现远程监控和控制摄像头的调焦、云台转动等,可满足无人
    发表于 06-07 06:20

    基于T-F变换的多点流体温度测量系统

    针对一般测温方法在进行流体多点温度测量时存在系统复杂,准确度和速度难以兼顾的问题,提出了一种基于温度-频率(T-F)变换的测量系统。该系统使用PIC18F6722单片机控制MOS管开关
    发表于 08-08 14:53 53次下载
    基于T-F变换的多点流体温度测量<b class='flag-5'>系统</b>