用Java语言开发物联网设备应用(4)

认识外设

外设通常指输入输出设备,是计算机系统最重要的组成部分之一。物联网设备往往要和五花八门的外设打交道,比如传感器、GPS、按钮、摄像头、显示屏、麦克风、扬声器······凡此种种,不一而足。除了要和网络服务器交互以外,从各种外设上取得数据,或是通过外设进行各种控制,是物联网设备的主要特点。

常见的外设接口

物联网设备的外设虽然五花八门,但是外设和主控芯片(CPU)的接口类型,通常就是那么几种:

UART

就是我们常说的“串口”,主要用来用作通讯。很多物联网常用外设,比如GPS模组、蓝牙模组、2G/4G模组等等,都支持使用UART来和主控芯片通讯。

GPIO

通常叫做“通用IO接口”,这里的IO(或说I/O)是指输入/输出。GPIO的操作非常简单,就是高低电平的输入或者输出,比如点亮一个LED灯,或者从一个开关按钮读取按下状态等等。

SPI

串行外设接口,比起UART,SPI接口能支持很高的数据吞吐率,比如网络控制器、FLASH存储器这些需要高速和CPU交换数据的外设,通常是使用SPI接口的。不过SPI是分主从设备的,数据交换是由主SPI设备发起的从SPI听命于主设备的控制。

IIC

是Inter-Integrated Circuit Bus的简称,通常翻译成“集成电路总线”。IIC的特点是需要的连线少,控制逻辑简单易实现,也适用于一主多从的总线式外设连接布局。实际使用中,很多种类型的传感器产品都支持IIC接口,比如温度传感器、加速度传感器等等。

PWM

Pulse Width Modulation,即“脉冲宽度调制器”,或者不那么准确但是简单地理解为“脉冲波发生器”。在机械控制中用的最多,比如步进电机。也可以用来控制简单的喇叭发声。

ADC/DAC

即“模数/数模转换器”。像电压这样的模拟量,计算机需要将其数字化才能够处理,这就是“模-数”转换。反之则是“数-模”转换。

IIS:

Integrate Inte**ce of Sound。从名字就可以看出来,这个接口是接声音输入输出设备的。一般的音频采集芯片、音频编解码芯片或是音频播放芯片都支持IIS接口。

Java对外设接口的支持

Java在外设控制这方面,以前并没有专门的接口。从OpenJDK 7开始,OpenJDK加入了DeviceIO作为外设控制的标准接口,对物联网设备常见的外设接口做了标准化支持。
JOSH针对小型物联网设备,对DeviceIO进行了小幅改动。通过JOSH DeviceIO API(org.joshvm.j2me.dio.* ),目前支持的接口类型有UART、GPIO、SPI和IIC,Java程序员可以实现用Java语言控制外设,比如控制电平开关、读取传感器数据等等。换言之,可以实现用Java语言编写物联网设备的外设驱动程序,并实现驱动程序的动态安装。
下面,我们通过一些示例,看看是如何通过JOSH DeviceIO API实现外设访问功能的。

输出高低电平——GPIO控制篇

首先创建一个GPIO端口配置。这段代

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Java是一种面向对象的编程语言,拥有广泛的应用领域。从零开始学习Java可以通过学习基本的语法、掌握面向对象的思想以及掌握常用的类库和工具来实现。 Linux是一种自由和开放源代码的操作系统,具有稳定性和安全性,同时也适合进行物联网开发物联网是指将各种设备通过互联网连接起来,实现设备之间的通信和数据交互。 在进行Java物联网开发之前,首先需要了解Linux操作系统的基本使用和命令行操作。可以通过安装Linux系统、学习Linux基本命令和文件系统等方面的知识来开始。 接下来,可以学习Java的基本语法、面向对象的思想和常用的类库。可以使用一些专门的书籍或在线教程进行学习。了解Java的基本语法和面向对象的概念后,可以尝试编写一些简单的Java程序,例如控制LED灯的闪烁、读取温度传感器的数据等。 此外,对于物联网开发来说,还需要学习网络编程的知识。可以学习Java提供的网络编程API,例如Socket和HTTPURLConnection等,来实现设备之间的通信。 另外,学习更深入的物联网开发还需要了解一些相关的技术和协议,例如MQTT和CoAP等。可以学习这些协议的原理和使用方法,进一步优化物联网应用的性能和安全性。 总而言之,从零开始学习Java物联网开发需要系统地学习Java语法、面向对象的思想,掌握Linux操作系统和命令行操作,学习网络编程和相关的协议,以及实践编写简单的物联网应用。通过不断的学习和实践,可以运用Java语言进行物联网开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值