【参与项目一:公司图书借阅网站】
1. 内容简介:
公司的图书统一管理平台,在这个网站上完成已有书籍的显示、管理等操作。
2. 学习技巧:
这个项目并不难,主要是数据的录入,以及了解下公司的执行流程,与高怀恩博士的沟通合作。
从中学习到的技巧有:
2.1 网页信息的抓取
我们要从已有的网页中抓取我们需要的内容,则需要理解网页html、jsp文件的内容模块。如我们需要抓取该网页上的书籍的题目时,分析网页的结构,抓取<title></title>标签内的内容即可。
主要是对网站文件内容的分析以及抓取。
分析网页的基本的框架,了解其组织的结构,就可以方便获得我们想要的内容。
2.2 信息的录入
录入公司已有的书籍信息,这个主要是工作量的问题。
3. 感触体会:
由于之前接触过JAVA架设网站,这个并不难入手,主要是阅读理解代码,对网页信息抓取的部分。
4. 所得总结:
网页抓取的方法
【参与项目二:云浮触摸茶几FLASH显示】
1. 内容简介:
在公司新购的触摸茶几上,编写FLASH程序,响应用户输入。界面显示如下:
即将平常遥控器的功能,转换到触摸茶几上,当用户触摸时,处理相关操作,如选台等。
2. 学习技巧:
这个项目主要由我和张勇完成,我负责触摸茶几上的显示部分,张勇负责实际命令的控制。
2.1 FLASH程序的编写
之前接触FLASH程序的编写比较少,但项目时间较赶,所以是通过一些例子程序来入手。
通过观察模仿别人的例子,可以较快入手,进行修改后可以实现我们自己的需求。
在这里主要学习到的是如何编写FLASH程序,包括ActionScript语言的使用、FLASH添加动作的操作、素材的控制等。
应用这些,完成如上图显示的显示界面。
2.2 FLASH显示相对坐标
FLASH有两个坐标,一个是全局坐标,一个是相对坐标。在编写程序时需要使用好,不然会造成实际事件响应的位置的偏差。
2.3 触摸事件的响应
触摸事件的响应由厂商提供的库实现。当时厂商也仅提供了几个例子,而没有这些库的API函数的具体说明。所以,学习的方法也是通过观察模仿厂商的例子,以及网上的搜索。
再者,同时实验的方法,也可以知道触摸事件库里各事件的响应机制。
2.4 FLASH调用外部程序(安全机制)
我负责的是FLASH显示部分、触摸处理部分,当检测到响应的触摸事件,需要调用外部的exe来执行操作。如检测到选择1台的事件,需要调用选择1台的exe来执行操作。
这里涉及到FLASH的安全机制问题。随着FLASH版本的不断改进,它的安全限制也越来越严格,在调用外部exe程序时,需对它的安全性进行处理。
3. 感触体会:
主要是各种方法的权衡选择、赶项目进度的处理等。
3.1 接触新的东西时,如果没有时间从基本的语法、结构等学起,可以通过对例子程序的学习入手,观察模仿例程对相关函数的使用,通过小实验来验证函数功能等。
3.2 当一个问题有多种解决方法时,根据项目的需求限制,选择使用最适合的方法。如由于时间较赶,采用flash调用外部exe的方法进行控制,这样的分工可以同步进行,节省开发时间。
3.3 当遇到问题时,多尝试,多与厂商沟通。当发现触摸的处理有偏差时,与厂商沟通,确保其硬件没问题,再去检查,才发现是FLASH相对坐标的偏移问题。
4. 所得总结
ActionScript语言应用,触摸事件应用,Flash使用
【参与项目三:基站板程序(旧板)】
1. 内容简介:
参与到扩展性家庭网络的研制中。主要负责基站板串口转网口芯片的软件。
2. 学习技巧:
初步接触到单片机芯片的控制程序。了解单片机的有关操作,比如单片机串口的使用等。并且,接触到TCP网络的连接,了解TCP协议以及连接、传输数据等的应用。
单片机网络通信模块,主要是与后台服务器建立连接,将从仪表发来的数据,封装成TCP/IP包,在网络上发送,并将从后台服务器发来的数据包,提取信息,控制仪表的工作。这里主要的研究点是精简的TCP/IP协议栈——ZLIP的研究。需要了解它是如何实现基本TCP/IP操作的。
2.1 ZLIP协议的了解及应用
要使用单片机接入互联网,则需在单片机上实现TCP/IP协议。
在单片机上由于存储内存等的限制,需要有嵌入式的TCP/IP协议。在旧版使用的是ZLIP。
对ZLIP工作方法、提供接口等进行研究。
2.2 单片机上网板整合
按照工作的方式需求,需要对单片机进行串口的操作,使用串口进行通信。
2.3 整合
由于基站需要同时处理网口、串口的数据,而且这些数据的到来,都是采用类似的中断触发的方式,所以需要设置好系统的运行方式,在响应各种类似中断的事件后,可以回归到正确的运行状态。
这里采用的是状态转移的方式。
3. 感触体会:
参与到大的团队工作中,除了自己部分内容外,还有就是团队的协调、讨论、制定方案。
3.1 对ZLIP协议的掌握
对这个协议栈有了较深的理解。从初始接触一个协议栈,到阅读代码,了解其关键API、利用它进行程序设计。
3.2 对单片机操作的掌握
对单片机的一些基本操作,如串口操作等,有了实际操作经验。
3.3 状态转移模型的设计
对系统运行采用状态转移的设计形式,使得系统在多突发情况下,也能稳健运行。
3.4 团队协作
总体协调,对整个系统的运行方式的合理性进行讨论,制定合适方案。
4. 所得总结:
协议栈、单片机
【参与项目三:基站板程序(新板)】
1. 内容简介:
将原来的系统,移植到新基站板上。使用亚信的芯片。
2. 学习技巧:
系统运行方式一致,但使用了不同的芯片,它提供的协议、操作方式等也不同。
2.1 系统移植
亚信芯片,具有它自己定义的精简TCP/IP协议,要使用它提供的API函数,来运行。
亚信芯片的功能更为强大,所以,它的运行方式更为复杂。准确定位各部分工作的内容,在适当的位置,应用适当的API进行操作,是系统移植的一个大难度。
同时,亚信芯片有配置的需求,对他们提供的文档也需进行了解,知道操作的方法。如烧录程序的方式,如对EEEPROM进行配置等操作以及其原理。
2.2 与公司的交流
有很多问题,需要和亚信公司进行直接的交流,这时,锻炼了沟通的技巧。打电话、邮件说明,甚至是直接去到他们公司的交流。
3. 感触体会:
由于有了之前旧版的开发经验,以及和公司直接的交流,这里的工作较为顺手。只是卡在硬件问题上较久。
3.1 对产品文档的理解
每个产品,有它独特的运行方式。如在旧板上,就不需要进行EEPROM这些的设置即可进行串口的操作。但是,新板有它的规定。所以,要对文档有较深理解,重点掌握我们需要使用到的部分。
3.2 沟通交流
由于设计的思想等,与旧板相似,所以在程序上并未花费较多时间。但是在软硬件配合问题上出现较大问题。
开始未明确,出问题时候到底是软件问题还是硬件问题,所以大家无从下手,或者乱搞一气,导致效率低下。
这也是由于硬件在设计时,可用引脚较少,无法单独调试某个芯片造成。
4. 所得总结:
文档阅读、系统移植、团队配合
【参与项目四:Enocean设备】
1. 内容简介
配置使用Enocean设备。Enocean设备采用绿色环保、无线传输的设计技术。我们的任务是将Enocean设备配置起来,作为数字家庭展示的一部分。并完成采集Enocean设备发来的信息,进行如温度显示等功能。
2. 学习技巧
2.1 阅读文档配置设备
对于每个Enocean设备,有绿拓公司提供的文档说明,通过阅读文档,配置设备。再结合我们的需求,使用设备,如采集温度传感器的数据显示温度等。
2.2 对数据包的分析
每个设备会发来不同的数据包,分析数据包,提取出我们有用的数据进行处理。
对数据的归类,分析的能力。
3. 感触体会
3.1 设备配置与数据分析
对设备的工作方式的理解。
3.2 应用场合
需要根据现有的功能,提出这些功能的应用场景。如现有温度传感器,它会定时发温度数据,那么可以使用一个服务器来接受这些信息,然后将其记录在数据库里。
也根据我们要实现的工作,在设备里查找解决的方案。如为实现安防功能,将温度传感器中的人体感知数据提取出来。
4. 所得总结
设备使用,应用场合设计
【参与项目五:扩展性家庭网络配置程序】
1. 内容简介
使用软件配置的形式,对基站、终端等参数进行配置,如IP,PANID等。
2. 学习技巧
2.1 芯片flash空间的操作
将一些可变的参数,如IP地址等,不写死在芯片上,而采用一种可配置的形式,这样更适合多变的环境要求。
这时,就需要对芯片flash进行操作。
2.2 配置工作方式
仍在商讨中。初步的计划是,采用两个IP,一个是固定IP(写死在程序上),这个IP用于配置。一个是可变IP,实际工作的IP。当实际工作的IP起作用,表示程序正常运行,否则,表示它处于配置状态。
3. 感触体会
主要是工作方式的讨论,如何确定现在是在配置状态,还是正常工作状态。
4. 所得总结
工作方式的确定
【参与项目六:产品化】
目前正在参与产品化工作中…