Relative Content

WeMos D1 Mini

WeMos D1 Connect to Firebase

ネットで検索すると、大抵はArduinoからFirebaseのAPIを叩くためのFirebaseArduinoというライブラリを利用する例が公開されている。しかしそのライブラリは、もう数年前からメンテナンス停止した。 試しにサンプルなど動かしてみたが、Firebaseに繋がらない。 色々と調べて、MobizTのライブラリを利用することで成功した。 https://github.com/mobizt/Firebase-ESP8266 いきなり参考リンクから本番プログラムを作ると動かないので、サンプルの Beginner_start_here をまずお試し。 https://github.com/mobizt/Firebase-ESP8266/tree/master/examples/Beginner_start_here (誤り)API KEYを使う (正しい)スークレドを使う Firebaseから、LEDの色と明るさの制御はできた。 #include “FirebaseESP8266.h” #include <ESP8266WiFi.h> #include <Adafruit_NeoPixel.h> #define PIN D1 #define NUM_LEDS 8 const char* ssid = “ssid003”; const char* password = “12345”; FirebaseData firebaseData; Adafruit_NeoPixel leds(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800); // Current color values int redValue = 0; int greenValue = 0; int blueValue […]

WeMos (e3) リレー制御

制御の試し 参考資料1そのまま。 /* * Relay Shield – Blink * Turns on the relay for two seconds, then off for two seconds, repeatedly. * * Relay Shield transistor closes relay when D1 is HIGH */ const int relayPin = D1; const long interval = 2000; // pause for two seconds void setup() { pinMode(relayPin, OUTPUT); } […]

WeMos (e2) LED表示

IoT Study Kit 2のLEDは、FirebaseのLEDデータに従って表示。 プログラム1 単純に文字、パタンの表示。 3連ベースで、ESP8266, LED Matrix, SHT30を装着する。     Features 8×8 dot matrix LED 8 step adjustable intensity Pins D1 mini GPIO Shield D5 14 CLK D7 13 DIN   ライブラリから、WEMOS_Matrix_Adafruit_GFXを追加してください。 つぎは、ライブラリ付属のLED Matrix表示サンプルの修正版。 # コンパイルエラー発生した。 MLED matrix(7);  から MLED matrix(7, D7, D5); に変更した。   #include <Adafruit_GFX.h> #include <WEMOS_Matrix_GFX.h> MLED matrix(7, D7, D5); //set intensity=7 […]

WeMos (e1) 温度の送信

IoT Study Kit 2からFirebaseへ温度データの送信。   IoT Sensor UbiSense Ver2を利用。 結線 プログラム1 3連ベースで、ESP8266, LED Matrix, SHT30を装着。温度と湿度を計測。 WEMOS_SHT3x_Arduino_Libraryを使用。 https://github.com/wemos/WEMOS_SHT3x_Arduino_Library ただの温度と湿度の表示サンプル。 #include <WEMOS_SHT3X.h> SHT3X sht30(0x45); void setup() { Serial.begin(115200); } void loop() { if(sht30.get()==0){ Serial.print(“Temperature in Celsius : “); Serial.println(sht30.cTemp); Serial.print(“Temperature in Fahrenheit : “); Serial.println(sht30.fTemp); Serial.print(“Relative Humidity : “); Serial.println(sht30.humidity); Serial.println(); } else { Serial.println(“Error!”); } delay(1000); } […]

WeMos (c3) Home IoT Server

いよいよWiFiManagerを組み込み、理想のIoT-Cloud-Mobile Study Kit (IoT実験キット)の形ができた。 今回の実験はWeMosにhttpサーバを立ち上げて、ブラウザーから接続 を待機;接続するとBMP280センサー情報を返送する。 つまり、スマートフォンまたはPCから直接接続して利用する。この場合ローカル環境の利用に限られ、出かける時でも利用するため、クラウド(例えばTinyWebDB API)が必要だ。 WiFiManagerを組み込みだ、Home IoT Server。 /* * */ #include <Wire.h> #include <Adafruit_BMP280.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 0 // GPIO0 Adafruit_SSD1306 OLED(OLED_RESET); #define BMP_SCK 13 #define BMP_MISO 12 #define BMP_MOSI 11 #define BMP_CS 10 Adafruit_BMP280 bmp; // I2C //Adafruit_BMP280 bmp(BMP_CS); // hardware SPI //Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO, BMP_SCK); […]

