移植bluetooth和wifi,bluez移植。
 《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]-- http://blog.csdn.net/Innost/article/list/2
Wifi、蓝牙等进行通信(TCP等)???
  常见的无线网络通讯技术有:WiFi、NFC、ZigBee、Bluetooth、WWAN(Wireless Wide Area Network,包括GPRS、3G、4G、5G等)、NB-IoT、Sub-1GHz等。

-- NFC与红外线
 NFC优于红外和蓝牙传输方式。作为一种面向消费者的交易机制,NFC比红外更快、更可靠而且简单得多,不用向红外那样必须严格的对齐才能传输数据。
 与蓝牙相比,NFC面向近距离交易,适用于交换财务信息或敏感的个人信息等重要数据;蓝牙能够弥补NFC通信距离不足的缺点,适用于较长距离数据通信。 
红外线和NFC的适用场合不同,主要是通讯距离、数据量、协议的区别。红外比较适合类似遥控器等距离比较大的场合,而NFC比较适合刷卡、交换名片等距离近的场合。

近场通信(Near Field Communication,NFC)是一种短距高频的无线电技术,在13.56MHz频率运行于20厘米距离内。其传输速度有106 Kbit/秒、212 Kbit/秒或者424 Kbit/秒三种。目前近场通信已通过成为ISO/IEC IS 18092国际标准、ECMA-340标准与ETSI TS 102 190标准。NFC采用主动和被动两种读取模式。
1.读卡器模式(Reader/writer mode),2. 点对点模式(P2Pmode),3.卡模式(Cardemulation)
NFC支持如下3种工作模式:读卡器模式(Reader/writer mode)、仿真卡模式(Card Emulation Mode)、点对点模式(P2P mode)。
  RFID是Radio Frequency Identification的英文缩写,即射频识别,又称电子标签,是一种非接触式的自动识别技术。

android——实现NFC的读写- https://blog.csdn.net/sky2016_w/article/details/79026596
Android 高级开发——NFC标签开发深度解析- https://www.cnblogs.com/smartbetter/p/7723784.html

> DLNA&UPnP 投屏
  DLNA协议定义了一种通用的行业规范,目的是让电子设备之间可以方便地共享照片、视频、音乐等多媒体内容。而UPnP协议主要用于实现智能设备的互联互通,它定义了局域网内的设备如何互相发现对方,如何提供服务,如何控制对方等一系列的过程。
  UPnP的设备(Device)是通过广播包来通知局域网中的控制点自己的设备信息和服务的,而这些设备信息和服务都必须根据UPnP协议规定的XML文档格式来编写,UPnP提供了标准的模板可以参考,具体的文档地址:http://upnp.org/sdcps-and-certification/standards/sdcps/
  协议的官方文档,http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v2.0.pdf http://upnp.org/specs/av/UPnP-av-AVArchitecture-v1-20020625.pdf

-- DLNA投屏(UPnP),UPnP的工作过程 DLNA基础协议框架
DLNA投屏- https://github.com/azatoth/minidlna
DLNA投屏- https://github.com/KernelCrap/android-dlna
DLNA投屏Demo- https://download.csdn.net/download/qq_24179679/9738934

-- UPnP AV典型应用架构中,我们知道,要实现一个完整的应用,需要三个主体,一个是MediaServer,一个是MediaRenderer,还有一个是Control Point.
(1)MediaServer,推荐:BubbleUPnP,魔力视频,开心视频(KXPlayer),MediaServer
(2)MediaRenderer,推荐:开心视频(KXPlayer),MediaRender
(3) Control Point,一般集成在MediaServer软件中了,推荐:BubbleUPnP,魔力视频,开心视频(KXPlayer)

(1) 基于CyberGarage库的dlna开发(Android)- https://github.com/geniusgithub/MediaPlayer
(2) 基于Platinum库 PlatinumKit 的DMS实现(Android)-https://github.com/geniusgithub/MediaServer
(3) 基于Platinum库的DMR实现(Android)-https://github.com/geniusgithub/MediaRender

