Relative Content

ESP8266

NodeMcu (5) Pulse Sensor

ESP8266でHeart Rate Monitorの表示は、色々と試してうまい表示方法はなかなか見つからない。 たまたま検索キーワードは”Pulse Sensor Arduino OLED”に変えて、参考にできそうなサイトはいくつ見つかった。 その中、”Online Heart Rate Monitor Using NodeMCU and Cayenne”「参考1」はイメージに近い。 Pulse Sensorについて、下記のサイトへどうぞ。 https://pulsesensor.com/ Pulse Sensorなどの部品があるので、早速実験。しかしコンバイルすると、Cayenne関連のエラーは出た。 Cayenneサービスは古いようで、適切なサービスが見つからない。OLEDでのMonitorは目的、Cayenneのサービスどうでもいいので、コメントアウトした。 それからPulse Sensorのライブラリも変わる。以前がここ; https://github.com/WorldFamousElectronics/PulseSensor_Amped_Arduino 今はここ; https://github.com/WorldFamousElectronics/PulseSensorPlayground 例のソースコードは、古いライブラリを使うから、そちらをダウンロードして利用。 表示はうまくできた。しかしPulse Sensorの精度はいまいち。 「参考1」の波形は、どうしてまともに表示されるね。 安定して表示できないから、このPulse Sensorは実験のみの意義かな。 参考: https://www.instructables.com/id/Online-Heart-Rate-Monitor-Using-NodeMCU-and-Cayenn/  

NodeMcu (4) ADS1115 & OLED

経緯 アナログ信号を取り込み、TinyWebDBへ送るプログラムを作る予定。サンプリングレートは秒に100回。 WeMos miniは使いやすいから愛用しているが、2月から、WeMos miniの開発中も頻繁にリブートしています。デバイストライバのバージョンを変えたり、OSを変えたりしても改善しない。結局原因がわからず、仕方なく開発中書き込み直前にUSBケーブル接続、書き込み終わったらすぐUSBケーブ抜く方法で運がよければリブート回避する状態が続て、悩んでいます。 ADS1115プログラムを作るため、安定したNodeMcuできることならこちらで凌ぎ。 ADS1115とは ADS1115 は、16-Bit ADC – 4 Channel with Programmable Gain Amplifier 特徴:広い電源電圧範囲:2.0V ~ 5.5V。低消費電流: 連続モード:150μA。 _ プログラマブルゲインアンプ内蔵。プログラミング可能なコンパレータ。 _ 4本のシングルエンド入力。2本の差動入力。I2Cインターフェイス。 _ 最小±256mVから電源電圧までの入力範囲に対応。 ライブラリーでは コマンド送信し 8msec 後に データーの読み込みを行う、サンプリングレートは秒に100回するため、Adafruit_ADS1X15/Adafruit_ADS1015.hのADS1115_CONVERSIONDELAYを8から9に変更する。 結線 普通のI2Cでつなぐだけ。 スケッチ 最初のプログラムは、アナログ読む度に表示してるが、表示できるのは秒に十回未満。そしてOLEDには、1秒間読み取れたデータの個数と、最新のアナログ値を表示すると変更して110回程度読み込みできるようになり。 ADS1115_CONVERSIONDELAYを8から9に変更して、表示の通り、秒に101回って、概ね要求に満たした。 #include <Wire.h> #include <Adafruit_ADS1015.h> // ADS1015,1115 Adafruit_ADS1115 ads(0x48); // 16-bit version #include <Adafruit_GFX.h> // OLED #include <Adafruit_SSD1306.h> // OLED Adafruit_SSD1306 display(0); […]

WeMos (14) Mini OLED

64×48 size display と小さなOLED Adafruit_SSD1306を利用するが、64×48 sizeの項目がないため、カスタマイズ版をダウンロードして、Adafruit_SSD1306に上書きする。 ただHello Worldを表示するスケッチ。 #include “SPI.h” #include “Wire.h” #include “Adafruit_GFX.h” #include “Adafruit_SSD1306.h” #define OLED_RESET 0 // GPIO0 Adafruit_SSD1306 display(OLED_RESET); void setup() { Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // init done display.display(); delay(2000); // Clear the buffer. display.clearDisplay(); // text display tests display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,10); display.println(“Hello”); display.println(“World”); display.display(); delay(10000); display.clearDisplay(); } void loop() { } […]

WeMos (13) LED Matrix

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 (maximum) void setup() { Serial.begin(9600); Serial.println(“8×8 LED […]

WeMos (b8) SHT30

目的 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); } 参考 http://stigern.net/blog/using-wemos-d1-mini-sht30-sensor-shield/

IoT Study Kit 2

ESP8266 IoT Study Kit 2は、ESP8266 IoT Study Kitと同じ、センサー、表示機能が備えている。 モジュール式って、結線は必要ない。携帯不便の問題を解消した。また結線がないことで、ハードウェア苦手の人でも、IoTはソフトウェアの課題に限定出来る。 ESP8266 IoT Study Kit 2には、次の部品から構成: ESP8266 モジュール(WeMos D1 Mini) SHT30 モジュール(温度、湿度センサー) MatrixLED モジュール 三連装ベース Mini OLED モジュール (Option) 三連装ベースの上に、各モジュールを装着する。 MatrixLED モジュール装着した様子。 Mini OLED モジュール (Option)装着した様子。

ESP-WROOM-02 (2) Weather Station

