www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

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

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

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

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

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

?支持桌面和移動(dòng)接入。

?易于使用自定義表功能和谷歌應(yīng)用程序集成通過(guò)谷歌腳本。

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

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

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

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

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

一旦創(chuàng)建并重命名了工作表,請(qǐ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表單已經(jīng)設(shè)置好了,讓我們創(chuàng)建一個(gè)Google應(yīng)用程序腳本。這個(gè)腳本將使我們能夠?qū)?shù)據(jù)從ESP推送到Google表。要?jiǎng)?chuàng)建Google腳本,請(qǐng)轉(zhuǎn)到Extensions -> Apps script(以前這個(gè)選項(xiàng)在Tools -> script Editor下)。然后將以下代碼復(fù)制粘貼到其中。

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

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

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

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

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

代碼的解釋

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

這里我們將使用WiFi庫(kù)進(jìn)行WiFi連接,使用HTTPClient庫(kù)進(jìn)行HTTP請(qǐng)求。h庫(kù)用于從任何NTP時(shí)間服務(wù)器獲取當(dāng)前時(shí)間。在下面的部分中,我們聲明了首選的NTP服務(wù)器和以秒為單位的GMT時(shí)間偏移量。

在WiFi憑據(jù)區(qū)域,用您自己的WiFi SSID和密碼填充它。在GOOGLE_SCRIPT_ID中添加您的Google Script ID,我們?cè)诓渴鹉_本時(shí)已經(jīng)復(fù)制了該ID。

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

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

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

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

將工作表ID和工作表名稱替換為您自己的名稱。一旦部署完成,請(qǐng)記下腳本ID。當(dāng)調(diào)用單元格B2時(shí),該腳本將返回單元格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設(shè)置和一切都與第一個(gè)例子相似。因此,讓我們來(lái)討論一下Loop函數(shù),在這個(gè)函數(shù)中ESP32如何從Google Sheets請(qǐng)求數(shù)據(jù)。

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

本文編譯自iotdesignpro

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