📄
Thinger.io中文文件
  • 概覽
  • 裝置
    • ARDUINO
    • LINUX / RASPBERRY PI
    • SIGFOX
    • HTTP DEVICES
    • MQTT
  • 韌體程式設計
  • 雲端控制台
    • 裝置管理
    • 數據儲存桶
    • 端點
    • 儀表板
    • 檔案系統
    • 存取令牌
  • 擴充元件
    • The Things Network Plugin
    • Sigfox 擴充元件
    • Node-RED 擴充元件
  • 伺服器部署
  • 伺服器管理
  • 伺服器 API
  • THINGER.IO HARDWARE
    • ClimaStick
    • WiFi Button
  • MOBILE APP
Powered by GitBook
On this page
  • 需求
  • Installing a newer GCC Version
  • 安裝額外的依賴項
  • 連上雲端
  • 將客戶端作為常駐程式
  • 然後呢?

Was this helpful?

  1. 裝置

LINUX / RASPBERRY PI

PreviousARDUINONextSIGFOX

Last updated 5 years ago

Was this helpful?

本操作方法將介紹如何在Raspberry Pi中使用Thinger.io平台。其中包括如何下載,編譯和執行中可用的主要範例。

需求

  • 執行Raspbian的Raspberry Pi,且需可透過終端或SSH存取。像Ubuntu這樣的其他操作系統可能也行,但尚未經過測試。

Installing a newer GCC Version

注意:Raspbian Jessie開始的更新版本不須執行,請跳過此部分。

thinger.io的程式需使用現代編譯器來編譯。從Jessie開始的Raspbian版本已經提供了一個現代編譯器,但如果您使用較舊的Raspbian版本,則需要安裝更新的編譯器。

至少需要使用GCC 4.8.2以上的編譯器。請在終端中鍵入gcc -v以檢查是否需要更新編譯器。

另外,必須將系統更新至最新,因此請首先鍵入以下命令來進行升級。這可能需要一些時間,具體取決於您的網速。

sudo apt-get update
sudo apt-get upgrade

接下來,使用編輯器打開/etc/apt/sources.list,並將名稱wheezy替代為jessie。

sudo nano /etc/apt/sources.list

然後我們將再次更新列表,用以存取jessie的更新:

sudo apt-get update

現在,我們終於可以安裝GCC4.9了。

sudo apt-get install gcc-4.9 g++-4.9

最後一步是將Jessie恢復為Wheezy,打開/etc/apt/sources.list將jessie取代為wheezy,然後更新列表:

sudo nano /etc/apt/sources.list
sudo apt-get update

如果我們此時輸入gcc -v,預設版本仍為4.7。

我們需要刪除所有gcc備用方案以將預設版本設為新的gcc 4.9。

sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++

之後新增兩個gcc備用方案,並設GCC 4.9為優先。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9

在此階段,如果鍵入gcc-v,則應顯示版本4.9.2或更高版本。您始終可以使用以下指令更改預設編譯器。

sudo update-alternatives --config gcc

安裝額外的依賴項

如果您需要將thinger安裝為常駐程式,則必須使用CMake編譯範例。如果我們想要使用TLS安全地連接到平台,還需要安裝Open SSL。

首先更新apt列表

sudo apt-get update

安裝依賴項 (CMake和OpenSSL)

sudo apt-get install cmake libssl-dev

連上雲端

從GitHub下載最新的Linux客戶端版本。

git clone https://github.com/thinger-io/Linux-Client.git

進入我們剛剛複製的Linux-Client文件夾。

cd Linux-Client

是時候輸入驗證資訊了,請修改src文件夾下的main.cpp文件。

您可以使用任何你所希望的編輯器,此範例使用nano編輯文件。

nano src/main.cpp

在此畫面中,您必須將字段USER_ID,DEVICE_ID以及DEVICE_CREDENTIAL替換為您在平台中註冊裝置時提供的資訊。以下是編輯這些字段之前的main.cpp文件截圖。 完成變更參數後,離開nano請鍵入ctrl+x並輸入y來儲存變更。

如果您在Raspberry Pi上執行腳本,請確保run.sh包含-DRASPBERRY=ON參數,如下所示 -

cmake -DCMAKE_BUILD_TYPE=Release -DDAEMON=OFF -DRASPBERRY=ON

現在,您必須向run.sh腳本加入執行權限。

chmod +x run.sh

現在您可以執行它來測試是否所有功能都正常。

./run.sh

如果一切順利,你應該看看程式是如何自動編譯和執行的。該程式實際上回報了一些除錯訊息,幫助我們檢查我們是否正確配置了驗證資訊。您應該看到的預期結果如下圖所示。 現在,您可以切換到thinger.io控制台並檢查Raspberry是否顯示為已連接。您甚至可以嘗試透過API Explorer執行main.cpp中定義的資源sum來測試加總。

將客戶端作為常駐程式

如果關閉終端或結束SSH連接,客戶端將會停止運作。

您可以將客戶端作為常駐程式執行以避免關閉,即使您的Raspberry重新啟動它也會自動啟動。

要將客戶端作為服務執行,請切換至Raspberry安裝資料夾:

cd install/raspberry/

然後執行install.sh腳本,其將編譯並將客戶端作為服務安裝。

此步驟將複製init腳本到/etc/init.d/thinger,並將已編譯的二進制文件複製到/usr/local/bin/thinger。因此,如果要刪除客戶端常駐程式,可以停止該服務並刪除這些文件。

chmod +x install.sh
./install.sh

請注意,此指令將安裝並在後台作為常駐程式執行thinger.io客戶端,因此如果再次調用run.sh執行獨立客戶端的腳本,則兩個客戶端將同時連接到平台並持續中斷彼此的連接。如果需要停止後台客戶端,請使用此指令。

sudo service thinger stop

然後呢?

現在,您可以參考已經存在的範例sum,將您所需的資源結合到main.cpp文件中,您可以嘗試定義用於打開和關閉LED、讀取傳感器值、執行系統命令等的資源。此處將很快提供一些基本教學。

在thinger.io控制台中註冊裝置並手動保存憑據(credentials)。如果您需要有關此部分的幫助,請檢視。

此文件
GitHub 儲存庫