電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>關(guān)于幫助農(nóng)民的地球漫游車(chē)開(kāi)源案例

關(guān)于幫助農(nóng)民的地球漫游車(chē)開(kāi)源案例

2022-12-22 | zip | 0.03 MB | 次下載 | 免費(fèi)

資料介紹

描述

嗨,大家

本項(xiàng)目主要是關(guān)于幫助農(nóng)民的地球漫游車(chē)。本項(xiàng)目主要包含三個(gè)模數(shù)。

模塊 1:

完整設(shè)置的硬件連接現(xiàn)在考慮直流電機(jī)。

這需要兩個(gè)直流電機(jī)和一個(gè)電機(jī)驅(qū)動(dòng)器電機(jī)驅(qū)動(dòng)器包含

pYYBAGOibxWABz8rAAC4JU3Vcuk816.jpg
電機(jī)驅(qū)動(dòng)器
?

在這里,您必須將 v+、en1、en2 連接到面包板中的單點(diǎn),并將電機(jī)的四根電線連接到 1 ma 2 引腳中的四個(gè)輸入。現(xiàn)在接下來(lái)將電機(jī)驅(qū)動(dòng)器引腳的輸出引腳連接到 arduino 和電池應(yīng)如下圖連接。

pYYBAGOibyWABp2QAAEgDqmA1dw607.jpg
?

現(xiàn)在接下來(lái)我們必須將它們連接到螺栓。相同的四個(gè)引腳應(yīng)連接到螺栓的數(shù)字引腳(0、1、2、3)。

poYBAGOibyeAfB6fAABgTv9z8As160.png
土壤傳感器
?

現(xiàn)在土壤傳感器應(yīng)該連接到螺栓,但將數(shù)字引腳連接到螺栓(數(shù)字 4 引腳)?,F(xiàn)在終于是時(shí)候?qū)?a href='http://wenjunhu.com/tags/溫度傳感器/' target='_blank' class='arckwlink_none'>溫度傳感器連接到螺栓模擬引腳(A0)了。

pYYBAGOibzKAEdt_AADaCrsJb70328.jpg
溫度感應(yīng)器
?

現(xiàn)在所有的地面和 v+(溫度傳感器、濕度傳感器)、en1、en2 到 arduino 的 5v,最后應(yīng)該為所有引腳提供所需電壓的電池。

poYBAGOibzqAQpEtAABSnxrHTIM304.png
螺栓模塊
?

模塊 2:

NRF 連接:

poYBAGOibzyAFDisAAANJ8kYsoE469.png
?

上圖稱(chēng)為nrf模塊,用于無(wú)線電通信。上圖也應(yīng)該包含在我們的電路中以控制附近區(qū)域的汽車(chē)。

pYYBAGOibz-AFHZjAAAdOYmdrPI492.png
?

NRF 與 ARDUINO 的最終連接

pYYBAGOib0OAJtlMAACB_r_T60M357.png
最終連接
?

現(xiàn)在是連接 JOY STICKS 的時(shí)候了:

使用兩個(gè)操縱桿

1)控制小車(chē)方向。

2)控制舵機(jī)。

pYYBAGOib0eAarVxAAAk6v0rVPc924.png
?

模塊 3:

最終編碼

1)阿杜諾編碼:

發(fā)射機(jī):

#include 
#include 
#include 
#include 
#include 

RF24 radio(7, 8); // CSN, CE
const byte address[6] = "00001";

int x_key = A1;                                              
int y_key = A0;                                              
int p_key = A3;                                              
int q_key = A2;                                              
int x_pos;
int y_pos;
int p_pos;
int q_pos;