IoT Kit 製作

材料 ESP8266( WeMos D1 Mini) 1.3 Inch OLED BMP280 (BMP180) ワーヤ 最初はBMP180の利用予定してた。しかしBMP280安いから、こちらにしました。 BMP180は5Vで動作するが、BMP280は5Vで動作しない(発熱)の場合はあり、3.3Vへ繋げ変えると安定する。 結線 最初のデザインはESP8266( WeMos D1 Mini)+ OLED + BMP180の間、I2C接続だけで完成する。 しかしBMP280安いから、BMP280にしましたが。このまま結線の問題点は、BMP280は5Vで動作しないの場合はあります。     BMP280の電源は3.3Vへ繋げ変えると安定する。 Add NeoPixel

ESP9266 Send IoT data to TinyWebDB

IoTデータの送受信実験 IoT-Cloud-Mobile実験セットを用意 Arduinoを利用して、実験スケッチを書き込み WiFi接続の設定 OLED画面から、装置のIP, 現在の温度、気圧を確認 温度、気圧のデータは、TinyWebDB クラウドに記録することを確認     手順 WeMos (1) Blink WeMos (7) I2C OLED SSD1306 (Adafruit) WeMos (b3) BMP280 I2C WeMos (c2) WiFiManager WeMos (d2) Home Automation

WeMos (d2) Home Automation

TinyWebDB-APIを利用した、Home Automationの例。 ハードウェア “IoT-Cloud-Mobile Study Kit”を利用 TinyWebDBサーバ 今まで、いくつ実験サーバは建てたが、現在生きてるサーバは、次のサーバになります。 http://tinydb.ml/ http://tinywebdb.cf 参考に今まで実験に使ったのサーバリスト: http://tinydb.ml/api/ http://tinydb.work/api/ http://tinywebdb.cf/api/ データ送信 下記のは操作中、数分起き温度、気圧センサーのデータをTinyWebDB-APIテストサーバ(http://tinydb.ml/)へ送信する。 送信したデータは、http://tinydb.ml/で確認できる。 データ受信 スマートフォンからLED On/Off の指令は受信すると、ESP8266内蔵LEDは点/滅可能になった。   ソースコード // Sample Arduino Json Web Client // Downloads and parse http://jsonplaceholder.typicode.com/users/1 // // Copyright Benoit Blanchon 2014-2017 // MIT License // // Arduino JSON library // https://bblanchon.github.io/ArduinoJson/ // If you like this […]

WeMos (c2) WiFiManager

WeMos のWiFiが、前回のようにSSIDとPASSWORDをコードに書き込む方法の他に、オンライン変更できるような方法もある。 WiFiManager というライブラリを使うと簡単にできる https://github.com/tzapu/WiFiManager このソースを参考に試してみる。 まず、ライブラリマネージャーから、WiFiManagerを検索して、インストールする。 ライブラリを使える状態にすると,下記のサンプルで、接続するだけで上のユースケースが満たされて大変便利だ…。標準でWebUIもついてる。 #include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino //needed for library #include <DNSServer.h> #include <ESP8266WebServer.h> #include “WiFiManager.h” //https://github.com/tzapu/WiFiManager void configModeCallback (WiFiManager *myWiFiManager) { Serial.println(“Entered config mode”); Serial.println(WiFi.softAPIP()); //if you used auto generated SSID, print it Serial.println(myWiFiManager->getConfigPortalSSID()); } void setup() { // put your setup code here, to run once: Serial.begin(115200); //WiFiManager //Local intialization. […]

WeMos (b3) BMP280 I2C

ライブラリの追加 “Adafruit Unified Sensor”ライブラリの追加 センサーをライブラリ追加 BMP280センサーを利用する ライブラリからBMP280を検索して、追加してください 測定プログラム /*************************************************************************** This is a library for the BMP280 humidity, temperature & pressure sensor Designed specifically to work with the Adafruit BMEP280 Breakout —-> http://www.adafruit.com/products/2651 These sensors use I2C or SPI to communicate, 2 or 4 pins are required to interface. Adafruit invests time and resources providing this […]