当前位置:文档之家› 毕业论文+谢正明+会发微博的安全门

毕业论文+谢正明+会发微博的安全门

编号:( )字 号

本科生毕业设计(论文)

题目:

姓名: 学号:

班级:

二〇一三年六月

谢正明 08093518 电子信息科学与技术09-1班

中国矿业大学

本科生毕业设计

姓名:谢正明学号: 08093518 学院:计算机科学与技术学院

专业:电子信息科学与技术

设计题目:会发微博的安全门设计与实现

专题:

指导教师:王冠军职称:讲师

2013 年 6 月徐州

中国矿业大学毕业设计任务书

学院计算机学院专业年级电子信息科学与技术09级学生姓名谢正明任务下达日期:2013年 1 月10 日

毕业设计日期:2013年 1 月18 日至2013 年 5 月27 日

毕业设计题目:会发微博的安全门设计与实现

毕业设计专题题目:

毕业设计主要内容和要求:

本课题主要研究一种会发微博的安全门的设计和实现的方法,首先对微博的应用场景进行分析,然后选择嵌入式软、硬平台,并在平台上实现测距、拍照、上网的功能,最后在平台上实现一个能发图片的微博客户端。

(1)重点研究嵌入式平台微博客户端的设计与编程实现。

(2)利用现有的资源开发出一个小型的支持微博新浪API的SDK。

(3)移植摄像头驱动程序并实现摄像头拍照的功能。

(4)设计距离检测模块可以用于安全门的访客检测。

(4)实现系统无线上网的功能,并将系统各个模块集成。

(5)翻译一篇近年出版的与嵌入式软件设计相关英文文献和认真撰写毕业论文。

院长签字:指导教师签字:

指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;

⑥总体评价及建议成绩;⑦存在问题;⑧是否同意答辩等):

成绩:指导教师签字:

年月日

评阅教师评语(①选题的意义;②基础理论及基本技能的掌握;③综合运用所学知识解决实际问题的能力;③工作量的大小;④取得的主要成果及创新点;⑤写作的规范程度;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意答辩等):

成绩:评阅教师签字:

年月日

中国矿业大学毕业设计答辩及综合成绩

摘要

微博,即微型博客(Micro-blog)的简称,是近些年流行的一个基于用户关系信息分享、传播以及信息获取的平台。微博在当今社会已经成为了人们生活中不可或缺的一部分,其广泛的客户群,实时的信息发布,方便转发等特点,决定了基于微博的应用前景广阔。新浪微博是极具影响力的微博,其开放的API为开发者提供了良好的应用接口。基于新浪微博的API应用已经被使用在生活的各个角落。

本文设计并开发了会发微博的安全门系统。该系统为基于新浪微博API的一个嵌入式应用,也是嵌入式网络系统在家庭安防领域的一个应用。系统基于Linux内核的OpenWRT操作系统开发,包含访客检测模块,图像采集模块,信息处理模块以及网络连接模块。在访客检测模块中通过移植驱动程序使其支持USB摄像头,并实现超声波测距;在图像采集模块中开发了基于V4L2摄像头拍照程序;在信息处理模块以及网络连接模块中开发了基于Libcurl和新浪微博API的微博客户端。当系统检测到有人靠近安全门并停留一段时间时,采集访客的图像信息并上传到指定的新浪微博。

本系统采用嵌入式软硬件平台实现图像信息的微博发布,是微博应用程序的一种创新,在国内属于首创,突破了当前微博主要应用于社交活动和信息分享的范畴,为微博未来的发展开辟了一个新的方向,具有广阔的应用前景。

关键词:微博;嵌入式Linux;OpenWRT;V4L2;Libcurl

ABSTRACT

The micro-blog is a platform to share, disseminate and receive information and it has been very popular in recent years. The micro-blog has become an integral part of people?s life in modern society. Because of its broad customer base, real-time information release and convenient forwarding, the applications that based on micro-blog will be very popular in the market. Sina Micro-blog is an influential micro-blog for it provides an open API which provides the developers with Sina Micro-blog application interface. Now, the applications that based on the API of Sina Micro-blog has been applied to every corner of our life .

