สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์
- ขั้นตอนที่ 2: สิ่งต่าง ๆ ทำงานอย่างไร
- ขั้นตอนที่ 3: กระบวนการดำเนินการโมดูล I2C ใน Arduino IDE
- ขั้นตอนที่ 4: การเชื่อมต่อ ESP8266 ด้วย WiFi และ Google Spreadsheet
- ขั้นตอนที่ 5: ทำให้ Google ชีตเป็นอัตโนมัติโดยใช้ GScript Editor
- ขั้นตอนที่ 6: ข้อจำกัด:
- ขั้นตอนที่ 7: รหัส เครดิต ข้อมูลอ้างอิง
วีดีโอ: ข้อมูลสภาพอากาศโดยใช้ Google ชีตและ Google Script: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ใน Blogtut นี้ เราจะส่งการอ่านเซ็นเซอร์ SHT25 ไปยัง Google ชีตโดยใช้ Adafruit huzzah ESP8266 ซึ่งช่วยในการส่งข้อมูลไปยังอินเทอร์เน็ต
- การส่งข้อมูลไปยังเซลล์ชีตของ Google เป็นวิธีที่มีประโยชน์และเป็นพื้นฐานในการบันทึกข้อมูลในรูปแบบตารางออนไลน์
- แทนที่จะใช้บริดจ์พิเศษใดๆ เช่น ผลักกล่อง หรือ MQTT NODE RED หรือ REST API อื่นๆ เราจะส่งข้อมูลโดยใช้ google script ซึ่งรับข้อมูลจากเซ็นเซอร์อย่างง่ายดายโดยใช้สคริปต์ ลิงก์ที่จัดทำโดย แอปพลิเคชันสคริปต์ของ Google หลังจากเผยแพร่
- เราสามารถใช้สคริปต์เพื่อส่งข้อมูลจาก Google ชีต เอกสาร หรือแม้แต่ไปยัง Google ไดรฟ์
- อย่าเพิ่งจบที่นี่ คุณสามารถเชื่อมต่อ Google ชีตกับแอปพลิเคชันบนเว็บที่แบ่งปันข้อมูลกับผู้ใช้ตามที่พวกเขาต้องการ
- ไม่มีค่าใช้จ่ายเพิ่มเติมที่ต้องจ่ายไม่เหมือนเซิร์ฟเวอร์ออนไลน์อื่น ๆ ที่นี่และคุณสามารถเก็บข้อมูลได้สูงสุด 10 GB ในบัญชีผู้ใช้และสามารถใช้งานได้
- หนึ่งในความพยายามที่ดีที่สุดคือคุณสามารถเรียนรู้เกี่ยวกับการเชื่อมต่อข้อมูลกับอินเทอร์เน็ตด้วยแอปพลิเคชันแบบเรียลไทม์ประเภทนี้ได้อย่างง่ายดาย
- เราจะใช้การเชื่อมต่อ I2C ซึ่งใช้โปรโตคอลมาสเตอร์ทาสเพื่อแบ่งปันข้อมูลกับ Google ชีตในลักษณะที่ยืดหยุ่น
- แพลตฟอร์มโปรโตคอล I2C เชื่อมต่อฮาร์ดแวร์เซ็นเซอร์และทำงานร่วมกับเซ็นเซอร์ประมาณ 256 ตัวในคราวเดียวโดยใช้เพียง 2 สายดึงขึ้นเพื่อถ่ายโอนข้อมูลเซ็นเซอร์ในฮาร์ดแวร์ 8 บิต
ขั้นตอนที่ 1: ฮาร์ดแวร์
Adafruit Feather HUZZAH Kits
Adafruit Feather Huzzah Board
Adafruit I2C ในตัวและอะแดปเตอร์ USB
SHT25 เซ็นเซอร์อุณหภูมิและความชื้น
สายเคเบิล I2C
ขั้นตอนที่ 2: สิ่งต่าง ๆ ทำงานอย่างไร
การดึงข้อมูลการอ่านข้อมูลแบบเรียลไทม์ของเซ็นเซอร์ผ่าน ESP8266 และส่งข้อมูลไปยังแพลตฟอร์มคลาวด์ต่างๆ ทำได้ง่ายมาก
เราจะใช้ไลบรารี Wire.h ใน Arduino IDE เพื่อสร้างการสื่อสารแบบมีสายสองสายระหว่าง Adafruit Huzzah Board และโมดูล I2C ของเซ็นเซอร์ SHT25 และสายเคเบิล I2C
หมายเหตุ: เพื่อหลีกเลี่ยงโครงสร้างการเดินสายที่ซับซ้อน ฉันจะใช้อะแดปเตอร์ I2C สำหรับ Adafruit Huzzah ที่ออกแบบมาเพื่อเชื่อมต่อเซ็นเซอร์ I2C
สำหรับมือใหม่ในการตั้งค่า Esp8266 คุณต้องผ่านการตั้งค่า ESP8266
ขั้นแรกให้เริ่มต้นไลบรารี:
- ห้องสมุดสาย
- ESP8266WiFi
- WiFiClientSecure
ขั้นตอนที่ 3: กระบวนการดำเนินการโมดูล I2C ใน Arduino IDE
หลังจากเริ่มต้นไลบรารี เราจะกำหนดกระบวนการ I2C เพื่อใช้ในการดึงการอ่านค่าของเซ็นเซอร์ที่แปลงและเปลี่ยนข้อมูล 8 บิตตามข้อกำหนด:
เริ่มต้นการลงทะเบียนในโปรโตคอล I2C สองสายสำหรับโมดูลเซ็นเซอร์ I2C
#define แอดเดอร์ 0x40
- เริ่มการส่ง I2C และเริ่มต้นการลงทะเบียนและขอข้อมูล 2 ไบต์จากตำแหน่งที่เราจะอ่านข้อมูลเซ็นเซอร์
- หากมีข้อมูล 2 ไบต์ ให้อ่านข้อมูลเซ็นเซอร์และใช้สูตรที่กล่าวถึงด้านล่าง เราจะแปลงค่าที่ต้องการ
ความชื้นลอย = (((data[0] * 256.0 + data[1]) * 125.0) / 65536.0) - 6;
float cTemp = (((data[0] * 256.0 + data[1]) * 175.72) / 65536.0) - 46.85;
float fTemp = (cTemp * 1.8) + 32;
พิมพ์ค่าในหน้าจอมอนิเตอร์แบบอนุกรม
ขั้นตอนที่ 4: การเชื่อมต่อ ESP8266 ด้วย WiFi และ Google Spreadsheet
หลังจากดำเนินการโมดูล I2C เราจะเรียนรู้เกี่ยวกับวิธีการดึงข้อมูลและโดยใช้ไลบรารี WiFi และรหัสโฮสต์ รวมถึงคีย์ API เพื่อส่งข้อมูลไปยัง Google ชีต
- กำหนดข้อมูลรับรอง WiFi ทั่วโลกใน ESP8266 ซึ่งจะช่วยให้เราเชื่อมต่อบอร์ดกับอินเทอร์เน็ต
- เนื่องจากเราจะใช้ไคลเอนต์ HTTP และจะกำหนดโปรโตคอล HTTPS = 443 สำหรับการรักษาความปลอดภัยเส้นทาง HTTP เนื่องจากสคริปต์จะทำงานในเส้นทางที่ปลอดภัยเท่านั้น
- เริ่มต้นรายละเอียดโฮสต์ในรหัส
const char* host = "script.google.com";
const int https Port = 443;
String SCRIPT_ID = "ระบุ ID สคริปต์ตามที่กล่าวไว้ใน snaps";
หมายเหตุ: มีการกล่าวถึงรหัสสคริปต์ใน “URL ของเว็บแอป” ในขณะที่รหัส Gscript จะถูกเผยแพร่ เพียงคัดลอกและวางรหัสที่กล่าวถึงด้านล่างและเริ่มต้นในคำสั่งด้านบน
- ด้วยการใช้ตัวแปรผันผวน เราจะเริ่มต้นตัวแปรทั่วโลกซึ่งดึงข้อมูลจากโมดูล I2C และส่งไปยังสคริปต์ URL ซึ่งจะส่งข้อมูลไปยังปลายทางต่อไป
- การใช้ห้องสมุด WiFi ESP8266 เราจะสามารถเชื่อมต่อบอร์ดกับอินเทอร์เน็ตได้
- ข้อมูลเซ็นเซอร์จะโฮสต์ไปยังเซิร์ฟเวอร์ภายในทุก ๆ 5 วินาที
- ด้วยความช่วยเหลือของสคริปต์ URL ข้อมูลจะถูกโฮสต์ไปยังลิงก์ที่เผยแพร่ของสคริปต์ของ Google หน้าที่ใช้งานอยู่ทุก ๆ 15 วินาที
ขั้นตอนที่ 5: ทำให้ Google ชีตเป็นอัตโนมัติโดยใช้ GScript Editor
เนื่องจากเราทุกคนมีบัญชี Google เพื่อลงชื่อเข้าใช้ Google ชีตด้วยบัญชีของคุณ
- ระบุค่าที่คุณต้องได้รับจากเซ็นเซอร์ที่เชื่อมต่อกับ ESP8266
- ไปที่เครื่องมือ>ตัวแก้ไขสคริปต์
- ใช้ฟังก์ชัน “Doget” เพื่อรับเหตุการณ์
- ในฟังก์ชัน "Doget" เพื่อเริ่มต้นคีย์ API สเปรดชีตรวมทั้งเชื่อมต่อ Active Sheet ที่คุณต้องการส่งค่าเซ็นเซอร์
- ด้วยความช่วยเหลือของฟังก์ชั่นอัตโนมัติที่กล่าวถึงในรหัสเพื่อแสดงข้อมูลในแถวและคอลัมน์ได้อย่างง่ายดาย
- สุดท้ายบันทึกข้อมูลและคลิกที่ "เผยแพร่" >> คลิก "ปรับใช้เป็นเว็บแอป"
- ตรวจสอบให้แน่ใจทุกครั้งที่มีการเปลี่ยนแปลงใด ๆ ให้เลือก "รุ่นโครงการ" >> "ใหม่" >> กด "อัปเดต"
URL ของเว็บแอปปัจจุบันจะปรากฏดังนี้:
script.google.com/macros/s/”GScript ID”/exec:
ใช้เพิ่มเติมในรหัส ESP8266 สำหรับการดึงข้อมูลจากเซ็นเซอร์
การเชื่อมต่อโฮสติ้งเราจะใช้คำขอ HTTPS รับเพื่อเชื่อมต่อข้อมูลกับรหัสโฮสต์ที่กล่าวถึงในตัวแก้ไข gscript ซึ่งเราเข้ารหัสข้อมูลของเราเพิ่มเติมเพื่อเชื่อมต่อกับ Google ชีต
ฟังก์ชั่น doGet (e) { Logger.log (JSON.stringify (e)); // ดูพารามิเตอร์ var ผลลัพธ์ = 'ตกลง'; // ถือว่าสำเร็จถ้า (e.parameter == 'undefined') { result = 'No Parameters'; } อื่น ๆ { var sheet_id = ''; // ID สเปรดชีต var sheet = SpreadsheetApp.openById(sheet_id).getActiveSheet(); var newRow = sheet.getLastRow() + 1; var rowData = ; } Logger.log(JSON.stringify(rowData)); // เขียนแถวใหม่ด้านล่าง var newRange = sheet.getRange(newRow, 1, 1, rowData.length); newRange.setValues([rowData]); }
ขั้นตอนที่ 6: ข้อจำกัด:
- โครงการนี้ จำกัด ให้เก็บข้อมูลของเซ็นเซอร์ I2C ใน Google ชีตเท่านั้น
- เรากำลังใช้คำขอ HTTPS GET เพื่อรับค่าผ่านฟังก์ชัน I2C
- เราต้องเปลี่ยนค่าในรูปแบบสตริงแล้วส่งข้อมูลไปยังลิงค์ gscript URL
ขั้นตอนที่ 7: รหัส เครดิต ข้อมูลอ้างอิง
รหัส Github:
github.com/varul29/SHT25_GoogleSheets_Goog…
อ้างอิง
รหัส I2C:https://github.com/ControlEverythingCommunity/SHT2…
บทช่วยสอน Google Script:https://developers.google.com/apps-script/articles…
ร้านค้าแบบฝัง:https://dcubestore.com/
บล็อกการสอน:https://pdacontrolen.com/update-https-redirect-vers…
แนะนำ:
การแนบ Google ปฏิทินกับ Google Sites: 5 ขั้นตอน
การแนบ Google ปฏิทินกับ Google Sites: นี่คือคำแนะนำในการสอนวิธีสร้าง ใช้ และแก้ไข Google ปฏิทิน จากนั้นแนบไปกับ Google Site โดยใช้ความสามารถในการแชร์ สิ่งนี้สามารถเป็นประโยชน์สำหรับคนจำนวนมาก เนื่องจาก Google Sites สามารถใช้ในการประสานงานและแจกจ่าย i
USB Rubber Ducky Script Encoder (VBScript): 5 ขั้นตอน
USB Rubber Ducky Script Encoder (VBScript): หากคุณมี USB Rubber Ducky คุณจะรู้ว่างานที่น่ารำคาญมากคือการคอมไพล์สคริปต์ของคุณเป็นไฟล์ a.bin หากคุณต้องทำการดีบักใดๆ คุณจะรู้ว่าการดาวน์โหลดสคริปต์ที่คอมไพล์ของคุณอย่างต่อเนื่องอาจเป็นเรื่องเจ็บปวด ดังนั้นเพื่อแก้ไขปัญหานี้
วิธีสร้างอักขระ 2d ด้วยตัวควบคุมอักขระใน Unreal Engine 4 โดยใช้ Visual Script สำหรับพีซี: 11 ขั้นตอน
วิธีสร้างอักขระ 2d ด้วยตัวควบคุมอักขระใน Unreal Engine 4 โดยใช้ Visual Script สำหรับพีซี: วิธีสร้างอักขระ 2d ด้วยตัวควบคุมอักขระใน Unreal engine 4 โดยใช้สคริปต์ภาพสำหรับพีซี สวัสดี ฉันชื่อ Jordan Steltz ฉันพัฒนาวิดีโอเกมมาตั้งแต่อายุ 15 ปี บทช่วยสอนนี้จะสอนวิธีสร้างตัวละครพื้นฐานด้วย in
ให้คะแนนความคิดเห็นเกี่ยวกับคำแนะนำ - Greasemonkey Script: 5 ขั้นตอน
ให้คะแนนความคิดเห็นเกี่ยวกับคำแนะนำ - Greasemonkey Script: บางครั้ง มีคนโพสต์ความคิดเห็นที่เป็นประโยชน์เป็นพิเศษซึ่งคุณอยากจะรับทราบ ในบางครั้ง ผู้คนจะโพสต์สิ่งที่ค่อนข้างงี่เง่าซึ่งคุณต้องการไม่ได้อยู่ที่นั่น เช่นเดียวกับ digg สคริปต์ Greasemonkey นี้ช่วยให้คุณสามารถให้คะแนนความคิดเห็นได้ ณ ตอนนี้ ฐานผู้ใช้
การตั้งค่าโปรแกรม Picaxe ผ่าน Shell Script (linux): 5 ขั้นตอน
การตั้งค่าโปรแกรม Picaxe ผ่านเชลล์สคริปต์ (ลินุกซ์): คำแนะนำง่ายๆ ที่แสดงวิธีทำเชลล์สคริปต์ที่จะดาวน์โหลดโปรแกรมจากไซต์ ftp จากนั้นคอมไพล์แล้วดาวน์โหลดลงใน picaxe (นี่เป็นครั้งแรกของฉัน สอนได้)