中文


[毕设笔记]利用Android手机的传感器进行APP开发

自己的毕业设计是用安卓手机控制无人机。今天尝试了下读取安卓手机传感器的信息,通过手机的重力感应器,通过手机的倾斜来控制无人机的飞行方向。 基础知识 安卓手机配置的传感器有加速度传感器(Accelerometers),陀螺仪(Gyroscope),电子罗盘(Magnetic),光传感器(Illumination),距离接近传感器,环境温度传感器(Ambient Temperature)等。 一般的安卓手机都会配置前三个传感器,这也是我们本文所要讨论的重点。 获得手机的姿态 有趣的是,手机内置的陀螺仪(Gyroscope)的直接输出并不是角度而是角速度。这和我们的常识有些违背。原因是包括手机在内的很多电子设备中内置的陀螺仪,是利用震动物体在旋转时产生的科里奥利力来检测角速度,通过计算而间接地得到角度。而不是利用我们平常见到的那种巨大的依靠角动量守恒而保持旋转轴指向不变的陀螺仪来直接得到角度数据。 上图:微电机陀螺仪获得角速度的原理 必须指出,如果单独用陀螺仪获得角度的话,需要对角速度在时间上积分。这带来了累积误差。并且,陀螺仪本身会发生漂移,导致误差会随时间急剧地增大。为了减小误差,我们必须利用其它的传感器,比如加速度传感器来进行互补融合计算,减小误差。 多传感器融合算法 为了抵消陀螺仪的累积误差和漂移误差,我们往往用加速度传感器进行修正。


申请总结 — 最终去向 耶鲁大学

基本信息 浙大计算机专业本科,竺可桢学院混合班 GPA: 3.92 / 4 Top 2% in CKC TOFEL: 105 GRE: 152 + 170 + 3.0 经历:国家奖学金,大三在香港大学交换,无论文,无实习 推荐信:香港大学工程学院副院长 个人主页: www.bo-song.com 申请方向 美国CS Master,DIY申请。 申请结果 Accept: Yale CS MS Admission: CMU MIIS, Cornell CS MENG, Yale CS MS, UCSD CS MS, USC CS MS Rejection: CMU MS CS, CMU […]


【实习日记】在Tomcat上部署Spring boot

用Spring Boot开发的Web工程,在本机的Eclipse中Run as Spring Boot可以跑通,但打包成war在Tomcat上却跑不通。 首先这篇文章介绍了部署Spring Boot到Tomcat上的一般方法。但是我的程序抛出了一些奇怪异常。 java.lang.NoSuchMethodError: org.springframework.util.ClassUtils.isPresent(Ljava/lang/String;Ljava/lang/ClassLoader;)Z 一番搜索之后,发现了这篇文章。于是怀疑是版本冲突,Spring过低的原因。 但自己并不知道如何确定工程中Spring的版本,pom.xml中并没有给出版本号。 <?xml version=”1.0″ encoding=”UTF-8″?> 4.0.0 <groupId>org.test</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.3.RELEASE</version> <relativePath/> <!– lookup parent from repository –> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <start-class>demo.DemoApplication</start-class> <java.version>1.7</java.version> <hibernate.version>4.3.5.Final</hibernate.version> <tomcat.version>7.0.59</tomcat.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!– […]


【实习日记】Spring中JSON与类的绑定

1. 设计与前端交互的JSON接口(登陆与注册部分) 参考了这个JSONAPI设计规范 http://jsonapi.org/ 2. 用Wireshark抓包,分析本机发出的HTTP请求是否带上了要求的HEADERS 3. spring request得到的response不能直接绑定成对象,需要先用string接收,然后用jackson转换 import com.fasterxml.jackson.databind.ObjectMapper; ObjectMapper mapper = new ObjectMapper(); try { ress = mapper.readValue(reStr, Response.class); System.out.println(ress.getCode()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 在jackson转换时,需要把映射类的setter和getter函数写好。否则会转换错误 如果json中没有对应的变量值,jackson会把相应的成员变量置为null。  


