项目作者: serbelga

项目描述 :
⛅ Google Cloud IoT Core, Firebase Cloud Functions, Firestore and AndroidX
高级语言: Kotlin
项目地址: git://github.com/serbelga/IoT_Google_Cloud_Weather.git
创建时间: 2019-04-02T23:15:18Z
项目社区:https://github.com/serbelga/IoT_Google_Cloud_Weather

开源协议:

下载


IoT Google Cloud Weather Station

Example of a weather station using Google Cloud IoT Core, Firebase Cloud Functions, Firestore and AndroidX

  • firmware: Mongoose OS development for ESP8266
  • functions: Firebase Cloud Functions
  • android_app: Android companion app. Developed using Android Jetpack.

Hardware system

  • DHT22: Temperature and Humidity sensor
  • NodeMCU ESP8266
  • Breadboard

Architecture

Mongoose OS

mos gcp-iot-setup --gcp-project YOUR_PROJECT_ID --gcp-region europe-west1 --gcp-registry iot-registry

mos put fs/init.js

  1. load('api_config.js');
  2. load('api_dht.js');
  3. load('api_mqtt.js');
  4. load('api_timer.js');
  5. let topic = '/devices/' + Cfg.get('device.id') + '/state';
  6. let dht = DHT.create(4, DHT.DHT22);
  7. Timer.set(50000, true, function() {
  8. let msg = JSON.stringify({ temperature: dht.getTemp(), humidity: dht.getHumidity() });
  9. let ok = MQTT.pub(topic, msg, 1);
  10. print(ok, msg);
  11. }, null);

Android App

Developed using:

  • Firebase Cloud Firestore
  • Kotlin Coroutines, Flow and StateFlow
  • Dagger Hilt
  • ViewModel
  • Android KTX
  • Material Design Components
  • Jetpack Compose UI