void setup() {
  radio.begin();
  radio.openWritingPipe(address)
;
  radio.setPALevel(RF24_PA_MIN);
  radio.setChannel(87);
  radio.setDataRate(RF24_
250KBPS);
  radio.stopListening();
 
  Serial.begin(9600);
  pinMode (x_key, INPUT) ;                    
  pinMode (y_key, INPUT) ;
  pinMode (p_key, INPUT) ;                    
  pinMode (q_key, INPUT) ;        
}
int pos;
void loop() {
  x_pos = analogRead (x_key) ;  
  y_pos = analogRead (y_key) ;  
  p_pos = analogRead (p_key) ;  
  q_pos = analogRead (q_key) ;  
  Serial.println(x_pos);
  Serial.println(y_pos);
  Serial.println(p_pos);
  Serial.println(q_pos);
  if (p_pos>400 && p_pos<600 && q_pos>400 && q_pos<600)
  {
  if(x_pos>400 && x_pos<600 && y_pos>400 && y_pos<600)
  {
    pos=100;
    radio.write(&pos, sizeof(pos));
  }
  if(x_pos>400 && x_pos<600 && y_pos<400)
  {
    pos=200;
    radio.write(&pos, sizeof(pos));
  }
  if(x_pos>400 && x_pos<600 && y_pos>600)
  {
    pos=300;
    radio.write(&pos, sizeof(pos));
  }
  if(y_pos>400 && y_pos<600 && x_pos<400)
  {
    pos=400;
    radio.write(&pos, sizeof(pos));
  }
  if(y_pos>400 && y_pos<600 && x_pos>600)
  {
    pos=500;
    radio.write(&pos, sizeof(pos));
  }
  Serial.println(pos);
  delay(100);
}
else if(p_pos<400 || p_pos>600)
{
  if(p_pos<400)
  {
    pos=600;
    radio.write(&pos, sizeof(pos));
  }
  if(p_pos>600)
  {
    pos=700;
    radio.write(&pos, sizeof(pos));
  }
  delay(100);
}
}

接收者:

#include 
#include 
#include 
#include 
#include 
#include 
Servo servo;

RF24 radio(7, 8); // CSN, CE
const byte address[6] = "00001";
int servo_pin = 9;
int sensor_pin=A0;
int output_value;

void setup() {
  Serial.begin(9600);
  radio.begin();
  servo.attach (servo_pin ) ;
  radio.openReadingPipe(0, address);
  radio.setPALevel(RF24_PA_MIN);
  radio.setChannel(87);
  radio.setDataRate(RF24_250KBPS);
  radio.startListening();
}
int pos;
void loop() {
  if (radio.available()) {
    radio.read(&pos, sizeof(pos));
    Serial.println(pos);
    if(pos==100)
    {
    digitalWrite(6,LOW);
    digitalWrite(5,LOW);
    digitalWrite(4,LOW);
    digitalWrite(3,LOW);
  //   Serial.println("gk0");
    }
    else if (pos==200){
    digitalWrite(6,HIGH);
    digitalWrite(5,LOW);
    digitalWrite(4,HIGH);
    digitalWrite(3,LOW);
    delay(10);
    // Serial.println("gk1");
    }
     else if (pos==300){
    digitalWrite(6,LOW);
    digitalWrite(5,HIGH );
    digitalWrite(4,LOW);
    digitalWrite(3,HIGH);
     delay(10);
   // Serial.println("gk2");
    }
    else if (pos==400){
    digitalWrite(6,LOW);
    digitalWrite(5,HIGH );
    digitalWrite(4,HIGH);
    digitalWrite(3,LOW);
    delay(10);
   //  Serial.println("gk3");
    }
     else if (pos== 500){
    digitalWrite(6,HIGH);
    digitalWrite(5,LOW );
    digitalWrite(4,LOW);
    digitalWrite(3,HIGH);
     delay(10);
    //  Serial.println("gk5");
    }
    else if (pos== 600){
     servo.write(90);
     delay(10);    
    //  Serial.println("gk6");
    }
     else if (pos== 700){
     servo.write(180);
     delay(10);
    //  Serial.println("gk7");
   
 }
  }
  else
  {
    Serial.println("connection lost");  
  }
}
}

現(xiàn)在接收電報(bào)消息:(服務(wù)器代碼)

登錄到ripl.it之類(lèi)的服務(wù)器之一,然后上傳代碼

主程序

