日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網 > IoT設計分享
[導讀]如今,從燈泡到洗衣機,許多家用電器都啟用了物聯(lián)網。盡管我們可以很容易地通過局域網控制它們,但要通過互聯(lián)網控制它們或存儲和檢索它們的數(shù)據(jù),我們必須使用物聯(lián)網云服務。有很多不同的物聯(lián)網云服務和協(xié)議可用,但這些服務在某種程度上受到限制。有些是免費的,有些是付費的。免費服務將限制你一次可以收集多少數(shù)據(jù)或一次可以連接多少設備,而使用付費服務,你必須根據(jù)你的數(shù)據(jù)集群支付大筆費用。這不僅會帶來巨大的經濟負擔,而且如果你開發(fā)的產品依賴于特定的第三方服務,那將是一個巨大的風險。

如今,從燈泡到洗衣機,許多家用電器都啟用了物聯(lián)網。盡管我們可以很容易地通過局域網控制它們,但要通過互聯(lián)網控制它們或存儲和檢索它們的數(shù)據(jù),我們必須使用物聯(lián)網云服務。有很多不同的物聯(lián)網云服務和協(xié)議可用,但這些服務在某種程度上受到限制。有些是免費的,有些是付費的。免費服務將限制你一次可以收集多少數(shù)據(jù)或一次可以連接多少設備,而使用付費服務,你必須根據(jù)你的數(shù)據(jù)集群支付大筆費用。這不僅會帶來巨大的經濟負擔,而且如果你開發(fā)的產品依賴于特定的第三方服務,那將是一個巨大的風險。

這就是Google Sheets發(fā)揮作用的地方,因為它們是免費的,熟悉的,最重要的是可靠的。它有很多功能和內置集成與許多其他谷歌服務和api。我們可以將其用于許多物聯(lián)網應用,從簡單的數(shù)據(jù)記錄到物聯(lián)網設備的實時監(jiān)控和管理。

以下是在物聯(lián)網應用中使用谷歌表單的一些好處:

?數(shù)據(jù)記錄非常簡單和健壯,不需要任何第三方服務。

?方便操作和分析收集的數(shù)據(jù)與功能。

?支持桌面和移動接入。

?易于使用自定義表功能和谷歌應用程序集成通過谷歌腳本。

?條件格式將使數(shù)據(jù)監(jiān)控和分析更加容易。

有多種方法可以將數(shù)據(jù)推送到Goggle表。有些使用第三方服務,如IFTTT,將數(shù)據(jù)推送到谷歌表格。由于我們想要消除任何第三方,我們將在Google腳本的幫助下使用直接方法。為此,我們所需要的只是一個谷歌賬戶。您可以使用現(xiàn)有的帳戶,也可以創(chuàng)建一個新帳戶。無論哪種方式登錄到谷歌帳戶,并按照給定的步驟。

設置Google數(shù)據(jù)記錄表

第一步是進入Google Sheets并創(chuàng)建一個新工作表。給表格起任何你想要的名字,記住表格的第一行非常重要。我們將使用這一行來命名每一列,這些名稱將用作壓入數(shù)據(jù)的指針。列標題應為一個單詞,不允許使用大寫字母。如果您想在標題中使用多個單詞,那么在每個單詞之間添加連字符而不是空格。

例如,如果您想用日期填充列A,用傳感器值填充列B,那么將單詞date添加到列A的第一行,將傳感器添加到列B的第一行。類似地,向想要填充數(shù)據(jù)的任何其他列添加標題。

一旦創(chuàng)建并重命名了工作表,請記下工作表名稱(不是文檔名稱,而是工作表名稱!)和工作表ID。您可以從工作表URL中找到工作表ID。

例如,在下面的URL中,工作表ID是加粗的https://docs.google.com/spreadsheets/d/1BdQzuTeYr4Tf4zwT-LP1f45rfk63oWZTrQ_cIDfgWfgD/edit#gid=0部分。不要與任何人共享此ID。

創(chuàng)建Google腳本

現(xiàn)在我們的Google表單已經設置好了,讓我們創(chuàng)建一個Google應用程序腳本。這個腳本將使我們能夠將數(shù)據(jù)從ESP推送到Google表。要創(chuàng)建Google腳本,請轉到Extensions -> Apps script(以前這個選項在Tools -> script Editor下)。然后將以下代碼復制粘貼到其中。

將您的頁ID和頁名稱替換為您的頁ID和頁名稱。完成后,保存腳本并單擊Deploy按鈕并選擇新部署。在新的部署窗口中,單擊Select類型并選擇Web app作為類型?,F(xiàn)在google將提供設置描述和權限的選項。在描述字段中輸入任何內容,并將Who可以訪問選項設置為任何人,然后單擊部署。然后單擊授權訪問。從提示中選擇您的谷歌帳戶,并在提示時單擊允許。這將部署web應用程序,并將為您提供部署ID和web應用程序URL。請把這些抄下來,放在安全的地方。如果您在授權時得到此應用程序未驗證錯誤,請單擊高級并單擊“轉到您的‘ Script_name ’(不安全)”。