This thesis will design and develop micro-blog security door system. The design is an embedded micro-blog application that based on the open API of Sina Micro-blog. The security door is the application of embedded network systems in the field of home security, too. This system is based on the OpenWRT Linux kernel operating system development, including visitors detection module, image acquisition module, the information processing module and the network connection module. In the visitors detection module, the USB camera has been supported by transplanting driver. And it brings about the ultrasonic ranging for visitors? detection. In image acquisition module, the photo program has been developed with the use of V4L2. In the information processing module and the network connection module, the micro-blog client that based on Libcurl and the API of Sina Micro-blog has been developed. When the system detects someone close the security gate and stay for a while, the camera will take pictures and send them to specified users.

This system has adopted the embedded software and hardware platform to realize the releasing of the image information through the micro-blog. This is an innovative micro-blog application and it is the first example in China. It breaks the restrictions that the micro-blog has been mostly used in social activities and information sharing. It opens up a new direction for the future development of the micro-blog which has broad application prospects.

Keywords: Micro-Blog; Embedded Linux; OpenWRT; V4L2; Libcurl.

目录

1 绪论 (1)

1.1研究背景和意义 (1)

1.2国内外微博的发展阶段 (2)

1.3微博应用的发展动向 (2)

1.4课题内容及论文结构 (2)

1.4.1课题内容 (2)

1.4.2论文结构 (3)

2 系统架构概述 (4)

2.1系统整理论述 (4)

2.1.1会发微博的安全门结构组成 (4)

2.1.2会发微博的安全门系统特点 (5)

2.2会发微博的安全门平台介绍 (5)

2.2.1平台总体介绍 (5)

2.2.3 OpenWRT介绍 (6)

2.2.4路由器硬件介绍 (6)

2.2.5开发环境的介绍 (7)

3 新浪微博API (8)

3.1 新浪微博API简介 (8)

3.2 开发流程技术规范与指南 (8)

3.3 新浪微博OAuth2.0 (9)

3.4发送图片API介绍 (10)

4 OpenWRT内核定制与交叉编译 (11)

4.1 OpenWRT-DreamBox介绍 (11)

4.2 OpenWRT编译过程介绍 (11)

4.2.1准备工作 (11)

4.2.2获取OpenWRT-Dreambox源代码 (11)

4.2.3编译OpenWRT-DreamBox和SDK (12)

4.3 feeds工具的介绍 (12)

4.4 OpenWRT内核与软件包定制 (12)

5 基于V4L2与Libjpeg的USB摄像头图像采集 (14)

5.1图像采集系统简介 (14)

5.2 V4L2的简介 (14)

5.3 Libjpeg的简介 (14)

5.4 基于V4L2的摄像头图像采集基础 (15)

5.4.1 V4L2的功能介绍 (15)

5.4.2 V4L2的数据交换方式 (16)

5.4.3图像采集系统设计 (17)

5.5 V4L2图像采集程序的实现 (17)

6 基于Libcurl的新浪微博客户端 (22)

6.1.新浪微博的开发背景 (22)

6.2新浪微博开发的基本流程 (22)

6.3微博软件总体介绍 (22)

6.4微博软件实现 (23)

6.4.1 Libcurl编程流程 (23)

6.4.2 PC端授权软件 (24)

6.4.3路由器端微博软件 (26)

7 访客检测的实现 (27)

7.1 访客检测系统简介 (27)

7.2 方案论证 (27)

7.2超声波测距在访客检测上的应用 (28)

7.2.1超声波测距检测访客原理 (28)

7.2.2超声波检测访客具体实现 (28)

8 系统运行与测试 (30)

8.1 系统外形介绍 (30)

8.2 系统安装与运行 (30)

8.2.1 系统软件安装 (30)

8.2.1 系统软件运行 (31)

8.3 系统使用与功能 (31)

8.3.1系统使用方法介绍 (31)

8.4 系统测试 (32)

8.4.1系统功能测试 (32)

8.4.2系统性能测试 (33)

9 总结与展望 (35)

参考文献 (36)

翻译部分 (37)

外文原文 (37)