> 传感器, 传感器在游戏中运用??
Android传感器- http://blog.csdn.net/q4878802/article/category/5777997
Android 传感器开发 完全解析- http://blog.csdn.net/smartbetter/article/details/53161452
Android 传感器(4):陀螺仪、加速传感器- http://blog.csdn.net/flowingflying/article/details/42557265
Pro Android学习:传感器 - http://download.csdn.net/detail/flowingflying/8428273

-- 众多传感器(sensor)之一陀螺仪
 陀螺仪就是内部有一个陀螺,它的轴由于陀螺效应始终与初始方向平行,这样就可以通过与初始方向的偏差计算出实际方向。手机里陀螺仪实际上是一个结构非常精密的芯片,内部包含超微小的陀螺。
 因为手机运动的加速度不高,精确度也没有太大的要求,用加速计替代陀螺仪也可以。但如果做一些精度比较高的游戏的话,最好还是有陀螺仪。
 陀螺仪的XYZ分别代表设备围绕XYZ三个轴旋转的角速度:radians/second。至于XYZ使用的坐标系与gsensor相同。逆时针方向旋转时,XYZ的值是正的。
 陀螺仪(gyroscope Sersor)的定义,是指在上述定义的x y x三个方向的转速,单位是radians/second,正负遵循右手规则。陀螺仪(Gyroscope sensor)测量设备转动的角速度。

-- Android平台支持三大类传感器:动作(Motion)传感器、环境(Environmental)传感器、位置(Position)传感器。
1.运动传感器,这类传感器测量沿着三个轴向的加速度和角加速度(旋转力),这类传感器包括加速度计、重力传感器、陀螺仪、旋转向量传感器、位置(Position)传感器。
2.环境传感器,这类传感器测量各种环境参数,如环境空气温度、气压、照明、潮湿度等。此类别包括气压计,光度计,温度计,湿度(barometer)传感器、光线(photometer)传感器、温度(thermometer)传感器
3.位置传感器,位置传感器测量设备的物理位置,包括方向传感器和磁力计,方向(orientation)传感器、磁力(magnetometer)传感器

Sensor所提供的所有服务:SensorManager sm = (SensorManager)getSystemService(Context.SENSOR_SERVICE);  
int TYPE_ALL,A constant describing all sensor types. //用于列出所有感应器
int TYPE_ACCELEROMETER,A constant describing an accelerometer sensor type. //三轴加速度感应器 返回三个坐标轴的加速度  单位m/s2
int TYPE_GRAVITY,A constant describing a gravity sensor type. //重力感应器
int TYPE_GYROSCOPE,A constant describing a gyroscope sensor type //陀螺仪 可判断方向 返回三个坐标轴上的角度
int TYPE_LIGHT,A constant describing an light sensor type. //光线感应器 单位 lux 勒克斯
int TYPE_LINEAR_ACCELERATION,A constant describing a linear acceleration sensor type. //线性加速度
int TYPE_MAGNETIC_FIELD,A constant describing a magnetic field sensor type. //磁场感应 返回三个坐标轴的数值  微特斯拉
int TYPE_ORIENTATION,This constant is deprecated. use SensorManager.getOrientation() instead. //方向感应器 已过时 可以使用方法获得
int TYPE_PRESSURE,A constant describing a pressure sensor type。//压力感应器  单位 千帕斯卡
int TYPE_PROXIMITY,A constant describing an proximity sensor type. //距离传感器
int TYPE_ROTATION_VECTOR,A constant describing a rotation vector sensor type. //翻转传感器
int TYPE_TEMPERATURE,A constant describing a temperature sensor type。 //温度传感器 单位 摄氏度

横竖屏旋转的一个参数:SCREEN_ORIENTATION_PORTRAIT,SCREEN_ORIENTATION_REVERSE_PORTRAIT
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);会正常旋转。
 一般情况下,加速度计已足够应付对设备移动情况的监测。几乎所有 Android 平台的手持和桌面终端都带有加速度计,它的能耗比其它运动传感器要少10倍。 不过它有一个缺点,就是你不得不实现低通和高通滤波器,以消除重力影响并减少噪声数据。
 ANdroid SDK加速度传感器的使用方法demo- http://developer.android.com/resources/samples/AccelerometerPlay/index.html

