成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

按步搭建簡單IoT微服務(wù)(2)

shiyang6017 / 774人閱讀

摘要:嘗試目標(biāo)下一步是連接前端和序列化服務(wù),實(shí)現(xiàn)在前端圖表中讀取傳感器發(fā)送的數(shù)據(jù)。序列化服務(wù)對應(yīng)的更新后前端程序位于面臨的挑戰(zhàn)是啟動數(shù)據(jù)庫前端程序序列化服務(wù)。系統(tǒng)啟動費(fèi)后,可以使用腳本下用檢查運(yùn)行狀態(tài)。

整體架構(gòu)

這章節(jié)我們將為系統(tǒng)建立一個簡單的前端界面。首先安裝一些依賴環(huán)境并運(yùn)行起來,按照下面的步驟開始:

如果還沒有準(zhǔn)備好,可以先在獲取的代碼倉庫 micro-services-tutorial-iot 下運(yùn)行npm install命令,完成之后運(yùn)行如下命令:

cd frontend/api

node index.js

打開瀏覽器(推薦使用chrome、firefox),輸入地址http://localhost:10001. 可以看到一張圖表,簡單吧。

嘗試目標(biāo)0

接下來將開始建立數(shù)據(jù)庫。這步將借助于Docker,如果沒有鏡像,可以使用一行命令獲?。?/p>

docker pull tutum/influxdb

如何運(yùn)行influxdb容器可以參考文檔: https://hub.docker.com/r/tutu...

難點(diǎn)是運(yùn)行起influxDB容器,一旦成功運(yùn)行,可以在瀏覽器中查看influx的網(wǎng)頁界面。

目標(biāo)0實(shí)現(xiàn)步驟

使用如下命令啟動容器

docker run -d -p 8083:8083 -p 8086:8086 tutum/influxdb

在step1/services/influx/文件夾中有簡便啟動influx容器的命令集

使用命令獲取容器中的IP地址

docker-machine ip default

在瀏覽器中輸入http://:8083/打開influx控制臺

-p 參數(shù)用于將容器的8083、8086端口暴露給宿主機(jī);

-d 參數(shù)告知docker運(yùn)行后臺模式

當(dāng)在本地運(yùn)行docker容器時,特別留意每個多帶帶的虛擬機(jī)使用各自的IP地址(尤其是Mac系統(tǒng)、Windows系統(tǒng))

使用docker kill命令可以隨時停止容器

嘗試目標(biāo)1

目前數(shù)據(jù)庫已經(jīng)運(yùn)行,接下來將創(chuàng)建微服務(wù)用于讀寫數(shù)據(jù)庫。已經(jīng)編寫好了序列化服務(wù)代碼,位于step1/services/serializer文件夾下

當(dāng)前目標(biāo)是編寫一個小腳本,運(yùn)行后可將溫度數(shù)據(jù)寫進(jìn)influx數(shù)據(jù)庫。當(dāng)服務(wù)啟動后,可以使用下面的命令將數(shù)據(jù)點(diǎn)提交給服務(wù)程序。

curl -X POST -d "{"role": "serialize", "cmd": "write", "sensorId": "1", "temperature": 32}" http://localhost:10000/act  --header "Content-Type:application/json"

提示 如果檢查serializer.js源文件 ,可以發(fā)現(xiàn)使用了下列環(huán)境變量:

INFLUX_HOST

serializer_PORT

初始化腳本應(yīng)確保正確設(shè)置了上述變量數(shù)據(jù)

通過瀏覽器中的influx網(wǎng)頁界面輸入下列查詢語句,可以檢查數(shù)據(jù)點(diǎn)被真實(shí)寫入influx中

use temperature;
select * from temperature;
目標(biāo)1實(shí)現(xiàn)步驟

在step2/services/influx文件夾包含influx容器啟動腳本

在step2/services/serializer文件夾包含序列化服務(wù)源代碼

使用 step2/services/serializer/run.sh (Windows用run.bat)腳本啟動服務(wù)

使用 step2/services/serializer/testWrite.sh (windows用testWrite.bat)腳本發(fā)送測試數(shù)據(jù)