import requests                 # for making HTTP requests
import json                     # library for handling JSON data
import time                     # module for sleep operation
from boltiot import Bolt        # importing Bolt from boltiot module
import conf                     # config file
mybolt = Bolt(conf.bolt_api_key, conf.device_id)
def get_sensor_value_from_pin(pin):
try:
response = mybolt.digitalRead(pin)
data = json.loads(response)
if data["success"] != 1:
print("Request not successfull")
print("This is the response->", data)
return -999
sensor_value = int(data["value"])
return sensor_value
except Exception as e:
print("Something went wrong when returning the sensor value")
print(e)
return -999
def send_telegram_message(message):
"""Sends message via Telegram"""
url = "https://api.telegram.org/" + conf.telegram_bot_id + "/sendMessage"
data = {
"chat_id": conf.telegram_chat_id,
"text": message
}
try:
response = requests.request(
"GET",
url,
params=data
)
print("This is the Telegram response")
print(response.text)
telegram_data = json.loads(response.text)
return telegram_data["ok"]
except Exception as e:
print("An error occurred in sending the alert message via Telegram")
print(e)
return False
while True:
# Step 1
sensor_value = get_sensor_value_from_pin("4")
print("The current sensor value is:", sensor_value)
# Step 2
if sensor_value == -999:
print("Request was unsuccessfull. Skipping.")
time.sleep(10)
continue
# Step 3
if sensor_value >= conf.threshold:
print("The current temperature value is")
message = "The moisture value is just greater than threshold "
telegram_status = send_telegram_message(message)
print("This is the Telegram status:", telegram_status)
# Step 4
time.sleep(100)

配置文件:

"""Configurations for telegram_alert.py"""
bolt_api_key = "XXXX"               # This is your Bolt Cloud API Key
device_id = "XXXX"                  # This is the device ID and will be similar to BOLTXXXX where XXXX is some numbers
telegram_chat_id = "@XXXX"          # This is the channel ID of the created Telegram channel. Paste after @
telegram_bot_id = "botXXXX"         # This is the bot ID of the created Telegram Bot. Paste after bot
threshold = 0                     # Threshold beyond which the alert should be sent

輸入你的 bot 和 api 值

過(guò)程:

使用 Telegram 發(fā)送警報(bào)消息

什么是電報(bào)?

Telegram 是一款類(lèi)似于 Whatsapp 的消息應(yīng)用程序。您還可以發(fā)送和接收消息以及文??件。免費(fèi)使用。您可以通過(guò)您的 Android/iOS/Windows 手機(jī)以及您的 PC 或 Mac 訪問(wèn)該平臺(tái)。

?
?

一些電報(bào)術(shù)語(yǔ) -

什么是電報(bào)頻道?

頻道之于 Telegram 就像群組之于 Whatsapp。頻道是一種向大量觀眾傳播信息的工具。他們可以擁有無(wú)??限數(shù)量的訂閱者,他們可以通過(guò)永久 URL 公開(kāi),并且頻道中的每個(gè)帖子都有自己的查看計(jì)數(shù)器。

什么是機(jī)器人

機(jī)器人是在 Telegram 中運(yùn)行的第三方應(yīng)用程序。用戶(hù)可以通過(guò)向機(jī)器人發(fā)送消息、命令和請(qǐng)求來(lái)與機(jī)器人交互。

我們將使用機(jī)器人在我們的頻道上發(fā)送警報(bào)。

我們將在這個(gè)項(xiàng)目中學(xué)到什么?

在這個(gè)項(xiàng)目中,當(dāng)傳感器值超過(guò)您設(shè)置的閾值時(shí),您將能夠通過(guò) Telegram 向您的手機(jī)發(fā)送警報(bào)。

這個(gè)項(xiàng)目我需要什么?

要通過(guò)電報(bào)發(fā)送警報(bào)和消息,您需要,

  • 具有 Internet 連接的 Android/iOS/Windows 手機(jī)。
  • 電報(bào)帳戶(hù)。為此,您需要一個(gè)手機(jī)號(hào)碼。
  • 通過(guò) PuTTY 或虛擬機(jī)訪問(wèn)您的 Ubuntu 操作系統(tǒng)

設(shè)置電報(bào)

注冊(cè)/登錄 Telegram 的步驟

  • 前往手機(jī)上的 Playstore 或 App Store 并搜索 Telegram。
  • 下載并安裝最新版本的 Telegram 應(yīng)用程序。
  • 注冊(cè)一個(gè)新帳戶(hù)或通過(guò)提供您的手機(jī)號(hào)碼登錄 Telegram。
  • Telegram 會(huì)打電話(huà)給您或向您發(fā)送短信以驗(yàn)證您的手機(jī)號(hào)碼。
  • 驗(yàn)證您的帳戶(hù)并在需要時(shí)批準(zhǔn)任何權(quán)限。
  • 您將登錄到 Telegram,并會(huì)看到類(lèi)似于下圖的屏幕。(如果和下面的截圖有出入也沒(méi)關(guān)系)