> NFC近场通信 
高级的NFC专题,如多样的NFC标签技术、编写NFC标签、以及前台调度,前台调度允许在前台的应用程序优先调度Intent事件,即使还有其他的过滤同样的Intent事件的应用程序存在。
NFC demo- https://github.com/sadaharusong/AutoNFC/
Android之NFC- http://blog.csdn.net/bear_huangzhen/article/details/46333421
Android NFC技术(NdefMessage和NdefRecord)- http://blog.csdn.net/qq_26787115/article/details/50831582
通过NFC自动启动Android应用程序 - https://github.com/sadaharusong/AutoNFC/

> 串口通信
在串口通信中,常用的协议包括RS-232、RS-422和RS-485。串口通信采用一个第三方开源项目,实现串口数据收发。
使用了http://code.google.com/p/android-serialport-api/的项目的serialport api和jni;
关于串口通信,Google已经给出了源码- https://github.com/cepr/android-serialport-api
Android串口通信- http://blog.csdn.net/q4878802/article/details/52996548
Android串口通信:串口读写- http://blog.csdn.net/burly/article/details/50512379
Android串口通信- http://blog.csdn.net/q4878802/article/details/52996548
Android串口开发- https://github.com/HuRuWo/SerialPortHelper

> 滤波器的实现 ,巴特沃斯滤波器
重力加速计低通滤波算法— http://blog.csdn.net/yangz_xx/article/details/24784619
public void onSensorChanged(SensorEvent event)  {  
         // alpha 由 t / (t + dT)得到  
         // t为滤波器时间常量,为传感器单次采样时间  
         // dT为采样频率  
  
         final float alpha = 0.8;  
  
         gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];  
         gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1];  
         gravity[2] = alpha * gravity[2] + (1 - alpha) * event.values[2];  
  
         linear_acceleration[0] = event.values[0] - gravity[0];  
         linear_acceleration[1] = event.values[1] - gravity[1];  
         linear_acceleration[2] = event.values[2] - gravity[2];  
}

高通滤波算法,C++ 高通滤波器实现边缘增强- http://blog.csdn.net/u011731135/article/details/52541199
Kalman滤波器,卡尔曼滤波算法- http://blog.csdn.net/xiahouzuoxin/article/details/39582483

-- 十大滤波算法程序大全- http://www.yunti.io/forum.php?mod=viewthread&tid=401
1、限幅滤波法(又称程序判断滤波法)
2、中位值滤波法
3、算术平均滤波法
4、递推平均滤波法(又称滑动平均滤波法)
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
6、限幅平均滤波法
7、一阶滞后滤波法
8、加权递推平均滤波法
9、消抖滤波法
10、限幅消抖滤波法
11、新增加 卡尔曼滤波 ( 非扩展卡尔曼 )

