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