中文翻译 (44)

致谢 (49)

1 绪论

1.1研究背景和意义

IT业在21世纪的今天,一直是潮流的引导者,每一种潮流必定会打破原有的束缚,微博的出现是创新时代的标志,更是IT与生活的新的融合。

微博(英文名为micro-blog),即微型博客的简称,是随着互联网技术的发展Web 2.0应用的出现,出现了一大批以互联网社交为核心的服务与应用,微博它允许用户用简短的不超过140字的文字或者图片来随时随地更新自己的状态,微博不仅支持文字还支持图片、视频、音频、等多媒体的文件发布,每一个微博用户既是微博信息的发布者也是传播者和收益者,与传统博客不一样的是微博有以下几个特点[1]。

每个用户既是微博内容的创造者也是微博内容的传播者和分享者。与传统博客相比,微博具有如下特点:

(1)内容与结构简单

与传统博客不一样的是,微博发布的并不是一篇文章,传统博客强调文章的结构和文采还有语言的组织,因此博文的创作跟写一篇完整的文章区别不大,需要有逻辑性,还需要考虑文章前后的承接。也就是说,在Blog上写文章的相对来说还是比较困难和复杂的,比较费时。而微博就不一样,就算一个没有文字功底的人,使用微博只需要像发送短信一样,空闲的时候更新一下微博,发一条状态,微博就完成了。

(2)即时通讯和原创性。

微博简单的不足140个字符的信息,特别适用于移动终端的用户的使用,例如手机平板电脑,无论在候车室的等车,还是在是等候咖啡,或者是吃早晨,都可以拿出手机打开微博,发送自己的状态或者关心别人的状态。因此,微博具有较强的实时通信能力,微博上的内容很容易转发,但是依然保持原创者的信息,并且在大量用户的微博世界里,虚假信息或者抄袭信息很容易被网友给揭发。并且近些年微博依然成为了一种公共媒体,其真实性、实时性甚至已经超过了传统媒体。

(3)更强的交流特性。

微博的使用不仅仅是发微博,其强大的转发个评论特性,注定了微博的交流特性更强,其直观,简洁的信息十分便于传播和阅读。其大量的移动终端注定了微博在我们生活中无处不在。微博发展到现在已经成为了一个交流与分享的平台。

微博强大的功能注定了基于微博的应用将会十分火热,现如今基于微博API的各类应用数量已经超过十万,而且仍有上升的趋势。微博带给我们的不仅仅有各种信息的实时传递,更拉近了人与人之间的距离,改变了人们的生活方式。

本文研究的内容为会发微博的安全门设计与实现,研究本设计的意义在于:

(1)会发微博的安全门采用人们熟知的方式,将微博应用与家庭安防结合在一起,对于使用者而言,使用这样的安全门更加容易和方便;查阅家庭信息时不用专门的客户端,不限平台与所处的环境,无论用户在哪里,只需要拿出手机或者打开微博,刷新微博就可以知道自己家庭的安全情况。

(2)会发微博的安全门实现发微博的客户端时采用了嵌入式软硬件平台,是微博应用程序的一种创新,在国内属于首创,同时也为微博未来的发展开辟了一个新的方向。

(3)会发微博的安全门是一个智能网络终端,同时也是物联网应用的一个实例,对于物联网而言本系统最大的意义在于用一种人们所熟知的软件平台将物联网引入人们的生活。

(4)当前新浪微博的开发几乎都是基于官方提供的SDK来进行开发的,受平台的限制,例如在塞班系统上就不能开发微博应用。本系统设计的同时意在探究出一种通用的微博客户端的开发方式,即在不使用SDK的环境下进行微博客户端的开发,为以后新的操作系统开发微博应用提供范例。

1.2国内外微博的发展阶段

微博的起源是来自于美国的的Twitter,现在全球最著名的也是Twitter,根据有关报道,截至今日,该产品已经遍布全世界,截止2012年07越Twitter用户数突破5亿大关,成为仅次于Facebook的第二大社交网站,Twitter预计2013年用户达10亿,国内新浪微博自2009年出现到现在,拥有超过3亿注册用户、超过30万认证用户,其中有13万多家企业与机构账户。