poYBAGNYtp2AMARVAAE9P_Uh6o0820.png
?

您已成功安裝 Telegram 并設(shè)置您的帳戶(hù)。在接下來(lái)的課程中,我們將學(xué)習(xí)更多關(guān)于頻道和機(jī)器人的知識(shí)。

創(chuàng)建頻道

什么是電報(bào)頻道?

頻道之于 Telegram 就像群組之于 Whatsapp。頻道是一種向大量觀眾傳播信息的工具。他們可以擁有無(wú)??限數(shù)量的訂閱者,他們可以通過(guò)永久 URL 公開(kāi),并且頻道中的每個(gè)帖子都有自己的查看計(jì)數(shù)器。

創(chuàng)建頻道的步驟

  • 轉(zhuǎn)到 Telegram 應(yīng)用程序的主屏幕。
  • 從左側(cè)滑動(dòng)以顯示菜單。
  • 點(diǎn)擊“新頻道”。
pYYBAGNYtqGAEEzLAAFEwa5k-TQ041.png
?
  • 它會(huì)要求您提供頻道的名稱(chēng)和說(shuō)明。給一個(gè)合適的名字和描述。添加照片是可選的。
pYYBAGOifbqAOqXYAAI3VmZOrxs685.jpg
?
  • 在下一個(gè)屏幕中,將頻道設(shè)置為公共。
  • 在同一屏幕上,它會(huì)要求您輸入頻道的永久鏈接。您可以使用小寫(xiě)字母和數(shù)字 0-9 來(lái)創(chuàng)建頻道鏈接。
  • 請(qǐng)注意,頻道鏈接名稱(chēng)是全局的,只有當(dāng)鏈接名稱(chēng)可用時(shí),您才能創(chuàng)建頻道鏈接。頻道鏈接名稱(chēng)類(lèi)似于電子郵件地址,即一次只能存在一個(gè)唯一的電子郵件 ID。
  • 您可以將頻道鏈接名稱(chēng)保留為 temperature_alert_,后跟您的電子郵件 ID。例如,如果我的電子郵件 ID 是 developer@boltiot.com,我可以將頻道鏈接名稱(chēng)保留為temperature_alert_developer_boltiot_com (我刪除了 @ 和. 符號(hào),因?yàn)樗遣辉试S的,并將其替換為下劃線 _)這只是一個(gè)建議。頻道鏈接名稱(chēng)可以保留,只要有效即可。
  • 記下此頻道永久鏈接名稱(chēng)。稍后將需要將消息發(fā)送到此頻道。例如下面截圖中的頻道鏈接名稱(chēng)是“ temperature_alert”。
pYYBAGOifdGARSBlAAKMhsbKehQ376.jpg
?
  • 恭喜!您已經(jīng)創(chuàng)建了一個(gè)新頻道。您還可以從您的應(yīng)用程序主屏幕查看此頻道。
pYYBAGOifdmAWvEGAAJGeDSOCG0315.jpg
?
  • 您可以單擊頂部的頻道名稱(chēng)以查看有關(guān)它的更多詳細(xì)信息。
poYBAGOifd6AODKMAAFYkV40E7Q745.jpg
?
  • 接下來(lái),我們需要?jiǎng)?chuàng)建一個(gè)機(jī)器人并將其添加到頻道,以便它可以在此頻道中為我們發(fā)布警報(bào)。

創(chuàng)建一個(gè)機(jī)器人

什么是機(jī)器人?

機(jī)器人是在 Telegram 中運(yùn)行的第三方應(yīng)用程序。用戶(hù)可以通過(guò)向機(jī)器人發(fā)送消息、命令和請(qǐng)求來(lái)與機(jī)器人交互。

我們將使用機(jī)器人在我們的頻道上發(fā)送警報(bào)。

創(chuàng)建一個(gè)新的機(jī)器人

Telegram 允許我們?cè)诿麨椤癇otFather”的機(jī)器人的幫助下創(chuàng)建一個(gè)新的機(jī)器人。它是創(chuàng)建和管理其他機(jī)器人的單個(gè)機(jī)器人。

  • 在應(yīng)用程序的主屏幕上,單擊右上角的搜索圖標(biāo)并輸入“botfather”。
