版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物联网应用系统设计智能家居项目单片机LED应用服务程序网关程序运程控制LED灯的项目智能家居项目添加标题服务器程序基于服务器的作用,分析服务器的功能有:(1)通过TCP协议接收网关转发的LED灯状态信息。(2)通过TCP协议发送控制信息到网关,经网关转发下行。(3)能通过浏览器输入,发送控制信息。(4)能通过浏览器查看历史状态信息和控制信息。(5)有数据存储的功能,能保存上传的LED灯状态信息和下发的控制信息。服务器功能2通过Java语言操作数据库记录数据通过URL地址发送、显示数据教学目标实现服务器功能1服务器Socket接收3添加标题难点服务器的接收数据记录到数据库重点Socket接收和发送Socket接收和发送服务器Socket接收和发送
01网关作为Socket服务端连接(1)创建SocketServerServerSocketserverSocket=newServerSocket(1002);(2)accept()等待接收请求(3)创建连接Socket服务Socketserver=serverSocket.accept();
网关作为Socket客户端连接(1)创建Socket服务,请求连接Socketclient=newSocket("192.168.1.136",1002);网关作为服务端/客户端接收数据InputStreaminFromServer=client.getInputStream();intn=inFromServer.available(); inFromServer.read(res);网关作为服务端/客户端发送数据OutputStreamoutToServer=client.getOutputStream(); outToServer.write(data.getBytes());服务器的Socket接收发送功能
为gs-mysql-service-main这个实例增加Scoket客户端的功能,使它能够连接网关上的Scoket服务端,达到与之通信的目的。
在工程包中新建一个java类GreetingClient.java,用于处理Socket的通信问题。通过Java语言操作数据库记录数据02通过java操作数据库java程序操作数据库增、删、改、查把Socket客户端接收到的数据存储到数据库。通过java操作数据库
添加一个实体类LEDData,它会在程序连接的数据库中生成一个数据表LEDData,里面有三个属性,分别是id、data、datetiem。分别存放记录id号、接收到的数据、接收数据的时间。UserRepository接口是提供操作LEDData表的方法,代码如下:通过java操作数据库publicinterfaceUserRepositoryextendsCrudRepository<LEDData,Integer>{
}通过java操作数据库Socket通信接收到数据后,使用对象的setData和setDatetime的方法保存对象ledData的属性data和datetime的值,最后使用save方法,把ledData属性的值保存到数据库表的字段中。接收数据并储存运行效果通过URL地址发送、显示数据03发送控制信息
在GreetingClient类中DataOutputStreamout是私有属性,包内其它类不能调用该属性。要有一个公有的方法,获得DataOutputStreamout这一个输出流。public
OutputStreamgetOut(){
return
out;
}通过URL地址发送信息访问URL地址Socket发送信息webjava参数传递@RestController注解放到控制器类上。
@GetMapping("/greeting")注解函数运行的请求。@RequestParam注解将请求参数绑定到控制器的方法参数上。
@GetMapping("/greeting") publicGreetinggreeting(@RequestParam
Stringname){
returnname; }通过URL地址发送信息
在MainController这一个控制器类中编写一个函数,使之映射到URL上,通过访问URL链接运行函数。该函数实现的功能是,使用客户端GreetingClient类的输出流OutputStreamout把URL链接中输入的开关灯信息发送到服务端。
@GetMapping(path="/controlLED")
public
@ResponseBody
StringcontrolLED
(@RequestParam
StringLED){
try
{
greetingClient.getOut().write(LED.getBytes());
return
"发送成功";
}catch
(IOExceptione){
//TODO
Auto-generatedcatchblock
e.printStackTrace();
}
return
"发送不成功";
}通过URL地址发送信息通过URL地址查看记录
在MainController控制器类中编写一个函数,使之映射到URL上。通过浏览器输入URL地址,运行函数,直接返回数据库的记录到页面。编写函数前,先在MainController类中使用@Autowired注入LEDDataRepository对象。@GetMapping(path="/findAll")
public
@ResponseBody
Iterable<LEDData>getAll(){
//ThisreturnsaJSONorXMLwiththeusers
retur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第三单元 第5课时 比较大小(一)(教学设计)一年级数学下册同步高效课堂系列(人教版2024)
- 四川省字节精准教育联盟2025-2026学年高二下学期期中考试 历史试卷
- Unit1读写课第一课时教学设计(1) 外研版(2024)七年级英语下册
- 2025年医疗隐私保护中的用户体验优化
- 八年级语文下册 第四单元教学设计 新人教版
- 2026年眼科试题及答案问答题
- 2025-2026学年中班园本教案
- 高中地理 第5章 交通运输布局及其影响 第1节 交通运输方式和布局教学设计 新人教版必修2
- 商谈售后服务流程函(6篇)
- 电气设备维护与故障排除预案
- 关于初、高中地理衔接问题的探究获奖科研报告
- 项目三南美白对虾的人工育苗技术
- 全国中小学生安全知识竞赛试卷及答案
- (完整)管理学决策树习题及答案
- GB/T 6451-2015油浸式电力变压器技术参数和要求
- GB/T 5751-2009中国煤炭分类
- CB/T 3226-1995驾驶室固定矩形窗
- 第一性原理方法介绍-讲座1
- QBY3气动隔膜泵说明书
- 《思想政治教育学原理》第一章-思想政治教育发展-第二章思想政治教育本质特征-第三章-思想政治教育地位功能课件
- 校外实习考勤表(模板)
评论
0/150
提交评论