1.3微博应用的发展动向

微博平台的开放接口分两大类,一类是微博连接;一类是微博应用。

如今新浪微博上开放平台上的应用现在被分娱乐,生活和工具三大类,下面几个小类:

(1)测试类应用

(2)工具类应用

(3)商务和垂直类应用

(4)客户端

进过调查分析新浪微博开放平台上的应用,纵观所有分类的应用无一例外都是基于新浪官方开放API做出来的手机或者个人计算机端的应用程序或网站应用。所有的应用没有摆脱平台的限制,有个人计算机或手机的地方才有微博,换句话说有人的地方才有微博,从某种角度来讲这种固有的开发模式已经阻碍了微博应用的发展;因为在这个世界上物的数量是远远超过人的。本系统的设计不仅仅是设计出一种能发微博的安全门,而是提出一种概念,“微博无处不在”,想想一下未来的世界,所有的电子,电器设备都可以发微博,洗衣机洗好衣服了发一条微博@你,饭煮好了发条微博@你等等。微博这样一种交流的平台,不应受限于硬件平台,而该被应用于生活中的各个领域。

1.4课题内容及论文结构

1.4.1课题内容

本课题主要研究了在嵌入式平台上,无SDK环境下,设计并实现一种会发微博的安

全门,并提出了,“微博无处不在”的概念,即在嵌入式平台上实现微博的应用,并使系统有一定的自主性。本课题的内容包含以下内容:

(1)如何使用新浪API开发新浪微博客户端。

(2)Linux下嵌入式应用程序的开发流程与方法的研究。

(3)基于OpenWRT的Linux内核的编译与交叉编译环境的搭建。

(4)基于Libcurl库下的HTTPS协议的使用,开发新浪微博客户端。

(5)基于V4L2库开发OpenWRT下的摄像头拍照应用程序设计。

(6)基于Libjpeg的实现YUYV格式到JPEG压缩格式的转换。

(7)Linux下串口测距应用程序的设计与实现。

本课题通过以上内容的研究和相关技术的实现,最终设计实现当有人靠近制定安全门时,安全门上的超声波传感器检测到有障碍物在门前,并通知摄像头拍照程序拍照,USB摄像头将拍回来的YUYV格式的数据传输给系统,系统通过相关程序将数据压缩成为JPEG格式的照片,然后微博客户端发送图片到微博上。

1.4.2论文结构

本文分为九章,各章节安排和简要介绍如下:

(1)介绍了本课题研究的背景和意义、国内外微博的发展历程、微博应用的发展方向和本课题研究内容和论文结构。

(2)介绍系统整体架构,软硬件平台,开发环境的介绍。

(3)介绍了新浪微博和新浪微博API,认证与开发文档,以及应用的开发流程。

(4)软硬件平台的选型和OpenWRT内核定制,交叉编译,应用开发的介绍。

(5)研究基于V4L2和Libjpeg实现USB摄像头拍照并压缩为JPEG图片。

(6)研究基于Libcurl实现会发图片的新浪微博OpenWRT客户端的实现。

(7)研究Linux下串口编程并实现超声波测距检测访客。

(8)系统运行与测试情况介绍。

(9)对论文进行总结并与展望。

2 系统架构概述

2.1系统整理论述

2.1.1会发微博的安全门结构组成

会发微博的安全门一种新型的微博应用的方式,是现代交流平台与嵌入式系统的结合。从功能上看本系统设计是主要有4个模块构成:访客检测模块,图像采集模块,信息处理模块以及网络。系统设计模块结构框图如2.1所示:

图2.1系统结构框图

为了是实现以上4个模块的功能,在硬件设计上采用了支持OpenWRT的路由器作为网络连接模块和信息处理中心,采用USB网络摄像头作为图像采集传感器,采用超声波测距模块作为访客检测模块的传感器,供电采用的是5V供电,既可以采用移动电源可以采用USB供电。系统硬件结构如图2.2所示:

图2.2 系统硬件结构图