2015杭州出国留学体检&疫苗攻略

办理地点:杭州市中河中路230号 浙江国际旅行卫生保健中心 办理时间: 体检:周一至周五 上午8:00-10:45 疫苗:周一至周五 下午2:30-4:00 所需材料: 1. 身份证原件; 2. 四张两寸白底照片; 3. 国外学校发给你的疫苗、体检表格; 4. 600+的现金。 学校表格一般长这个样子,可以在checklist或邮件中找到 注意事项: 1. 早上体检需空腹,因为要验血验尿; 2. 如果你还能找到出生时的接种证,请带着,可以让你少挨几针。否则需要再打一遍; 3. 杭州打不了TD疫苗,推荐到美国接种; 4. PPD不能在周四打,因为需要在48-72小时后再去检查皮试结果; 5. MMR需要打两针,且需间隔28天以上,请合理规划时间; 6. 如果你在浙大玉泉,推荐UBer过去。20分钟,11元左右。(30元优惠码BOS95)^^ 流程: 1. 先到一楼的问询窗口把体检、疫苗表格给工作人员,她会帮你看需要体检哪些项目,注射哪些疫苗; 2. 到二楼进行体检项目。按着她给你的表格背面顺序来。全程大约20分钟; 3. 下午到二楼进行疫苗注射。全程大概5分钟。   本文可随意转载。   祝大家扎针愉快。   2015.4.21 于浙大玉泉


【实习日记】Spring MVC的数据库操作,与易信IM对接

一、Spring MVC的数据库操作 这篇博文写的很好,例子很经典: http://blog.netgloo.com/2014/10/27/using-mysql-in-spring-boot-via-spring-data-jpa-and-hibernate/ 简单来说,对于一个形如 ========== int | varchar id  | name ========== 这样的数据表单,我们先构建一个对应的Model类 @Entity //标定该类是一个Model类 @Table(name = “user”) //标定该类在数据库中对应的表单名字为user Class User{ @Id //自动生成的id主键 @GeneratedValue(strategy = GenerationType.AUTO) private long id; @NotNull //name字段非空 String name; Public User(){} //Getter and Setter methods } 需要说明的是,该Model类是一个Bean。所以必须有默认的构造函数(即使它什么也不做),也必须要有相应所有private变量的setter和getter函数,这个可以在eclipse的source->Generate getters and setters 中自动生成。 然后是构建该数据表单的操作接口。 注意,我们在这里应用了Hibernate的DAO操作。避免了JDBC直接输入SQL字符串。 这样做有两个好处, 一是在更高的层级上进行数据库操作,表单直接对应一个Model类,表单中的一行直接对应一个Model类的实例。 […]


配置wrtnode作为无线中继

首先是wrtnode官网的开箱教程,其中“不联网不幸福”一节讲述了如何将wrtnode连入一个现有的wifi,并再作为AP供其他客户端连接的方法。 http://wiki.wrtnode.com/index.php?title=Starting/zh-cn#.E4.B8.8D.E8.81.94.E7.BD.91.E4.B8.8D.E5.B9.B8.E7.B3.8A 但是DNS没有配置成功。表现为,直接ping ip地址能够ping通,但ping网址却会报错。 解决方法在这里: https://forum.openwrt.org/viewtopic.php?id=22624 简单来说 修改/etc/config/dhcp文件,使它和下面的样子类似 config ‘dhcp’ ‘lan’ option ‘interface’ ‘lan’ option ‘start’ ‘100’ option ‘limit’ ‘150’ option ‘leasetime’ ’12h’ list ‘dhcp_option’ ‘6,10.10.0.21’ 其中最主要的是这一行 list ‘dhcp_option’ ‘6,10.10.0.21’ 6表示配置dhcp下客户端的dns服务器地址,后面的’10.10.0.21’是你的dns服务器地址,在浙大玉泉,它对应的是10.10.0.21. 关于其他的dhcp序号和他们所对应的含义,在这里能够查询到 dnsmasq –help dhcp 配置完毕后输入nr进行网络重启,然后发现可以连上网络了。