版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
物聯(lián)網(wǎng)應(yīng)用系統(tǒng)設(shè)計(jì)智能家居項(xiàng)目單片機(jī)LED應(yīng)用服務(wù)程序網(wǎng)關(guān)程序運(yùn)程控制LED燈的項(xiàng)目智能家居項(xiàng)目添加標(biāo)題服務(wù)器程序基于服務(wù)器的作用,分析服務(wù)器的功能有:(1)通過TCP協(xié)議接收網(wǎng)關(guān)轉(zhuǎn)發(fā)的LED燈狀態(tài)信息。(2)通過TCP協(xié)議發(fā)送控制信息到網(wǎng)關(guān),經(jīng)網(wǎng)關(guān)轉(zhuǎn)發(fā)下行。(3)能通過瀏覽器輸入,發(fā)送控制信息。(4)能通過瀏覽器查看歷史狀態(tài)信息和控制信息。(5)有數(shù)據(jù)存儲(chǔ)的功能,能保存上傳的LED燈狀態(tài)信息和下發(fā)的控制信息。服務(wù)器功能2通過Java語言操作數(shù)據(jù)庫記錄數(shù)據(jù)通過URL地址發(fā)送、顯示數(shù)據(jù)教學(xué)目標(biāo)實(shí)現(xiàn)服務(wù)器功能1服務(wù)器Socket接收3添加標(biāo)題難點(diǎn)服務(wù)器的接收數(shù)據(jù)記錄到數(shù)據(jù)庫重點(diǎn)Socket接收和發(fā)送Socket接收和發(fā)送服務(wù)器Socket接收和發(fā)送
01網(wǎng)關(guān)作為Socket服務(wù)端連接(1)創(chuàng)建SocketServerServerSocketserverSocket=newServerSocket(1002);(2)accept()等待接收請(qǐng)求(3)創(chuàng)建連接Socket服務(wù)Socketserver=serverSocket.accept();
網(wǎng)關(guān)作為Socket客戶端連接(1)創(chuàng)建Socket服務(wù),請(qǐng)求連接Socketclient=newSocket("192.168.1.136",1002);網(wǎng)關(guān)作為服務(wù)端/客戶端接收數(shù)據(jù)InputStreaminFromServer=client.getInputStream();intn=inFromServer.available(); inFromServer.read(res);網(wǎng)關(guān)作為服務(wù)端/客戶端發(fā)送數(shù)據(jù)OutputStreamoutToServer=client.getOutputStream(); outToServer.write(data.getBytes());服務(wù)器的Socket接收發(fā)送功能
為gs-mysql-service-main這個(gè)實(shí)例增加Scoket客戶端的功能,使它能夠連接網(wǎng)關(guān)上的Scoket服務(wù)端,達(dá)到與之通信的目的。
在工程包中新建一個(gè)java類GreetingClient.java,用于處理Socket的通信問題。通過Java語言操作數(shù)據(jù)庫記錄數(shù)據(jù)02通過java操作數(shù)據(jù)庫java程序操作數(shù)據(jù)庫增、刪、改、查把Socket客戶端接收到的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫。通過java操作數(shù)據(jù)庫
添加一個(gè)實(shí)體類LEDData,它會(huì)在程序連接的數(shù)據(jù)庫中生成一個(gè)數(shù)據(jù)表LEDData,里面有三個(gè)屬性,分別是id、data、datetiem。分別存放記錄id號(hào)、接收到的數(shù)據(jù)、接收數(shù)據(jù)的時(shí)間。UserRepository接口是提供操作LEDData表的方法,代碼如下:通過java操作數(shù)據(jù)庫publicinterfaceUserRepositoryextendsCrudRepository<LEDData,Integer>{
}通過java操作數(shù)據(jù)庫Socket通信接收到數(shù)據(jù)后,使用對(duì)象的setData和setDatetime的方法保存對(duì)象ledData的屬性data和datetime的值,最后使用save方法,把ledData屬性的值保存到數(shù)據(jù)庫表的字段中。接收數(shù)據(jù)并儲(chǔ)存運(yùn)行效果通過URL地址發(fā)送、顯示數(shù)據(jù)03發(fā)送控制信息
在GreetingClient類中DataOutputStreamout是私有屬性,包內(nèi)其它類不能調(diào)用該屬性。要有一個(gè)公有的方法,獲得DataOutputStreamout這一個(gè)輸出流。public
OutputStreamgetOut(){
return
out;
}通過URL地址發(fā)送信息訪問URL地址Socket發(fā)送信息webjava參數(shù)傳遞@RestController注解放到控制器類上。
@GetMapping("/greeting")注解函數(shù)運(yùn)行的請(qǐng)求。@RequestParam注解將請(qǐng)求參數(shù)綁定到控制器的方法參數(shù)上。
@GetMapping("/greeting") publicGreetinggreeting(@RequestParam
Stringname){
returnname; }通過URL地址發(fā)送信息
在MainController這一個(gè)控制器類中編寫一個(gè)函數(shù),使之映射到URL上,通過訪問URL鏈接運(yùn)行函數(shù)。該函數(shù)實(shí)現(xiàn)的功能是,使用客戶端GreetingClient類的輸出流OutputStreamout把URL鏈接中輸入的開關(guān)燈信息發(fā)送到服務(wù)端。
@GetMapping(path="/controlLED")
public
@ResponseBody
StringcontrolLED
(@RequestParam
StringLED){
try
{
greetingClient.getOut().write(LED.getBytes());
return
"發(fā)送成功";
}catch
(IOExceptione){
//TODO
Auto-generatedcatchblock
e.printStackTrace();
}
return
"發(fā)送不成功";
}通過URL地址發(fā)送信息通過URL地址查看記錄
在MainController控制器類中編寫一個(gè)函數(shù),使之映射到URL上。通過瀏覽器輸入U(xiǎn)RL地址,運(yùn)行函數(shù),直接返回?cái)?shù)據(jù)庫的記錄到頁面。編寫函數(shù)前,先在MainController類中使用@Autowired注入LEDDataRepository對(duì)象。@GetMapping(path="/findAll")
public
@ResponseBody
Iterable<LEDData>getAll(){
//ThisreturnsaJSONorXMLwiththeusers
retur
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度綠色能源合伙企業(yè)散伙協(xié)議書模板3篇
- 學(xué)校合同范本(2篇)
- 太陽能發(fā)電安裝合同(2篇)
- 二零二五年房地產(chǎn)項(xiàng)目合同檔案管理與法律風(fēng)險(xiǎn)防控合同3篇
- 二零二五版?zhèn)€人汽車消費(fèi)貸款合同
- 二零二五年度企業(yè)通訊SAAS平臺(tái)采購合同
- 五年級(jí)上學(xué)期期末學(xué)業(yè)水平檢測(cè)語文試卷(PDF版無答案)
- 七年級(jí)上學(xué)期期末質(zhì)量檢測(cè)語文試卷(PDF版含答案)-1
- 部編版語文七年級(jí)下冊(cè)第五單元學(xué)情檢測(cè)卷(含答案)
- 二零二五年環(huán)衛(wèi)項(xiàng)目環(huán)保設(shè)施投資合同3篇
- 三年級(jí)上冊(cè)數(shù)學(xué)估算練習(xí)200題
- DAM10KW中波發(fā)射機(jī)各單元的檢測(cè)與調(diào)整指導(dǎo)示意圖
- 二年級(jí)美術(shù)復(fù)習(xí)計(jì)劃
- 物業(yè)采購工作總結(jié)
- 組織文化與領(lǐng)導(dǎo)力
- 膠粘性不良改善報(bào)告
- 電子商務(wù)客服全套培訓(xùn)方案
- 河北省石家莊市橋西區(qū)2023-2024學(xué)年九年級(jí)上冊(cè)期末英語模擬試題(附答案)
- 《產(chǎn)品價(jià)值點(diǎn)》課件
- 2023年燃?xì)獍踩a(chǎn)工作匯報(bào)材料
- 考研英語5500大綱詞匯亂序打印版
評(píng)論
0/150
提交評(píng)論