Мазмуну:
- 1 -кадам: Аппараттык
- 2 -кадам: Stuff кантип иштейт
- 3 -кадам: Arduino IDEдеги I2C модулун аткаруу процесси
- 4 -кадам: WiFi жана Google электрондук жадыбалы менен ESP8266 туташуусу
- 5 -кадам: GScript Editor колдонуп Google Sheetти автоматташтырыңыз
- 6 -кадам: Чектөөлөр:
- 7 -кадам: Код, Кредиттер, Маалымдама
Video: Google Sheets жана Google Script аркылуу аба ырайы маалыматы: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Бул Blogtutта биз SHT25 сенсорунун окууларын интернет баракчаларына Adafruit huzzah ESP8266 аркылуу google баракчаларына жөнөтөбүз.
- Google баракчасына маалыматтарды жөнөтүү - бул маалыматты онлайн режиминде таблица түрүндө сактоонун эң пайдалуу жана негизги жолу.
- Кутуну же MQTT NODE RED же башка REST API түртүү сыяктуу ар кандай атайын көпүрөнү колдонуунун ордуна, биз маалыматтарды скрипттин жардамы менен сенсордон алган Google скрипти аркылуу жөнөтөбүз. жарыялангандан кийин Google скрипт тиркемеси
- Биз сценарийди Google баракчасынан, документтерден же Google Driveга жөнөтүү үчүн колдоно алабыз.
- Муну менен эле бүтүп калбастан, сиз google баракчаларын каалаган колдонуучулар менен каалаган веб-тиркеме менен байланыштыра аласыз.
- Башка онлайн серверлерден айырмаланып кошумча төлөмдөр төлөнбөшү керек жана сиз маалыматты колдонуучунун эсебинде 10 ГБ максимумга чейин сактай аласыз жана колдоно аласыз
- Эң жакшы аракеттердин бири-бул маалыматтарды реалдуу убакыт режиминде интернетке туташтыруу жөнүндө билүү.
- Биз маалыматты Google баракчалары менен ийкемдүү түрдө бөлүшүү үчүн мастер-кул протоколун аткарган I2C туташуусун колдонобуз.
- I2C протоколунун платформасы сенсордун аппараттык тутумун туташтырат жана сенсордун маалыматын 8 бит жабдыкта өткөрүп берүү үчүн бир эле учурда 2 зымдуу тартуу аркылуу 256 сенсор менен иштейт.
1 -кадам: Аппараттык
Adafruit Feather HUZZAH комплекттери
Adafruit Feather Huzzah Board
Adafruit I2C интегралдык жана USB адаптери
SHT25 Температура жана нымдуулук сенсору
I2C кабели
2 -кадам: Stuff кантип иштейт
ESP8266 аркылуу реалдуу убакытта сенсорлордун маалыматын окуу жана маалыматтарды ар кандай Cloud платформаларына жөнөтүү абдан жөнөкөй.
Биз Adafruit Huzzah Board менен SHT25 сенсор I2C модулу менен I2C кабелинин ортосундагы эки зымдуу байланышты түзүү үчүн Arduino IDEдеги Wire.h китепканасын колдонобуз.
Эскертүү: Зымдардын татаал түзүлүшүн болтурбоо үчүн, I2C сенсорун туташтыруу үчүн иштелип чыккан Adafruit Huzzah үчүн I2C адаптерин колдоном.
Жаңы келген адам Esp8266 орнотушу үчүн ESP8266 орнотуусунан өтүшү керек
Биринчи китепканаларды баштоо:
- Зым китепканасы
- ESP8266WiFi
- WiFiClientSecure
3 -кадам: Arduino IDEдеги I2C модулун аткаруу процесси
Китепканаларды инициализациялагандан кийин, биз I2C процессин сенсордун окуусун алуу үчүн колдонобуз жана 8 бит маалыматын талаптарга ылайык которобуз.
I2C сенсор модулу үчүн эки зым I2C протоколунда реестрлерди баштоо
#define Addr 0x40
- I2C өткөрүүнү баштаңыз жана реестрлерди инициализациялаңыз жана сенсордун маалыматын окуй турган жерден 2 байт маалымат сураңыз.
- Эгерде 2 байт маалыматы жеткиликтүү боло турган болсо, анда сенсордун маалыматын окуңуз жана төмөндө айтылган формулаларды колдонуп, биз каалаган баалуулуктарды өзгөртүп жатабыз
калкып нымдуулук = (((маалымат [0] * 256.0 + маалымат [1]) * 125.0) / 65536.0) - 6;
float cTemp = (((маалымат [0] * 256.0 + маалымат [1]) * 175.72) / 65536.0) - 46.85;
float fTemp = (cTemp * 1.8) + 32;
Маанилерди сериялык монитор экранына басып чыгарыңыз
4 -кадам: WiFi жана Google электрондук жадыбалы менен ESP8266 туташуусу
I2C модулдары аткарылгандан кийин, биз маалыматты кантип алуу керектигин жана WiFi китепканаларын жана хост идентификаторун, ошондой эле маалыматтарды Google баракчаларына жөнөтүү үчүн API ачкычтарын колдонуу менен үйрөнөбүз.
- Дүйнө жүзү боюнча ESP8266дагы WiFi грамоталарын аныктаңыз, бул тактанын интернетке туташуусуна жардам берет
- Биз HTTP кардарын колдонмокчубуз жана HTTP жолун камсыз кылуу үчүн HTTPS = 443 протоколун аныктайбыз, анткени скрипт коопсуз жолдо гана иштейт.
- Коддо хосттун чоо -жайын баштаңыз
const char* host = "script.google.com";
const int httpsPort = 443;
String SCRIPT_ID = "сценарийлердин идентификаторун снайптарда айтылгандай айтуу";
Эскертүү: Script идентификатору "веб -колдонмолордун URLинде" айтылган, ал эми Gscript коду жарыяланат, жөн эле төмөндө көрсөтүлгөн идентификаторду көчүрүү жана чаптоо жана жогорудагы буйруктарды инициализациялоо
- Ошондой эле өзгөрмөлүү туруксуздукту колдонуп, биз глобалдык өзгөрмөнү инициализациялайбыз, ал I2C модулунан маалыматтарды алып, URL скриптине жөнөтөт, ал маалыматты андан ары көздөгөн жерге жөнөтөт.
- ESP8266 WiFi Китепканасын колдонуу менен биз тактайды интернетке туташтыра алабыз
-
Сенсордук маалыматтар ар бир 5 секунддан кийин жергиликтүү серверге жайгаштырылат.
- URL скриптинин жардамы менен, маалыматтар ар бир 15 секунддан кийин активдүү баракчага жарыяланган google скриптине жайгаштырылат.
5 -кадам: GScript Editor колдонуп Google Sheetти автоматташтырыңыз
Баарыбызда Google аккаунту бар болгондуктан, Google баракчасына сиздин каттоо эсебиңиз менен кирүү керек
- ESP8266 менен туташкан сенсордон алуу керек болгон баалуулуктарды айт
- Куралдар> Скрипт редакторуна өтүңүз
- Окуяларды алуу үчүн "Doget" функциясын колдонуңуз
- "Doget" функциясында электрондук жадыбалдын API ачкычын инициализациялоо, ошондой эле сенсордук баалуулуктарды жөнөткүңүз келген активдүү баракты туташтыруу.
- Автоматташтыруу функциясынын жардамы менен коддо айтылган маалыматтар саптарда жана мамычаларда оңой көрсөтүлөт.
- Акырында, маалыматты сактап, "Жарыялоону" басыңыз >> "Веб колдонмолору катары жайылтууну" чыкылдатыңыз.
- Качан "долбоордун версиясын" тандоо үчүн кандайдыр бир өзгөрүү болоорун текшериңиз >> "Жаңы" >> "жаңыртууну" басыңыз
Учурдагы веб колдонмонун URLи төмөнкүчө көрүнөт:
script.google.com/macros/s/ITEMGScript ID”/exec:
андан ары сенсорлордон маалыматтарды алуу үчүн ESP8266 кодунда колдонулат
Биз HTTPS алуу өтүнүчүн колдонобуз, биз Google баракчасы менен байланышуу үчүн маалыматыбызды андан ары коддогон gscript редакторунда айтылган хост идентификаторуна туташтыруу үчүн.
doGet (e) функциясы {Logger.log (JSON.stringify (e)); // кароо параметрлери var result = 'Ok'; // эгер ийгиликке жетүүнү болжолдосок (e.parameter == 'undefined') {result = 'No Parameters'; } else {var sheet_id = ''; // Электрондук таблицанын бар баракчасы = 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 коду:
Google Script үйрөткүчү:
Камтылган дүкөн:
Окутуучу блог:
Сунушталууда:
Кесиптик аба ырайы станциясы ESP8266 жана ESP32 DIY колдонуп: 9 кадам (сүрөттөр менен)
ESP8266 жана ESP32 DIY колдонгон профессионалдуу аба ырайы станциясы: LineaMeteoStazione - бул Sensirionдун профессионалдык сенсорлору, ошондой эле кээ бир Davis Instrument компоненттери (Rain Gauge, Anemometer) менен байланышта боло турган толук аба ырайы станциясы
(IOT долбоору) ESP8266 жана Openweather API аркылуу аба ырайы маалыматын алыңыз: 5 кадам
(IOT долбоору) ESP8266 жана Openweather API аркылуу аба ырайы маалыматын алыңыз: Бул көрсөтмөдө биз жөнөкөй IOT долбоорун түзөбүз, анда openweather.com/apiден шаарыбыздын аба ырайы маалыматын алып, аны иштетүү программасын колдонуу менен көрсөтөбүз
HTTP аркылуу XinaBox жана Ubidots аркылуу аба ырайын кантип курса болот: 7 кадам
XinaBox жана Ubidots аркылуу HTTP аркылуу аба бекетин кантип куруу керек: XinaBox xChips (IP01, CW01 жана SW01) аркылуу Ubidotsто өз аба ырайы станцияңызды жасоону үйрөнүңүз ESP8266 Негизги жана Wi-Fi модулу (xChip CW01) колдонуучуларга жөнөтүүгө мүмкүндүк берет. XinaBoxтун модулдук xChips булутунан алынган маалыматтар. Бул маалыматтарды алыстан көзөмөлдөсө болот
Аба ырайы шамы - Аба ырайы жана температура бир караганда: 8 кадам
Аба ырайы шамы - Аба ырайы жана Температура Бир Караганда: Бул сыйкырдуу шамды колдонуп, сиз учурдагы температураны жана шарттарды дароо сыртта айта аласыз
IoT оңой: Алыскы аба ырайы маалыматын тартуу: UV жана абанын температурасы жана нымдуулугу: 7 кадам
IoT оңой: Алыскы аба ырайы маалыматын тартуу: UV жана абанын температурасы жана нымдуулугу: Бул окуу куралы боюнча биз алыскы маалыматтарды UV (Ultra-Violet радиация), абанын температурасы жана нымдуулугу катары тартып алабыз. Бул маалыматтар абдан маанилүү болот жана келечекте толук аба ырайы станциясында колдонулат