poYBAGNYtqWAP4AfAAFzngz-3v4174.png
?
  • 在搜索結(jié)果中,單擊“BotFather”的正確結(jié)果,如下所示。正確的“BotFather”名稱(chēng)旁邊會(huì)有一個(gè)藍(lán)色勾號(hào)。這將帶您進(jìn)入與“BotFather”的聊天窗口。
pYYBAGNYtqmATm9RAAIQZagjXE8796.png
?
  • 聊天將已經(jīng)有一些項(xiàng)目,并將向您顯示一個(gè)命令列表以開(kāi)始使用。
pYYBAGNYtq6AdptKAASp06nlfeU822.jpg
?
  • 由于我們需要?jiǎng)?chuàng)建一個(gè)新的機(jī)器人,因此請(qǐng)繼續(xù)并在窗口中輸入“/newbot”。
  • 它會(huì)要求您輸入更多詳細(xì)信息,例如 Bot 名稱(chēng)和 Bot 用戶(hù)名。
  • 成功創(chuàng)建機(jī)器人后,您將看到一個(gè)類(lèi)似于下圖的屏幕,其中包含機(jī)器人令牌。此令牌用于控制您的機(jī)器人并代表它發(fā)送消息。請(qǐng)妥善保管此令牌,因?yàn)樗鼘⒃试S任何人訪問(wèn)您的機(jī)器人。
poYBAGNYtrKAezJsAARA5B6LaDo298.png
?
  • 在上面的截圖中,Bot 令牌是“894346529:AAhuJ2XJQy5dlEtLYF0sc0Z_qu0fSqihSSc”。請(qǐng)將其保存為 telegram_bot_id。telegram_bot_id 保存為“bot”,后跟 bot 令牌。因此,在此示例中,telegram_bot_id 將為“bot894346529:AAhuJ2XJQy5dlEtLYF0sc0Z_qu0fSqihSSc”。
  • telegram_bot_id 將在 python 代碼中用于發(fā)送消息。python代碼將在后面的課程中教授。
  • 另外,保存 Bot ID 時(shí)請(qǐng)小心。您可能會(huì)混淆 0 和 O、I 和 1 等,因?yàn)樗鼈兛雌饋?lái)很相似。
  • 恭喜,您已經(jīng)創(chuàng)建了一個(gè)新的機(jī)器人。現(xiàn)在,我們需要將它添加到我們之前創(chuàng)建的頻道中,以便我們可以發(fā)送警報(bào)。

將機(jī)器人添加到頻道

  • 從 App 主屏幕,打開(kāi)我們之前創(chuàng)建的頻道。
  • 在屏幕中,單擊頂部的頻道名稱(chēng)以打開(kāi)該頻道的信息。
pYYBAGOiflSAAAUwAALSO2SDuVk654.png
?
  • 單擊“管理員”按鈕,以便我們可以將新創(chuàng)建??的機(jī)器人添加到頻道中。
pYYBAGOifl6ASNNFAAIxmOFfcoo801.png
?
  • 使用機(jī)器人的用戶(hù)名搜索我們創(chuàng)建的機(jī)器人。找到正確的 Bot 后,單擊它以將其添加到頻道。請(qǐng)確保您在上一步中單擊了管理員按鈕,因?yàn)檫@將允許我們的機(jī)器人發(fā)布到頻道。
poYBAGOifmaAfI2fAAMTEF7_H8c854.png
?
  • 系統(tǒng)將要求您確認(rèn)機(jī)器人的權(quán)限。按右上角的刻度線繼續(xù)將機(jī)器人添加到頻道。確保機(jī)器人有權(quán)“發(fā)布消息”。
pYYBAGOifm-ATB8xAAGFaCa2M6w881.jpg
?
  • 您現(xiàn)在將在頻道的管理員列表中看到新創(chuàng)建的機(jī)器人。
pYYBAGOifnKAMonFAAESOFo_pxk341.png
?
  • 現(xiàn)在我們將編寫(xiě)代碼以通過(guò) Bot 將消息發(fā)送到頻道。

現(xiàn)在為 TWILLO 和 MAIL GUN 設(shè)置網(wǎng)絡(luò)

使用 Google Assistant 在您的手機(jī)上隨時(shí)通過(guò)短信和電子郵件接收 LM35 溫度傳感器值。