使用influx控制臺查看數(shù)據(jù)點(diǎn)

注意 序列化程序是一種seneca1微服務(wù)。Seneca作為獨(dú)立層可實(shí)現(xiàn)多種傳輸機(jī)制,包括TCP, HTTP, RabbitMQ, Redis, NATS等。在本教程中,使用Json格式數(shù)據(jù)通過HTTP傳輸機(jī)制。

嘗試目標(biāo)2

下一步是連接前端和序列化服務(wù),實(shí)現(xiàn)在前端圖表中讀取傳感器發(fā)送的數(shù)據(jù)。

序列化服務(wù)對應(yīng)的更新后前端程序位于 step2/frontend.

面臨的挑戰(zhàn)是啟動Influx數(shù)據(jù)庫、前端程序、序列化服務(wù)。需要編寫腳本實(shí)現(xiàn)啟動前端服務(wù)和序列化服務(wù)。

當(dāng)啟動這兩個服務(wù),使用testWrite.sh腳本發(fā)送數(shù)據(jù)到influx數(shù)據(jù)庫后,就可以在前端頁面查看。

注意 如檢查更新后的前端代碼,可發(fā)現(xiàn)如下環(huán)境變量

PROXY_HOST

serializer_PORT

frontend_PORT

在打開前端前,需要設(shè)置上述變量。

目標(biāo)2實(shí)現(xiàn)步驟

使用step3/services/influx下的腳本啟動influx容器

運(yùn)行腳本 step3/services/serializer/run.sh (windows下用 run.bat) 啟動序列化服務(wù)

Start the frontend with the script 運(yùn)行腳本step3/frontend/run.sh (or run.bat)啟動前端界面

在瀏覽器中輸入 http://localhost:10001/顯示前端頁面

使用腳本step3/services/serializer/testWrite.sh (windows下用 testWrite.bat)發(fā)送一些測試數(shù)據(jù)

前端頁面中應(yīng)出現(xiàn)數(shù)據(jù)點(diǎn)的表格

嘗試目標(biāo)3

現(xiàn)在系統(tǒng)只有3個模塊,但已經(jīng)很難管理。在這步中,面臨的挑戰(zhàn)是讓系統(tǒng)通過Fuge運(yùn)行。Fuge是一種微服務(wù)開發(fā)環(huán)境,幫助簡化應(yīng)對本地進(jìn)程和docker容器

在 step3/fuge 包含兩個文件:

compose-dev.yml - 使用docker compose格式指定系統(tǒng)所用的進(jìn)程等

fuge-config.json - fuge全局配置文件

面臨的挑戰(zhàn)是使用fuge終端運(yùn)行系統(tǒng),可以查看fuge相關(guān)文檔https://github.com/apparatus/...。 系統(tǒng)啟動費(fèi)后,可以使用腳本step3/services/serializer/testWrite.sh (windows下用testWrite.bat)檢查運(yùn)行狀態(tài)。前端頁面圖表可直觀展示數(shù)據(jù)。

提示 必須先停止之前所有進(jìn)程及容器

提示 確認(rèn)使用 npm install -g fuge命令安裝了fuge.

提示 可以使用 fuge shell 開啟fuge終端

目標(biāo)3實(shí)現(xiàn)步驟

step4/fuge 文件夾包含fuge終端的配置

啟動fuge

fuge shell fuge/compose-dev.yml

啟動所有服務(wù)

start all

打開 http://localhost:10001 查看圖表

使用腳本 step4/services/serializer/testWrite.sh 發(fā)送數(shù)據(jù)到序列化服務(wù)

注意 Fuge用于關(guān)聯(lián)進(jìn)程和dock 容器,使用如下機(jī)制:

注入環(huán)境變量到每一個進(jìn)程

啟動內(nèi)部代理,在進(jìn)程和容器間進(jìn)行橋接


本系列文章:

按步搭建簡單IoT微服務(wù)(1)

按步搭建簡單IoT微服務(wù)(2)