GPRS/NFC/ 红外线/ 传感器/ 串口 ,DLNA/UPnP 等相关推荐

  1. 基于cling2.0的Android DLNA/Upnp客户端基本开发成功

    最近花了2个月的时间,基于cling2.0协议栈做了个Android DLNA/Upnp客户端,实现了DMS,DMR,DMC的主要功能,全面打通了Upnp协议,某些方面已经超越BubbleUpnp,例 ...

  2. 用python3+ PyQt5写一个NFC模块的串口小工具的一星期

    用python3+ PyQt5写一个NFC模块的串口小工具的一星期 原因始于我们的小团队,没有写Windows上位机的人才.自己的[NFC读读写模](https://shop165836966.tao ...

  3. K_A13_001 基于STM32驱动霍尔开关传感器 串口与OLED0.96双显示

    K_A13_001 基于STM32驱动霍尔开关传感器 串口与OLED0.96双显示 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 对应程序: 四.部分代码说明 1.接线引脚定义 STM32 ...

  4. QNAP文件传输服务器,如何通过 DLNA/UPnP 欣赏存储在 QNAP NAS 上的多媒体内容?

    DLNA(数字生活网络联盟)和 UPnP(通用即插即用)是广泛使用的指南,用于促进网络上不同设备之间的互操作性. QNAP DLNA 多媒体服务器可以将存储在 NAS 上的多媒体内容流式传输到家庭中的 ...

  5. STM32获取GY-25A倾角传感器串口输出数据

    STM32获取GY-25A倾角传感器串口输出数据 GY-25A模块是新型的倾角传感器模块,具有X和Y两轴模拟角度输出和串口角度输出的功能.这里介绍STM32获取GY-25A串口输出的角度数据.(获取模 ...

  6. 2个红外传感器循迹原理_编程机器人9 -- 红外线传感器

    这节课我们学习红外线传感器 01 -红外线传感器- 相比于上节课我们讲授的循迹传感器,红外线传感器在生活中我们就接触的多了,家里最常见的就是红外遥控器了吧!另外,红外线传感器在测距,测温方面的应用也是 ...

  7. 五路循迹传感器的优点_5路红外线传感器控制智能小车循迹,27秒走完所有站点...

    5路红外线循迹智能小车27秒走完比赛地图 为了指导学生参加2017年广东省机器人挑战赛自选项目"高铁时代"的比赛,我改进了某厂家的arduino智能小车,把红外线循迹传感器从2路增 ...

  8. 播放dlna服务器上文件,群晖使用教程:DLNA/UPnP协议和Kodi在多设备上播放媒体文件...

    摘要: 起始缘由:使用Transmission下载到文件夹里的电影在电视上的Kodi文件未更新(如图)如何安装Transmission(bt/PT软件)教程 https://ww... 起始缘由:使用 ...

  9. c语言传感器串口通信,树莓派上使用C语言检测触碰传感器

    本实验室利用C语言来检测gpio接口的状态,然后控制led灯显示.灯为输出管脚,触碰传感器为输入管脚,即gpio接口可以定义为输入模式还是输出模式,先是输入模式(检测gpio接口),然后输出控制高电位 ...

最新文章

  1. python 爬虫代理
  2. JavaScript 字符串连接性能比较
  3. S3C2440 IIS操作 uda134x录放音
  4. 介绍一个能开发简单SAP UI5应用的在线IDE:StackBlitz
  5. 8086 寻址方式_8086微处理器的不同寻址模式
  6. 由dataview生成对应的datatable的方法
  7. robotium之无name、ID仅有desc定位
  8. wxPython--学习笔记(一)
  9. linux中posix共享内存,Linux 共享内存(POSIX)
  10. [小工具] 五笔输入法
  11. Java lambda表达式实现List转Map
  12. [转载]AI教师正来势汹汹,教师饭碗堪优
  13. CAD中如何等分线段?CAD等分线段教程
  14. 读书笔记《股票作手回忆录》
  15. PADS-电阻、电容、电感CAE封装
  16. python可以在多种平台运行、这体现了python语言的,Python可以在多种平台运行,这体现了Python语言的特性...
  17. 一些数学优化计算的工具
  18. MP4 | MP4文件格式的解析
  19. 解析错误“[RPC Fault faultString= faultCode=400 faultDetail='sr' parameter is invalid]”
  20. ThinkPhp 表单提交数据

热门文章

  1. Web APIs /APIs --DOM简述/DOM中获取元素方法/事件(含鼠标事件)/操作(含案例)
  2. 蓝牙学习之①:调戏小米手环
  3. 【阿里云2020校招提前批】中间件核心部门疯狂直推中!
  4. python 解压文件 已存在_python解压zip和rar文件问题以及解决方法
  5. C++ operator重载运算符详解
  6. Win10下媲美apt的包管理工具 Scoop 的安装以及常用软件清单
  7. JAVA常见的命名规则:见名知意
  8. JavaScript 控制(改变)canvas(画布)的大小
  9. 济南申报高企需要什么材料
  10. 怎么修改PDF文档背景