poYBAGOifneAc-XjAADAuvsYzM4634.jpg
?

當(dāng)您需要隨時(shí)檢查 Iot 項(xiàng)目的傳感器值時(shí),您會(huì)怎么做?你只需登錄到你的云來(lái)檢查它。看起來(lái)很簡(jiǎn)單,對(duì)吧?但是,如果您必須每小時(shí)檢查一次值或每隔幾分鐘檢查一次值,并且一天要檢查多次,該怎么辦?那會(huì)有點(diǎn)(非常)麻煩,對(duì)吧?現(xiàn)在,想象一個(gè)世界,您只需對(duì) Google 智能助理說(shuō)“將傳感器值發(fā)送給我”,即可通過(guò)短信和電子郵件獲取傳感器值。等等,等等,等等。那種情況不是想象出來(lái)的,因?yàn)槟銈冏约簬撞骄湍茏龅健?/font>請(qǐng)仔細(xì)閱讀,找出答案。

在此項(xiàng)目中,我們將通過(guò)發(fā)送給 Google 智能助理的命令通過(guò)短信和電子郵件從 LM35 傳感器接收溫度傳感器值。

第 1 步:硬件設(shè)置

將 LM35 傳感器握在手中,以便您可以看到名稱(chēng)。三個(gè)引腳從左到右分別是VCC、輸出和GND。將三個(gè)引腳連接到母線到公線。將對(duì)應(yīng)于從左到右的三個(gè)引腳的三根線連接到 Bolt WiFi 模塊上的 5 V、A0 和 GND 引腳。將 WiFi 模塊連接到 5 V 電源。確保它已連接到有效的互聯(lián)網(wǎng)連接。

第 2 步:在 Integromat 中創(chuàng)建 IFTTT 模塊

登錄您的 Integromat 帳戶(hù)。如果您尚未在 Integromat 上注冊(cè),則可以單擊此處創(chuàng)建一個(gè)帳戶(hù)。登錄后,點(diǎn)擊屏幕右上角的“創(chuàng)建新場(chǎng)景”。在屏幕中選擇 IFTTT、HTTP、Mailgun 和 Twilio 以選擇所需的工具,然后單擊“繼續(xù)”。然后單擊白色圓圈并從列表中選擇 IFTTT,然后從菜單中選擇“接收數(shù)據(jù)”。該模塊對(duì)于將其連接到 IFTTT 上的 Applet 至關(guān)重要,稍后將進(jìn)行討論。單擊“添加”添加一個(gè)新的 Webhook,然后為其指定一個(gè)合適的名稱(chēng),然后單擊“保存”。現(xiàn)在,您將獲得一個(gè) URL 或鏈接。保存它以供進(jìn)一步使用。

pYYBAGOifnuAUQSTAABP2hiw2wo370.jpg
?

第 3 步:在 Integromat 中創(chuàng)建 HTTP 模塊

接下來(lái),單擊附加到模塊的“+”符號(hào)以添加新模塊。選擇“HTTP”,然后選擇“發(fā)出請(qǐng)求”。這是從 Bolt Iot Cloud 接收傳感器值所必需的。在 URL 中,粘貼鏈接https://cloud.boltiot.com/remote/your-bolt-iot-api-key/analogRead?pin=A0&deviceName=BOLTXXXXXXX。將“your-bolt-iot-api-key”和“BOLTXXXXXXX”替換為您可以在 Bolt Iot Cloud 中輕松找到的相應(yīng)憑據(jù)。讓方法為“GET”并單擊“OK”。

上面的鏈接用于從 Bolt Iot Cloud 獲取傳感器值。上述鏈接的輸出將采用 {"value": "XXX", "success": "1"} 的形式,其中 XXX 是傳感器值。

pYYBAGOjtJqAWkQBAABqLyRCgq0151.jpg
?

第 4 步:在 Integromat 中創(chuàng)建 Mailgun 模塊

