【因本人将新浪博客迁移到独立博客中,请移步本人独立博客查看:《LabWindows/CVI入门教程》,那里会有这篇文章的最新更新】
--------------------------------------------
7.1 聊天机器人
任务
用CVI,通过SimSimi的API实现聊天机器人的功能。
基本要求
Ø
实现与机器人聊天的功能。
Ø
最新更新的文字必须出现在文本框可视范围内。
Ø
可选的按回车或Ctrl+回车发送文本。发送文本后,焦点仍在输入框内。
Ø
每次关闭程序时,都需要将当前聊天记录保存到数据库中,并可由用户随时查看。
扩展功能
Ø
利用CVI实现更绚丽、更人性化的界面。
Ø
可在实现基本功能的前提下扩展诸如语音对话等功能。
http://s16/middle/6373e9e64daedbb2e050f&690
图 7‑1 聊天机器人示例
7.2 网络爬虫
任务
用CVI实现网络爬虫,抓取1000个电子邮箱地址并存入数据库中。
基本要求
Ø
实现HTML解析的功能
Ø
多线程抓取页面文件
Ø
抓取的电子邮箱不允许重复
Ø
点击抓取的电子邮箱可以查看抓取的具体时间、页面地址
扩展功能
Ø
遵守robots协议
Ø
根据电子邮箱出现的上下文,使用程序推断电子邮箱的主人
Ø
依据类似的思路实现抓取网络上特定类型文件的程序。比如,抓取ti.com上所有的pdf文档的链接
http://s4/middle/6373e9e64daedbb376313&690
图 7‑2 网络爬虫示例
7.3 邮箱客户端
任务
用CVI开发邮箱客户端。
基本要求
Ø
支持常用的163、qq、gmail等邮箱,支持多账户切换管理
Ø
支持邮件的回复、转发、打印功能
Ø
支持带附件的邮件的查看与附件另存为。
扩展功能
Ø
支持发送带附件的邮件
Ø
支持关键词列表屏蔽
http://s9/middle/6373e9e64daedbb2bf6b8&690
图 7‑3 邮箱客户端示例
7.4 触摸屏用户体验优化
任务
用CVI实现将鼠标的拖动变成页面的滚动的功能。
基本要求
Ø
通过程序实现鼠标在带有滚动条的页面拖动时向指定方向滚动的功能,效果类似pdf阅读器中http://s12/middle/6373e9e64daedbb2c68cb&690 出现时的效果
Ø
开机启动,启动后即最小化到系统托盘中
Ø
允许用户通过指定的快捷键开启或关闭该功能
扩展功能
实现长时间按住鼠标时弹出右击菜单的功能
http://s1/middle/6373e9e64daedbb41c2b0&690
图 7‑4 触摸屏滚动示例
7.5 3D魔方教程
任务
用CVI实现用户可以交互的三阶魔方3D教程。
基本要求
Ø
在CVI中调用OpenGL的API实现三阶魔方
Ø
用过鼠标或键盘可以控制视角旋转、缩放、拖动、拨弄魔方的功能
Ø
具有教程模式,引导用户一步一步还原出原本的魔方
扩展功能
Ø
具有更绚丽的界面
Ø
实现双人联机挑战玩相同的魔方谁时间最短的功能
http://s5/middle/6373e9e607c4af9207854&690
图 7‑5 3D魔方教程示例
7.6 文件同步助手
任务
用CVI实现右击某文件/文件夹将对应文件上传到预配置的FTP中的功能并保持同步。
基本要求
Ø
右击某文件、文件夹即在菜单中显示出上传到×××FTP服务器的字样
Ø
上传过程中显示传输速度等必要信息,上传结束后,若无异常则窗口倒计时自动关闭,若存在上传失败的文件,则可以点击按钮重新上传,
Ø
支持多文件、文件夹的上传
Ø
支持多FTP账户的配置
扩展功能
Ø
支持指定文件/文件夹的同步功能,即当服务器或用户的文件更改后,另一方的文件也随即被更新
Ø
能根据同步日志,自动处理一般情况的异常(如双方同时被更改则谁先更新谁后更新的问题)
http://s2/middle/6373e9e64daedbb413441&690
http://s10/middle/6373e9e64daedbb45b2b9&690
图 7‑6 文件同步助手示例
7.7 数学绘图工具
任务
用CVI开发一数学3维函数绘图工具,自动缩放到最佳视角。
基本要求
Ø
输入函数表达式(默认一元函数x为自变量,二元函数x、y为自变量,并可自由设置),使用OpenGL绘制其图像
Ø
绘制的图像可缩放可拖动可旋转
Ø
支持( ) + - * / % & | ~ ^ abs acos asin atan atan2 ceiling cos
cosh exp floor ln log log10 max min pow rem round sign sin sinh
sqrt tan tanh trunc等操作符或函数
扩展功能
Ø
默认情况下,自动缩放到相对最佳的视角
Ø
具有色彩渲染功能,值越大的区域色彩越暖,值越小的区域色彩越冷
http://s12/middle/6373e9e64daedbb4ddc7b&690
图 7‑7 3维数学绘图工具示例
7.8 短信平台
任务
用CVI做后台实现通过网页控制GPRS模块发送短信的功能。
基本要求
Ø
建立服务器,可以接受浏览器传来的消息,并且可以控制GPRS模块发送短信
Ø
服务器将短信发送记录与用户登录记录等必要信息存在数据库中
Ø
写一个简单的网站,合法的用户通过浏览器或其他客户端登录后,可以向通讯录中的指定的人发送短信
扩展功能
Ø
用户登录短信平台后,可以以聊天界面实时接收信息
Ø
支持群发,短信接收方回复的消息显示在群对话框中
http://s16/middle/6373e9e64daedbb54ffaf&690
图 7‑8 短信平台用户界面示例
7.9 USB-HID设备制作
任务
使用单片机+USB接口芯片制作一USB HID设备,用CVI为其开发VISA驱动。
任务背景
我们可以通过使用单片机+USB接口芯片完成一USBHID设备,连接到Windows
XP及更高版本的操作系统上后无需额外驱动即可被自动识别为USB
HID设备。但这通常意味着开发者需要阅读几百页的USB协议pdf并在单片机上实现。开发过程繁琐而且一旦更换接口则单片机程序需要重新开发。
基本要求
Ø
制作一单片机+USB接口芯片的HID设备,使用CVI为其开发基于VISA的驱动,除了需要额外安装VISA驱动外,使用效果与正常USB
HID设备一样
Ø
若设备为USB键盘,则硬件上需保留三个必要的指示灯(CapsLock、ScroolLock、NumLock),并能正常指示
扩展功能
Ø
驱动程序支持接口选择。即在软件中配置HID设备输入接口为串口、并口或者其他任意计算机上的通信接口时,同一协议不同接口的HID设备依然可以正常使用
http://s12/middle/6373e9e64daedbb5928ab&690
图 7‑9 VISA接口的USB HID设备示例
7.10 图书条码识别信息获取
任务
使用CVI+USB摄像头识别图书的ISBN条码并通过豆瓣API获取图书信息。
基本要求
Ø
能够通过摄像头采集图像并识别图像中的条形码
Ø
能够通过豆瓣API获取识别的条形码所对应的图书的封面、书名、出版社、评分等信息
Ø
能够保存识别的历史记录
扩展功能
增强各种环境下识别条形码的能力
http://s11/middle/6373e9e64daedbb5c2c2a&690
图 7‑10 图书条码识别信息获取软件示例
7.11 高速任意波形发生器
任务
使用CVI开发任意波形发生器的驱动及程序部分。
基本要求
Ø
开发任意波形发生器的驱动程序,支持目前主流的Windows操作系统
Ø
开发波形发生器软面板部分,支持正弦波、方波、三角波(锯齿波)、脉冲输出、任意周期波形(手绘波形以及自定义波形文件)、任意电平输出
Ø
每种波形都具有可配置的频率、幅值、直流偏置、相位、占空比设置等可供设置
Ø
支持通道关闭与通道开启
扩展功能
Ø
支持高斯噪声、粉色噪声、褐色噪声输出,支持音频文件(*.wav)输出功能
Ø
支持管理多个设备
Ø
支持将波形从一个通道复制到另一个通道
Ø
具有绚丽的、符合工程师使用习惯的GUI
http://s12/middle/6373e9e64daedbb6630cb&690
图 7‑11 高速任意波形发生器示例
加载中,请稍候......