按步搭建簡單IoT微服務(wù)(3)


  • Seneca是Node.js微服務(wù)框架開發(fā)工具。它的目的在于復(fù)制架構(gòu)師和開發(fā)人員的服務(wù)想法,提供方法把代碼融入到由模式所觸發(fā)的邏輯行為中,這是根據(jù)用例所作用的模型。一旦被定義,模式就可以輕松轉(zhuǎn)為API,使用用例和模式來定義消息內(nèi)容 ?

  • 文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27512.html

    相關(guān)文章

    • 在MAC上搭建python數(shù)據(jù)分析開發(fā)環(huán)境

      摘要:最近工作轉(zhuǎn)型到數(shù)據(jù)開發(fā)領(lǐng)域,想在本地搭建一個數(shù)據(jù)開發(fā)環(huán)境。自己有三年開發(fā)經(jīng)驗(yàn),馬上想到使用搭建一套數(shù)據(jù)開發(fā)環(huán)境。的環(huán)境,百度中文章比較多,搭建起來非常順利。環(huán)境的資料比較少,百度出來的,已經(jīng)不對了,那我就來補(bǔ)充一篇吧。 最近工作轉(zhuǎn)型到數(shù)據(jù)開發(fā)領(lǐng)域,想在本地搭建一個數(shù)據(jù)開發(fā)環(huán)境。自己有三年python開發(fā)經(jīng)驗(yàn),馬上想到使用numpy、scipy、sklearn、pandas搭建一套數(shù)據(jù)開...

      dendoink 評論0 收藏0
    • 2019年云業(yè)務(wù)的暢想:撥云見日

      摘要:阿里巴巴全資收購中天微年月,阿里巴巴宣布全資收購中天微,具體金額并未透露。阿里云在今年月份的深圳云棲大會上表示,阿里云的定位是物聯(lián)網(wǎng)基礎(chǔ)設(shè)施的搭建者,計劃在未來年內(nèi)連接億臺設(shè)備?;仡?018年的云計算市場,可算是風(fēng)起云涌:云計算巨頭們依然保持著驚人的高速增長,大刀闊斧的進(jìn)行架構(gòu)調(diào)整、并購重組,企圖在云計算賽道上實(shí)現(xiàn)彎道超車;行業(yè)新進(jìn)的創(chuàng)新公司則依然保持著十足的活力,在各大細(xì)分領(lǐng)域展現(xiàn)出無比的...

      DDreach 評論0 收藏0
    • 發(fā)現(xiàn)一個非常好用的RTC(實(shí)時音視頻通信)方案,做直播和視頻通話都很牛

      摘要:除了一些線程調(diào)度和線程模型的調(diào)整,我們還需要進(jìn)行業(yè)務(wù)邏輯上的優(yōu)化,比如縮減高消耗,低反饋的業(yè)務(wù)模塊,降低消耗,限制業(yè)務(wù)邏輯隊列內(nèi)存分配增長空間,避免某些業(yè)務(wù)場景中內(nèi)存持續(xù)增長導(dǎo)致系統(tǒng)奔潰。 1、HaaS RTC背景介紹 HaaS RTC是阿里云IoT聯(lián)合視頻云開發(fā)的IoT設(shè)備端上的實(shí)時通...

      LeviDing 評論0 收藏0
    • 2021愛智先行者—記錄一次 Spirit 1 和 IoT Pi 開發(fā)板的實(shí)戰(zhàn)經(jīng)歷

      摘要:安裝完成后,在的左下角選擇創(chuàng)建項目,具體操作如下圖所示項目創(chuàng)建頁面會出現(xiàn)很多模板庫,如果只有兩個或者沒有模版,可以嘗試點(diǎn)擊左下角的刷新模板信息按鈕。 目錄 前言 正文 一、IoT Pi 開發(fā)板介紹 二、開發(fā)實(shí)戰(zhàn) 1. 連接設(shè)備 2. 搭建開發(fā)環(huán)境 3. 開始編碼 4. 編譯打包 5. 安裝應(yīng)...

      Amos 評論0 收藏0

    發(fā)表評論

    0條評論

    最新活動
    閱讀需要支付1元查看
    <