系统各个模块设计时采用的是模块化的设计思路,而模块之间的链接采用的是标致接口。采用路由器不仅仅可以作为系统信息处理中心,而且路由器提供了USB和串口的

标准接口,并能实现有线和无线的链接上网,使系统设计中减少了一些不必要的工作。系统运行时通过读取访客检测模块数据,检测到有人靠近安全门,如果在一定安全距离范围内停留一段时间,就将有访客的信息通知信息处理中心,信息处理中心通过调用图像采集模块,将访客的图像信息采集并保存,采集完成之后需要联网,并通过信息处理中心的微博应用程序将采集的图片上传至指定的微博。系统的信息处理如下图所示:

图2.3 系统信息处理流程

2.1.2会发微博的安全门系统特点

传统的微博应用一般是在个人计算机端或者是智能手机端,其高昂的价格使其不能达到物联网“让每一个物体都能上网”的目标。价格的限制使微博只能应用于人与人之间的交流的工具,以及信息获取的平台。随着IPV6的出现解决了IPV4地址枯竭的问题,相信未来像微博这样的互联网的应用将会越来越广泛。这样广泛的需求,注定了未来互联网终端将向低价格,便携性,低功耗的产品趋势靠拢。本系统设计采用了嵌入式系统,恰恰是实现了这样的目标,本系统与传统个人计算机与智能手机相比它有以下几个特点: (1)在价格与性能上与传统的个人计算机相比:本系统采用了嵌入式芯片与嵌入式操作系统,自然在性能和计算能力差距很大,但是其低廉的价格也是个人计算不可比拟的,整个系统的硬件成本费用只需要百元左右。

(2)在可扩展性方面与传统个人计算机和手机相比:传统个人计算机个手机的输入输出设备或传感器是基本上固定的,比如键盘,屏幕,麦克风,耳机,智能手机的重力传感器,GPS,方向传感器等都是固定的,不具有可扩展性,不能实现个性化的定制,嵌入式通过驱动程序的移植和开放的硬件接口能轻松的实现对硬件传感器的扩展。

(3)操作系统与硬件配置与传统计算机相比:本系统采用了嵌入式Linux系统,能实现充分的裁剪,以最小的资源占用实现系统所需要的功能。系统编译后,包括内核和文件系统在内只有3M左右。能运行在较低配置的环境中。在硬件配置上和传统计算机的配置有很大的不同,相对与传统计算机和智能手机动辄上G的内存,和10G甚至是百G的硬盘而言,本系统所需资源相对较少,8M的flash,64M的RAM,但是功能却不低,支持有线和无线上网,支持HTTP服务器,并能通过IPK安装的方式安装应用进行扩展,简直就是一个小型的服务器。

2.2会发微博的安全门平台介绍

2.2.1平台总体介绍

完成会发微博的安全门需要相应的平台进行支持,进过分析,这样的平台需要具有以下几个功能:

(1)可以实现TCP/IP协议栈,并能实现网络连接。

(2)可以支持网络编程并能实现摄像头的驱动移植和编程。

鉴于需要摄像头的网络应用,选择操作系统的时候第一时间选择了Linux。Linux因其开放的特性,拥有大量的程序设计实例和各种开源库的支持,易于实现应用Linux系统下的V4L2库摄像头编程,同时Linux完美的支持TCP/IP协议栈。在选择哪个版本Linux时,考虑到成本以及开发难度等问题,选择OpenWRT版本,并选择能移植OpenWRT的路由器。OpenWRT路由器自带拨号功能,同时还可以作为无线客户端进行连接上网。因此,OpenWRT版本的Linux完全可以满足系统设计的需要。

2.2.3 OpenWRT介绍

路由器的操作系统的一般称为固件,故名思议,固件一般都是固定的不可以修改的,市场上常见路由器的操作系统的文件系统是不可以被修改的,而OpenWRT则不一样,OpenWRT的是一个Linux的路由器版本,编译之后生成的不是一个固件,而是一个包含内核与可读写文件系统的操作系统包[2]。编译时通过不同的配置可以实现个性化的定制,OpenWRT烧入路由器后,该路由器可以看成一个低配置的电脑,在可读写的系统上可以使用OPKG来进行软件包的安装,加快了开发的效率。

