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