為了測試它是否有效,只需將web應用程序的URL復制并粘貼到任何瀏覽器,并在執(zhí)行后添加?sensor=35&date=1103到URL。

然后打開Google Sheets,您可以看到您傳遞的值已添加到工作表中。

Arduino代碼發(fā)送數(shù)據(jù)到谷歌表

為了向Google Sheets發(fā)送數(shù)據(jù),我們將使用HTTPClient庫。我們將使用Google Script ID和數(shù)據(jù)創(chuàng)建一個URL。當我們用這個URL建立一個HTTP請求時,Google Scripts將從URL獲取數(shù)據(jù)并將其POST到Google Sheets中。以下是Arduino代碼示例,其中ESP32將連續(xù)向Google Sheets發(fā)送計數(shù)和UTC時間。

代碼的解釋

在第一行中,我們包含了所需的庫并聲明了全局變量。

這里我們將使用WiFi庫進行WiFi連接,使用HTTPClient庫進行HTTP請求。h庫用于從任何NTP時間服務器獲取當前時間。在下面的部分中,我們聲明了首選的NTP服務器和以秒為單位的GMT時間偏移量。

在WiFi憑據(jù)區(qū)域,用您自己的WiFi SSID和密碼填充它。在GOOGLE_SCRIPT_ID中添加您的Google Script ID,我們在部署腳本時已經復制了該ID。

setup()函數(shù)將初始化串行通信,并使用我們已經添加的憑據(jù)建立WiFi連接。它還將初始化一個名為configTime的實例,用于從NTP服務器獲取時間。

現(xiàn)在我們來看看循環(huán)函數(shù)。在loop功能中,如果WiFi連接處于活動狀態(tài),ESP32將從NTP服務器獲取時間。然后,它將組裝這個抓取的時間信息和變量計數(shù)的值到一個URL與谷歌腳本ID。之后,ESP32將在HTPPClient庫的幫助下建立到該URL的HTTP連接。一旦連接建立,ESP32將打印出HTTP狀態(tài)碼。同時,Google Scripts將從這個HTTP請求中獲取數(shù)據(jù),并將數(shù)據(jù)POST到Google Sheets中。然后增加一秒的延遲并增加計數(shù)。該過程將重復,時間和變量值將被張貼到谷歌表連續(xù)。通過這種方法,我們可以將任意數(shù)量的數(shù)據(jù)記錄到google表格中。這是谷歌表格和串行監(jiān)視器的實時視圖。

從谷歌表格中獲取數(shù)據(jù)

現(xiàn)在讓我們看看如何從Google Sheets中讀取數(shù)據(jù)。為此,我們也將使用Google Scripts。讓我們看看如何從Google工作表上的單元格中讀取值。為此,我們需要創(chuàng)建和部署Google Scripts。按照上面的示例,使用以下腳本創(chuàng)建和部署一個新腳本。

將工作表ID和工作表名稱替換為您自己的名稱。一旦部署完成,請記下腳本ID。當調用單元格B2時,該腳本將返回單元格B2中的值。

Arduino代碼從谷歌表讀取數(shù)據(jù)

//Include required libraries

#include "WiFi.h"

#include

// WiFi credentials

const char* ssid = "Your WiFi SSID"; // change SSID

const char* password = "Your WiFi password"; // change password

// Google script ID and required credentials

String GOOGLE_SCRIPT_ID = "AKfycby-snBh-5j0jsiQBWfC-XB1FWxxxxxxxxxxxxxxxxxxxxxxxxxzIWv9EcA6a"; // change Gscript ID

void setup() {

delay(1000);

Serial.begin(115200);

delay(1000);

// connect to WiFi

Serial.println();

Serial.print("Connecting to wifi: ");

Serial.println(ssid);

Serial.flush();

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

}

void loop() {

if (WiFi.status() == WL_CONNECTED) {

HTTPClient http;

String url = "https://script.google.com/macros/s/" + GOOGLE_SCRIPT_ID + "/exec?read";

Serial.println("Making a request");

http.begin(url.c_str()); //Specify the URL and certificate

http.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);

int httpCode = http.GET();

String payload;

if (httpCode > 0) { //Check for the returning code

payload = http.getString();

Serial.println(httpCode);

Serial.println(payload);

}

else {

Serial.println("Error on HTTP request");

}

http.end();

}

delay(1000);

}

代碼的解釋

WiFi設置和一切都與第一個例子相似。因此,讓我們來討論一下Loop函數(shù),在這個函數(shù)中ESP32如何從Google Sheets請求數(shù)據(jù)。

在循環(huán)函數(shù)中,如果WiFi連接,ESP32將使用HTTPClient庫創(chuàng)建一個HTTP實例。然后請求谷歌表與腳本URL,其中有我們的谷歌腳本ID。一旦發(fā)出請求,ESP將使用HTTP Get方法從Google表中獲取數(shù)據(jù)。然后將這些數(shù)據(jù)打印到串行監(jiān)視器中。在演示視頻中,您可以看到,只要我更改單元格C2的內容,ESP32接收的數(shù)據(jù)也會發(fā)生變化。

本文編譯自iotdesignpro

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