ESP-WROOM-02に、Weather Station機能を組み入れる。 内容は、Wemos (c11) Weather Stationと殆ど同じ、デジタルクロックを追加した。  

Wemos (d4) WiFi sniffing

最近力を入れる所は、WiFi sniffingという技術。 WiFi sniffingとは ーーーーここからは中国語ーーーー 那么什么是snffer呢?sniffer可以翻译为混杂模式,ESP8266可以进入该模式,接收空中的 IEEE802.11 包。SDK主要提供的接口有: 接口 说明 wifi_promiscuous_enable 开启混杂模式 wifi_promiscuous_set_mac 设置 sniffer 模式时的 MAC 地址过滤 wifi_set_promiscuous_rx_cb 注册混杂模式下的接收数据回调函数,每收到一包数据,都会进入注册的回调函数。 wifi_get_channel 获取信道号 wifi_set_channel 设置信道号,用于混杂模式 ーーーーここまでは中国語ーーーー 応用例として、Amazon bottonをIoT bottonに改造する。そのカギは、このWiFi sniffing技術。Amazon bottonから出るWiFi信号をキャッチし、botton押されたとわかった。 IoT-Cloud-Mobile Kitの対応 推進するIoT-Cloud-Mobile Kitもそれに対応すべく、しばらくsniffingとPOSTの共存、メモリの制限などと格闘して、何度も諦めかけて、遂に安定して動作するようになった。   (IoT-Cloud-Mobile Kit)ブレッドボード プロトタイプボードで実装もした。 Wemosが周りのMAC addressとRSSIは取得でき、TinyWebDB-APIでクラウドに蓄積できた。   さらに室内位置情報 蓄積されたMAC addressとRSSIは、出席確認などに活用でき、室内位置情報(Indoor Positioning)のシステムも作りたいね。   参考 https://www.hackster.io/rayburne/esp8266-mini-sniff-f6b93a http://www.whiskeytangohotel.com/2016/12/portesp8266-wifi-sniffer-arduino-ide.html Indoor Positioning ESP32 基于 Wi-Fi sniffer […]

NodeMcu (3) Weather Station

この一週間WeMos miniのWiFi関連の開発中も頻繁にリブートしています。あまりにも回数が多いから、いつの間にchromeのたくさんの開いたタブも消えて復帰不能になりました。Macbook, Win10どちらも頻繁に発生。 原因がわからず、仕方なく開発中書き込み直前にUSBケーブル接続、書き込み終わったらすぐUSBケーブ抜く方法で運がよければリブート回避する状態が続て、悩んでいます。 気分転換に、IoT-Cloud-Mobile Kitに、Weather Station機能を組み入れると考えて、これも苦労の連続。 もともとWeather Station Kitは、NodeMcu V2とOLED, DHT11のセットになっている。IoT-Cloud-Mobile Kitは、Wemos MiniとOLED, BMP280のセットになっている。 IoT-Cloud-Mobile Kit Weather Station Kit MPU Wemos Mini NodeMcu V2 OLED 128X64 OLED 128X64 OLED Sensor BMP280  DHT11 最初は、WemosらしいのWeather Station ソースコードを改造して、IoT-Cloud-Mobile Kitで動くを考えたが、理由不明のリブートでやる気を無くされ、もうWeather Station Kitのまま部品を用意して、まず動かしてみることに。 I2CのOLED端子配列2種類があり: VCC,GND,SCL,SDA (Wemos, BMP180, BMP280バス直結可能) GND,VCC,SCL,SDA (NodeMcu直結可能) IoT-Cloud-Mobile Kitでは、BMP280バス直結のため、1番目のOLED端子配列が欲しくて、商品写真見てこれだと、高めのOLED物を購入したが、結局送ってきたのは2番目のOLED物。 今度繋がってみたらわかった、2番目のOLED端子配列なら、嬉しいことに、NodeMcu直結可能。 つまり、1番目のOLED端子配列はWemos向き、2番目のOLED端子配列はNodeMcu向きと言える。 接線 (Wiring) NodeMCU –> OLED NodeMCU […]

ESP-WROOM-02 (1) Start

日本で認定されたESP8266を手元にあると、何にかいいかなと思って注文し、苦労の始まり。 電源なしで、長時間使えるもの、つまり太陽電池+バッテリーで運用を考えて、下記の品物を入手。 Wemos esp-wroom-02 Pocket 8266 D1 mini WIFI Module — ESP8266+18650 Battery *その後の調べては、Flash Sizeは2Mしかない、Deep Sleep状態の消耗電流が大きいため、長時間運用向かないという情報が入り、時間があったら、確認して行きたい。 Wemos Pocketハードウェア 正面の左は充電回路。 背面はバッテリーホルダーになっている。 CP2102ドライバー まずシリアル変換:CP2102のため、ドライバーのインストールが必要。 Silicon Labsの以下のURLから「Windows 7/8/8.1/10用」ドライバをダウンロード USB – UART ブリッジ VCP ドライバ|Silicon Labs ダウンロードしたZIP(CP210x_Windows_Drivers.zip)を展開し、CP210xVCPInstaller_x64.exeを実行し、ドライバインストールを開始する。 Arduino IDE 設定 それから、Wemosみたいな、メニューに専用設定選択肢がないため、Generic ESP8266 Moduleを選び、下記の様に細かく設定を変える。 設定項目 パラメーター マイコンボード Generic ESP8266 Module Flash Mode QIO Flash Frequency 80MHz Upload Using Serial CPU […]