OpenWRT支持的路由器很常见,价格便宜往往在网上可以购得只需要百元左右,将购得的路由器进行简单的改装扩展FLASH和RAM,就可以以得到一个400MHz甚至更高主频的CPU,8M FLASH,64M RAM的嵌入式系统,OpenWRT的内核是Linux操作系统源代码开放。

使用OpenWRT的最大优势在于不用将开发的时间和精力花在嵌入式开发的前几个阶段例如:内核的移植,交叉编译环境的搭建等。因为这些工作早在OpenWRT开源库中已经包含,已经有人设计并做好了,只需要在编译的时候通过图形化的配置即可[3]。可以将嵌入式的开发更多的精力花在应用的程序开发。作为OpenWRT开发者只是需要对Linux有一定的认识,并想学习嵌入式Linux的开发,入门门槛极低。

随着OpenWRT技术的成熟, 大量不同的处理器内核和应用软件相继出现, 当开发者熟悉嵚入式Linux 的基本开发流程后, 可以不再局限于MIPS 处理器和无线路由器, 可以尝试在其它处理器, 或者非无线路由器的系统移植嵌入式Linux, 定制合适自己的软硬件, 并建立一个完整的嵌入式产品。

2.2.4路由器硬件介绍

本系统采用的硬件平台是普联公司出产的TL-WR703N,如图2.4所示:

图2.4 TL-WR703N实物图

TL-WR703N是有TP-LINK公司出产的一款3G无线路由器。TL-WR703N是一个小巧路由器,尺寸仅为57mm×57mm×18mm,面积仅信用卡的一半,携带轻便,使用轻巧。

TL-WR703N采用了外置电源,提供Micro USB电源接口,可以通过随机附带的TP-LINK高品质电源适配器供电,也可通过电脑USB接口或手机充电器供电,省去携带一大堆电源适配器的烦恼。

2011年9月21日晚,OpenWRT释出了wr703n的官方源码实现了WR703N对OpenWRT的支持。

本次系统采用的是改装版本的TL-WR703N原产的路由器的硬件参数为:

(1)主芯片:AR9331,集成了无线网卡有线网卡CPU等全部功能;

(2)RAM:4-bank x 4194304-word x. 16bit DDR,6MB容量;

(3)FLASH:FL032PIF ,4MB容量的串行Flash。

为了使系统运行更加流畅加大了RAM到64M,FLASH升级为8M。并引出了系统的TTL线,用于连接超声波测距离。

2.2.5开发环境的介绍

(1)操作系统:本系统开发环境为Fedora16,Fedora 是一款基于Linux 的操作系统,也是一组维持计算机正常运行的软件集合。Fedora 由Fedora Project社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由和开源的操作系统。

(2)代码管理软件:因为OpenWRT官方开源采用了SVN来获取代码,所以开发时需要在Fedora下安装SVN。SVN(subversion)是CVS的接班人,是近年来比较流行的版本管理工具。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。

(3)编译工具:另外,根据OpenWRT官方介绍编译OpenWRT还需要一些工具:binutils bzip2 gcc gcc-c++ gawk gettext flex libz-dev flex ncurses-devel zlib-devel make patch unzip perl-ExtUtils-MakeMake以上就是这些库在fedora源中的名字[4]。

本系统的开发环境就是在Fedora16并配套一系列编译OpenWRT所需的工具。

3 新浪微博API

3.1 新浪微博API简介

API全称为应用程序编程接口。新浪微博的API是为新浪微博开发微博应用而提供的应用接口,通过新浪微博API开发的应用程序可以使用新浪微博开发平台提供的用户资源,接口资源。相对于其他应用平台新浪微博提供的开放平台有以下几个特点[5]:(1)数量巨大的用户群

高数量的用户永远是应用程序盈利的关键,新浪微博从发布至今注册人数已经超过3亿,活跃人数达到一亿。

(2)多样化接口资源

新浪微博官方API文档中提供了至少200个用户编程接口,包括图片微博,文字微博等,根据官方统计新浪微博日调用数量达到250亿次。

