資料介紹
描述
昨天,在 SDC 的開幕主題演講中,我們發(fā)布了對(duì)三星 Artik 10 和 5 的官方支持。在我們的合作伙伴Snappin.io的幫助下,我們制作了一個(gè)現(xiàn)場(chǎng)演示,您可以在下面觀看。
在這篇文章中,我們將通過(guò)我們的舞臺(tái)演示的極簡(jiǎn)版本來(lái)說(shuō)明如何快速和安全地更新您的 ARTIK。
特別是,我們將學(xué)習(xí)如何:
- 使用 resin.io 設(shè)置 ARTIK 設(shè)備并將其連接到互聯(lián)網(wǎng)。
- 將我們的接近傳感器連接到我們的電路板。(如果您沒(méi)有傳感器,我們將隨機(jī)發(fā)出值來(lái)模擬傳感器)。
- 連接到 ARTIK Cloud 并將數(shù)據(jù)推送到它。
- 準(zhǔn)備我們的代碼并將其推送到我們的設(shè)備(如果您還不熟悉,您將學(xué)習(xí)一些關(guān)于 Docker 和 git 的知識(shí))。
入門
將您的 ARTIK(5 或 10)、SD 卡和接近傳感器(可選)放在手邊。
注冊(cè)resin.io 。如果您已經(jīng)有一個(gè)帳戶,請(qǐng)跳過(guò)
![pYYBAGOjtMeADC5jAABseia0XpY027.png](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjtMeADC5jAABseia0XpY027.png)
添加您的公共 ssh 密鑰,這樣我們就可以稍后推送代碼,通過(guò)從github導(dǎo)入它,使用您機(jī)器上的現(xiàn)有密鑰或生成一個(gè)新密鑰來(lái)執(zhí)行此操作。
![pYYBAGOjtMqAKHHoAAB7h67d7-k161.png](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjtMqAKHHoAAB7h67d7-k161.png)
接下來(lái),創(chuàng)建一個(gè)應(yīng)用程序,隨意命名并選擇設(shè)備類型 Artik 5 或 10。然后下載您的設(shè)備操作系統(tǒng),添加您的網(wǎng)絡(luò)配置。下載 resinOS 后,使用蝕刻機(jī)或您選擇的圖像閃光器將其刻錄到 SD 卡。
設(shè)置您的設(shè)備
為了在我們的 ARTIK 上啟動(dòng)并運(yùn)行 resinOS,我們需要首先將其設(shè)置為從我們的 SD 卡啟動(dòng),而不是從它的內(nèi)部eMMC 內(nèi)存啟動(dòng)。為此,我們需要將微型SW2
撥碼開關(guān)設(shè)置到位置1:on
和2:on
,如下所示。
注意:此resinOS 將完全覆蓋現(xiàn)有的eMMC。
![pYYBAGOjtO2Ab0iVAAbjPTLWiFs551.png](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjtO2Ab0iVAAbjPTLWiFs551.png)
我們現(xiàn)在可以插入 5VDC 電源線并將標(biāo)有 的電源開關(guān)撥到PWR SW
位置on
。我們現(xiàn)在應(yīng)該有一些發(fā)光的 LED 指示生命跡象。接下來(lái),我們需要按住SW3 POWER
按鈕 1 或 2 秒,這將啟動(dòng)從 SD 卡啟動(dòng)。
幾秒鐘后,您應(yīng)該會(huì)看到您的 ARTIK 出現(xiàn)在 resin.io 儀表板上。如果它在 1 或 2 分鐘后仍未出現(xiàn),請(qǐng)仔細(xì)檢查您的以太網(wǎng)連接或您在下載時(shí)輸入了正確的 wifi 憑據(jù)。如果您仍然無(wú)法在線獲取,請(qǐng)通過(guò) [email protected] 聯(lián)系我們。
注意:為了使 wifi 正常工作,您需要將(ARTIK 5J20
和J33
)和(ARTIK 10 J20 和 J36)的跳線設(shè)置到板的邊緣。
您的 ARTIK 現(xiàn)在會(huì)將 resinOS 閃存到內(nèi)部 eMMC 上,以便您可以移除 SD。這將需要 2 或 3 分鐘。完成后,它將自行關(guān)閉,您將在儀表板上看到該設(shè)備處于某種Post-Provisioning
狀態(tài)。此時(shí)你需要:
-
翻轉(zhuǎn)電源開關(guān)
off
位置。 - 取出 SD 卡。
-
將
SW2
dip 開關(guān)設(shè)置為1:off
和2:off
。
所有這一切之后,我們翻轉(zhuǎn)PWR SW
背部on
并再次按住SW3 POWER
按鈕一秒鐘左右。如果一切按計(jì)劃進(jìn)行,我們現(xiàn)在應(yīng)該IDLE
在我們的儀表板上有一個(gè)新配置的狀態(tài)。
連接傳感器
在此步驟中,我們將使用紅外線接近傳感器 (Sharp GP2Y0A21YK) 。如果您沒(méi)有傳感器,可以跳到下一節(jié)。
如下圖所示連接傳感器:
.
![pYYBAGOjtPCAd5gAAAAxUexT2bE247.png](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjtPCAd5gAAAAxUexT2bE247.png)
有關(guān)管腳映射的詳細(xì)信息,請(qǐng)參閱ARTIK 文檔。
配置 Artik Cloud
注冊(cè)Artik-cloud 。
有兩個(gè)門戶可以管理您的 Artik 云。開發(fā)者門戶和用戶門戶。開發(fā)人員門戶為您提供了一個(gè)界面來(lái)創(chuàng)建和管理設(shè)備類型和應(yīng)用程序,而用戶門戶允許您管理設(shè)備及其數(shù)據(jù)。
所以首先我們需要?jiǎng)?chuàng)建一個(gè)設(shè)備類型。為此,您需要?jiǎng)?chuàng)建一個(gè)清單。清單只是一組向 Artik Cloud 描述設(shè)備數(shù)據(jù)的說(shuō)明。例如:
{
"name": "reading",
"type": "CUSTOM",
"valueClass": "Integer",
"isCollection": false,
"tags": []
}
清單還允許您解釋該數(shù)據(jù)并觸發(fā)操作,但這超出了本教程的規(guī)范。有關(guān)這方面的更多信息,您可以查閱文檔。
為了您的方便,我們將.manifest.json
因此,將設(shè)備類型命名為任何您喜歡的名稱,例如resinArtik
并上傳我們提供的。manifest.json
接下來(lái),我們將在用戶門戶 (My ARTIK Cloud)上創(chuàng)建并連接一個(gè)設(shè)備。
![poYBAGOjtPmAV4BbAAGNuHBj7_g451.png](https://file.elecfans.com/web2/M00/85/70/poYBAGOjtPmAV4BbAAGNuHBj7_g451.png)
選擇齒輪圖標(biāo)并生成設(shè)備令牌。
![pYYBAGOjtPuABF9nAABkp0iWah4691.png](https://file.elecfans.com/web2/M00/85/F9/pYYBAGOjtPuABF9nAABkp0iWah4691.png)
獲取新生成的設(shè)備令牌和設(shè)備 ID,并將它們作為設(shè)備環(huán)境變量添加到resin.io 設(shè)備視圖中。
確保它們被相應(yīng)地命名:。ARTIKCLOUD_DEVICE_ID
ARTIKCLOUD_DEVICE_TOKEN
![poYBAGOjtQCAXKQXAAHUdJg2CIo377.png](https://file.elecfans.com/web2/M00/85/70/poYBAGOjtQCAXKQXAAHUdJg2CIo377.png)
代碼
正如我提到的,我們將推出一個(gè)精簡(jiǎn)的演示,簡(jiǎn)而言之,它是一個(gè)小節(jié)點(diǎn)應(yīng)用程序,可以從接近傳感器讀取數(shù)據(jù),如果您沒(méi)有連接傳感器,它會(huì)隨機(jī)生成一個(gè)。如果所述讀數(shù)超過(guò)閾值 ( default = 250
),則將事件推送到 ARTIK Cloud。
您會(huì)注意到的第一件事是存在 `Dockerfile.template,這是因?yàn)?resin.io 以 docker 容器的形式構(gòu)建和運(yùn)行所有應(yīng)用程序。我們出于各種原因使用容器,它使我們能夠支持每種語(yǔ)言并以安全的原子方式更新設(shè)備,同時(shí)仍然在設(shè)備上保持輕量級(jí)占用空間。它也已成為在 Web 上更新應(yīng)用程序的事實(shí)上的方式,所以為什么不在嵌入式設(shè)備上使用它。
# base-image for node on any machine using a template variable,
# see more about dockerfile templates here:http://docs.resin.io/pages/deployment/docker-templates
FROM resin/%%RESIN_MACHINE_NAME%%-node
# Save source folder
RUN printf "%s\n" "${PWD##}" > SOURCEFOLDER
# Move to /usr/src/app
WORKDIR /usr/src/app
# Move package to filesystem
COPY "$SOURCEFOLDER/app/package.json" ./
# Install NodeJS dependencies via NPM
RUN JOBS=MAX npm i --unsafe-perm --production && npm cache clean
# Move app to filesystem
COPY "$SOURCEFOLDER/app/index.js" ./
# Start app
CMD ["node", "/usr/src/app/index.js"]
這個(gè)文件相對(duì)較短,但有幾個(gè)要點(diǎn)需要注意:
-
我們使用 resin 的官方基礎(chǔ)鏡像。%%RESIN MACHINE NAME%% 允許我們從 resin.io 的 Dockerhub 動(dòng)態(tài)拉取圖像,因此它可以自動(dòng)替換為
artik5
或artik10
取決于您使用的設(shè)備。毫不奇怪,它還預(yù)裝了節(jié)點(diǎn)。 -
我們
NPM install
在添加其余源代碼之前運(yùn)行,這允許我們更改我們的 index.js 而不會(huì)使 resin.io 構(gòu)建器的緩存無(wú)效/node_modules
。這是一個(gè)性能增強(qiáng),所以如果現(xiàn)在還不完全清楚,請(qǐng)不要擔(dān)心。 -
CMD
命令在我們的構(gòu)建器上運(yùn)行之前的所有內(nèi)容,然后將完整的容器下載到設(shè)備并CMD
執(zhí)行命令,啟動(dòng)我們的應(yīng)用程序。
應(yīng)用程序邏輯在很大程度上是不言自明的,正如我提到的,如果您沒(méi)有連接傳感器,它有一個(gè)后備。
function getReading(cb){
// got a sensor ?
read_adc0(function(reading){
if (reading != 0) {
// sensor connected
cb(reading)
} else {
// no sensor connected so generate a value
cb(generateRandomVal(sensor_threshold))
}
});
}
當(dāng)sensor_threshold
超過(guò)時(shí),它會(huì)將事件數(shù)據(jù)推送到云端。
/*
Function that enables and reads proximity sensor
*/
function enable_proximity_sensor() {
console.log('Monitoring for movement');
setInterval(function() {
getReading(function(reading){
console.log('Sensor reading: ' + reading)
if (reading > sensor_threshold) {
console.log('pushing event to ARTIK Cloud');
push2ArtikCloud(reading);
}
})
}, poll_interval);
}
推送代碼
好的,讓我們部署。幸運(yùn)的是,這是一個(gè)簡(jiǎn)單的三步過(guò)程:Clone, add remote, push
. 從克隆這個(gè)存儲(chǔ)庫(kù)開始。
git clone https://github.com/resin-io-projects/resin-artik-cloud-publisher && cd resin-artik-cloud-publisher
在樹脂儀表板上導(dǎo)航到您的應(yīng)用程序,然后在右上角復(fù)制您的設(shè)備端點(diǎn)。
git add git push resin master
一旦您在構(gòu)建日志中看到 resin.io 獨(dú)角獸,這意味著您已經(jīng)構(gòu)建了容器,之后它將下載到您應(yīng)用程序中的所有設(shè)備。您可以從 resin.io 儀表板看到進(jìn)度。
![poYBAGOjtQuAfmNDAAGlkKGBDRQ519.png](https://file.elecfans.com/web2/M00/85/70/poYBAGOjtQuAfmNDAAGlkKGBDRQ519.png)
一旦應(yīng)用程序開始運(yùn)行。查看ARTIK Cloud以查看實(shí)時(shí)事件流。
注意:我們已經(jīng)針對(duì)以下版本的 ARTIK 對(duì)此進(jìn)行了測(cè)試。Artik10:開發(fā)。Board10,VER。0.5 (2015.12.23), Artik5: TYPE 5, VER. 3.2 (2015.10.22)
結(jié)論
所以這就是我們所取得的成就:
- 我們采用了一個(gè)應(yīng)用程序,并使用類似網(wǎng)絡(luò)的工作流程將其部署到一個(gè)硬件上,未來(lái)派擊掌!
- 我們使用環(huán)境變量為 ARTIK 設(shè)備遠(yuǎn)程提供運(yùn)行時(shí)配置。
- 我們深入 ARTIK Cloud 并發(fā)送了一些基本的事件數(shù)據(jù)。
如果您想了解有關(guān)樹脂的更多信息,請(qǐng)深入閱讀我們的文檔或在我們的聊天室中向我們的團(tuán)隊(duì)提問(wèn)。
?
- 使用ARTIK Cloud的智能家居
- Synergy Enterprise Cloud Toolbox for PK-CLOUD1-快速入門指南
- Application Example for Cloud Connectivity(AE-CLOUD2) 用戶手冊(cè)
- Application Example for Cloud Connectivity(AE-CLOUD1) 用戶手冊(cè)
- 原理圖 Cloud Option Board
- Lab on the Cloud 快速入門指南
- Lab on the Cloud 快速入門指南
- Synergy Enterprise Cloud Toolbox for PK-CLOUD1-快速入門指南
- Application Example for Cloud Connectivity(AE-CLOUD1) 用戶手冊(cè)
- ARTIK 10和ARTIK開源案例
- cloud-platform基于Spring Cloud的微服務(wù)平臺(tái)
- 基于Cloud Connected Zigbee IoT ThermostatSensing的參考設(shè)計(jì)
- K3Cloud的python開發(fā)實(shí)例資料說(shuō)明 24次下載
- 使用Spring Cloud與Docker實(shí)戰(zhàn)微服務(wù) 7次下載
- OnCommand_Cloud數(shù)據(jù)手冊(cè) 0次下載
- Spring Cloud :打造可擴(kuò)展的微服務(wù)網(wǎng)關(guān) 546次閱讀
- Intel Developer Cloud之Telemetry數(shù)據(jù)分析 639次閱讀
- Intel Developer Cloud Telemetry數(shù)據(jù)分析(一) 714次閱讀
- i2Cloud云災(zāi)備運(yùn)營(yíng)管理軟件特點(diǎn) 877次閱讀
- 如何解決Spring Cloud下測(cè)試環(huán)境路由問(wèn)題 1049次閱讀
- Spring Cloud Gateway服務(wù)網(wǎng)關(guān)的部署與使用詳細(xì)教程 1799次閱讀
- 如何建立一臺(tái)Windows 365企業(yè)版的Cloud PC 1960次閱讀
- 在貼片加工廠中有哪些安全防護(hù)需要了解 1409次閱讀
- 復(fù)合放大器實(shí)現(xiàn)高精度的高輸出驅(qū)動(dòng)能力 獲得最佳的性能 1712次閱讀
- 用降壓型穩(wěn)壓器或線性穩(wěn)壓器電源時(shí)值來(lái)會(huì)為負(fù)載供電 1058次閱讀
- Cloud RAN和移動(dòng)邊緣計(jì)算,二者形成分歧 981次閱讀
- Semtech推出LoRa Cloud地理定位服務(wù) 887次閱讀
- 一整套智慧企業(yè)解決方案,構(gòu)成了SAP一整套行之有效的智能生態(tài)系統(tǒng) 6677次閱讀
- 如何能更快地訓(xùn)練和部署物體檢測(cè)模型? 7088次閱讀
- 華為Cloud Fabric云數(shù)據(jù)中心網(wǎng)絡(luò)解決方案 2744次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論