siemens x
工業(yè)連接

虹科教您 | 把工業(yè)樹(shù)莓派連接至Ubidots云平臺(tái)

2025China.cn   2021年06月07日

 應(yīng)用背景

  Ubidots是一個(gè)物聯(lián)網(wǎng)云平臺(tái),通過(guò)設(shè)備友好的API(可通過(guò)HTTP / MQTT / TCP / UDP協(xié)議訪問(wèn))簡(jiǎn)單安全地將硬件和數(shù)字輸入連接到Ubidots Cloud。它可以從任何啟用互聯(lián)網(wǎng)的設(shè)備將數(shù)據(jù)發(fā)送到云端,比如 Arduino、樹(shù)莓派、Particle、Espressif、Onion,等等。此外,它還提供了多種類型的服務(wù),比如設(shè)備連接管理以及數(shù)據(jù)可視化,開(kāi)發(fā)人員可以基于實(shí)時(shí)數(shù)據(jù)和可視化工具配置操作和報(bào)警。

  工業(yè)級(jí)樹(shù)莓派能與以太網(wǎng)進(jìn)行連接,自然也可以與Ubidots云平臺(tái)進(jìn)行數(shù)據(jù)的通信。下面我們就來(lái)講講工業(yè)樹(shù)莓派如何連接Ubidots。

  連接方法

  RevPi Core具有定制的Raspbian系統(tǒng)可以通過(guò)運(yùn)行python腳本隨機(jī)生成壓力、溫度和濕度讀數(shù)并將數(shù)據(jù)發(fā)送到Ubidots云平臺(tái)。

  首先通過(guò)RevPi Core終端使用nano編輯器創(chuàng)建Python腳本(可以通過(guò)putty遠(yuǎn)程連接,也可以外接顯示屏,進(jìn)入終端窗口):nano ubidots_revpi.py。

  將以下代碼粘貼到nano編輯器中,并將代碼中的TOKEN替換成您自己的,獲取方法見(jiàn)下圖:

  ######################################################

  This script simulates different sensors values using the random module and make

  # a HTTP request to Ubidots Cloud (https://ubidots.com/)

  #

  # Author: M. Hernandez

  ######################################################

  import requests

  import time

  import random

  from uuid import getnode as get_mac

  # Assign your Ubidots TOKEN

  TOKEN = "Assign_your_Ubidots_token"

  # Set the delay desired to post the data

  DELAY = 1

  '''

  This method build the JSON to be sent to the Ubidots Cloud

  '''

  def build_json(variable_1, value_1, variable_2, value_2, variable_3, value_3):

  try:

  data = {variable_1: value_1, variable_2: value_2, variable_3: value_3}

  return data

  except:

  return None

  '''

  This method make the HTTP Request to the Ubidots Cloud

  '''

  def post_variable(device, value_1, value_2, value_3):

  try:

  url = "https://industrial.api.ubidots.com/api/v1.6/devices/" + device

  headers = {"X-Auth-Token": TOKEN, "Content-Type": "application/json"}

  data = build_json("temperature", value_1, "humidity", value_2, "pressure", value_3)

  response = requests.post(url=url, headers=headers, json=data)

  return response.json()

  except:

  pass

  if __name__ == "__main__":

  while True:

  mac = get_mac() # get the mac address of your device

  device_mac = ':'.join(("%012X" % mac)[i:i+2] for i in range(0, 12, 2))

  temp_value = random.randint(0,15)*2

  hum_value = random.randint(20,50)

  press_value = random.randint(2,50)*2

  print post_variable(device_mac, temp_value, hum_value, press_value)

  time.sleep(DELAY)

  按Ctrl+0,確認(rèn)要寫入的文件名(ubidots_revpi.py) ,然后按Enter 。要關(guān)閉nanno編輯器,請(qǐng)按Ctrl + X。輸入以下命令運(yùn)行腳本:python ubidots_revpi.py。

  腳本開(kāi)始運(yùn)行后,您將看到來(lái)自Ubidots服務(wù)器的成功狀態(tài)代碼響應(yīng)201:

  轉(zhuǎn)到您的Ubidots帳戶并確認(rèn)已接收到數(shù)據(jù)。您將在“設(shè)備”部分中看到一個(gè)自動(dòng)創(chuàng)建的新設(shè)備,該設(shè)備名稱為RevPi Core的MAC地址。

  再單擊“設(shè)備”部分中的任何設(shè)備,就可以以可視化的方式看到RevPi Core模塊發(fā)送給Ubidots云平臺(tái)的數(shù)據(jù)。如您所見(jiàn),示例代碼提供了三個(gè)變量:濕度,壓力和溫度。

  RevPi Core

  RevPi Core是處理不需要四核性能的簡(jiǎn)單任務(wù)的理想設(shè)備,它配備了Raspberry Pi計(jì)算模塊1。該計(jì)算模塊基本上由兩個(gè)IC組成:一個(gè)具有512 MB RAM和4 GB eMMC閃存的Broadcom BCM2835 SoC,時(shí)鐘頻率為700MHz。操作系統(tǒng)是定制的Raspbian incl并預(yù)先安裝了RT補(bǔ)丁。

  RevPi Core使用了最先進(jìn)的高效DC-DC轉(zhuǎn)換器(總體效率大于80%),從而可以有效減少發(fā)熱。模塊不僅可以在20.4 V至28.8 V標(biāo)準(zhǔn)化的電源電壓范圍運(yùn)行,也可以在10.2 V輸入電壓下運(yùn)行,這意味著您甚至可以使用汽車電池或太陽(yáng)能電池板作為電源。先進(jìn)的保護(hù)電路可確保即使在輸入電源線上受到大量電磁干擾的情況下,模塊也能連續(xù)運(yùn)行(前提是正確連接了功能性接地)。

  像Raspberry Pi一樣,RevPi Core 也配備了通用接口:

  ●1個(gè)RJ45以太網(wǎng)插座

  ●2個(gè)USB 2.0插座

  ●1個(gè)Micro HDMI插座

  ●1個(gè)Micro USB 2.0插槽

  ●2 個(gè)PiBridge(用于RevPi模塊擴(kuò)展)

  RevPi Core 模塊可以適應(yīng)惡劣的工業(yè)環(huán)境:

  ●電源:12-24 VDC -15%/ +20%,max.10W

  ●工作溫度:-40°C至55°C

  ●ESD保護(hù):符合EN 61131-2和IEC 61000-6-2的4kV / 8 kV

  ●浪涌/沖擊測(cè)試:根據(jù)EN 61131-2和IEC 61000-6-2進(jìn)行

  ●EMI測(cè)試:根據(jù)EN 61131-2和IEC 61000-6-2

  ●UL認(rèn)證(UL文件編號(hào)E494534

(轉(zhuǎn)載)

標(biāo)簽:虹科電子 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道