(3)多语言的支持,多平台的切换,和永久免费的特性。

在新浪微博的官方网站https://www.doczj.com/doc/eb14164429.html,,可以找到支持多种语言的SDK包,支持C,C++,JA V A,PHP等多种语言,支持iOS、Android、WP7,windows,Linux多种操作系统平台。使用新浪微博官方提供的SDK可以轻松实现发微博,读取微博等微博常用功能,降低了开发者的开发门槛,当然也可以不使用SDK,自行开发。本系统采用底层网络操作函数直接使用新浪微博API开发模式进行开发。

3.2 开发流程技术规范与指南

新浪微博开放平台基于微博强大的传播能力、海量用户,为应用提供展示平台与发展空间,构建高度社交特性的应用。使用新浪微博开放平台可以迅速开发富有创新力的站内应用、无线应用、专业版应用,等基于微博的应用。官方文档介绍了如何使用新浪微博来进行应用的创建,发布等流程,如图3.1所示:

图3.1 新浪微博开发流程

根据官方文档介绍,新浪微博应用的开发可以分为简单的六个步骤:

因为本次毕业设计并非设计一个商业化的应用,开发主要设计前三个步骤即:成为开发者,创建应用,开发测试。下面将对着三个步骤做简单的介绍:

(1)成为开发者

在新浪微博开放平台网站上,可以通过注册,登录成为开发者,每一个账户可以创建并管理最多10个应用。

(2)创建应用

在新浪微博的页面点击“创建应用”,即进入目标应用的类型选择环节。根据应用类型的提示,选择相应的应用创建流程。开发者信息设置,开发者信息在设置页填写真实

资料。成为新浪微博认证的开发者,这个阶段需要通过邮箱验证和手机验证。在应用信息处填写应用相关的信息,包括应用的名称,应用简介,应用地址等信息。

(3)应用的开发

应用开发是所需要经历的过程主要有一下三个过程:

①.获取申请APPKEY:这个过程已经在创建应用时完成,可以在应用信息中查询得到。

②.OAUTH认证:OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。可以简单的理解成为用户登录认证的过程。

③.接口的使用:接口使用的方法有两种,第一种是使用新浪微博官方所提供的SDK,另一种是直接使用API文档中说提供的HTTPS的POST或GET方法来使用,即自己实现SDK。因为本系统使用的是嵌入式平台OpenWRT,SDK相对较大并且移植较为护照,不适用于嵌入式平台的只有8M大小FLASH,另外本系统所需要的应用接口并不多也不复杂,不需要功能强大的SDK来支持,所以本系统设计时采用的是用HTTPS的POST 或GET方法来使用新浪微博的API。

3.3 新浪微博OAuth2.0

如果要使用新浪微博的API,其中大部分API的访问,例如发表微博、获取私信,关注都需要用户身份的认证,目前新浪微博开放平台用户身份鉴权有OAuth2.0和Basic Auth(仅用于应用所属开发者调试接口),新版接口也仅支持这两种方式。但是核心采用的是OAuth2.0,其主要原因在于:OAuth2.0较1.0相比整个授权验证流程更简单更安全,也是未来最流的用户身份验证和授权方式。

其主要认证流程如图3.2所示:

图3.2 OAuth2.0认证流程

关于OAuth2.0协议授权流程查看OAuth2.0授权流程,其中Client指第三方应用,Resource Owner指用户,Authorization Server是我们的授权服务器,Resource Server是API服务器。

3.4发送图片API介绍

新浪微博给开发者提供的API接口多达200多个,但是在本系统所需要的微博API 却很少,进过分析,本系统所需要的功能为拍照并发送微博,也就是只是需要一个上传图片并发布一条微博的接口即可,查询官方API文档,查询到下面的接口:API名称:statuses/upload

API功能:上传图片并发布一条新微博

API的URL:HTTPS://https://www.doczj.com/doc/eb14164429.html,/2/statuses/upload.json

API的请求方式:POST

API的请求参数如下表:

[6]

请求必须用POST方式提交,并且注意采用multipart/form-data编码方式;

相关主题
文本预览
相关文档 最新文档