現(xiàn)在,再次單擊“+”并在搜索框中鍵入“Flow Control”并選擇它,然后選擇“Router”。必須制作兩個(gè)白色圓圈。單擊第一個(gè)白色圓圈并選擇“Mailgun”,然后選擇“發(fā)送電子郵件”。在這里,Mailgun 用于接收帶有溫度的電子郵件。如果您已經(jīng)在 Mailgun 中擁有一個(gè)帳戶(hù),那么您必須擁有可以在您的 Mailgun 帳戶(hù)中輕松找到的 API 密鑰和域名。如果您在 Mailgun 中沒(méi)有帳戶(hù),則可以按照下面給出的替代步驟操作。根據(jù)要求填寫(xiě)所需的詳細(xì)信息。輸入收件人的郵件(這是您的電子郵件地址)。在“發(fā)件人”字段中,鍵入“test@yourdomainname”。在“內(nèi)容”部分,我們需要寫(xiě)入溫度值而不是傳感器值。要將溫度值轉(zhuǎn)換為傳感器值,我們需要將該數(shù)字除以 10.24。要獲得 XXX 形式的傳感器值,我們需要消除我們使用函數(shù)“substring”的所有其他字符。單擊旁邊對(duì)話(huà)框中的“A”符號(hào),然后選擇“子字符串”。

pYYBAGOjtJ6AOpbkAAB1Um0gtIQ044.jpg
?

在括號(hào)內(nèi)的第一個(gè)空格中,單擊星號(hào)下的“數(shù)據(jù)”選項(xiàng),然后在第二個(gè)空格和第三個(gè)空格中單擊“11”和“14”。嚴(yán)格來(lái)說(shuō),這不是獲取傳感器值的正確方法,因此我使用 hack 來(lái)獲取。如果有人知道正確的方法,他們可以在下面的評(píng)論部分提及該方法。

pYYBAGOjtJ6AOpbkAAB1Um0gtIQ044.jpg
?
poYBAGOjtKOAfwMYAABqVB_6ghM256.jpg
?

后者是為了僅從輸出中捕獲“XXX”。然后將該數(shù)字除以 10.24

poYBAGOjtKeAYQVIAABxmHj5tBY458.jpg
?

在保存場(chǎng)景之前,不要忘記打開(kāi)屏幕底部的“計(jì)劃”并將“運(yùn)行場(chǎng)景”選擇為“立即”。您的最終方案應(yīng)如下所示。

pYYBAGOjtKmAN10vAABhx0BQrAk627.jpg
?

第 6 步:在 IFTTT 中制作新的 Applet

登錄到您的 IFTTT 帳戶(hù)。如果您還沒(méi)有在 IFTTT 上注冊(cè),那么您可以單擊此處創(chuàng)建一個(gè)帳戶(hù)。登錄后,單擊“我的小程序”部分下的“新建小程序”。在搜索框中搜索后,依次點(diǎn)擊“+this”和“Google Assistant”。在以下屏幕中單擊“說(shuō)一個(gè)簡(jiǎn)單的短語(yǔ)”。鍵入要為其觸發(fā)所需操作的命令。

pYYBAGOjtKuAK34mAAAzwfVA1hs899.jpg
?

單擊“觸發(fā)器”,然后單擊“+那個(gè)”。在搜索框中搜索“Webhooks”并選擇它,然后在以下屏幕中選擇“Make a web request”。在 URL 字段中,粘貼我們?cè)?Integromat 中創(chuàng)建 IFTTT 模塊后在第 2 步中獲得的鏈接。當(dāng)您對(duì) Google Assistant 說(shuō)出命令時(shí),此步驟對(duì)于在 Integromat 中運(yùn)行場(chǎng)景非常重要。然后,在方法中選擇“POST”并單擊“創(chuàng)建操作”。為小程序?qū)懸粋€(gè)合適的名稱(chēng),然后選擇“完成”。

poYBAGOjtK6AWMmDAAAyx2AH97o228.jpg
?

而已。現(xiàn)在看看當(dāng)您拿出手機(jī)并說(shuō)“Ok Google,發(fā)送溫度傳感器值”時(shí)的神奇之處。

原理圖

將母對(duì)公電線連接到 LM35 傳感器

pYYBAGOjtLGAce1DAABIqg9Uepk652.jpg
?

將母對(duì)公電線連接到 Bolt WiFi 模塊

poYBAGOjtLOAMLcSAAAyllARpaA038.jpg
?

最終連接

pYYBAGOjtLWAGDiYAAAlCrLijGM425.jpg
?

就是這樣,現(xiàn)在上傳所有內(nèi)容然后檢查。

如有任何疑問(wèn),請(qǐng)通過(guò)評(píng)論部分與我聯(lián)系。

謝謝你....................................

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)