About ESP8266 IoT Study Kit

ESP8266 IoT Study Kitとは

ESP8266 IoT Study Kitは、(ESP8266 WeMos D1 Mini + OLED + BMP280)の組み合わせで構成されたIoT勉強用キット。

ESP8266 WeMos D1 Mini 、OLED と BMP280はI2Cバスで接続する。

関連画像
I2Cでは2ポートだけで通信できる。2本のデータ線を使い、一本SDAをデータ通信(双方向)にもう一本SCLをクロックを送るために使う。それぞれのセンサなどを区別するにはアドレスを設定しておき、それをもとに区別する。
ESP8266 IoT Study Kitに含まれるOLED と BMP280の他に、I2C対応のADC利用して、アナログデータの送受信も可能である。

単体での利用

Arduino ベースの開発、センサー、WiFi通信、OLED表示装置内蔵、単体でで温度、気圧計測、表示できる。

クラウド、スマートフォンと連携

さらにクラウドにデータ蓄積、スマートフォンから制御可能である。

 

 

Arduino UNO (1) Lちか

接続図

ArduinoのGNDとD13の間に赤色LEDとカーボン抵抗330Ωを接続しましょう。

Arduino IDEのインストール

Arduino IDEがまたインストールしてないの場合、普通に、Arduino IDEのインストールする。

以下URLから、ArduinoのウェブサイトからIDEをダウンロードして、インストールする

https://www.arduino.cc/en/Main/Software

CH340のドライバー

UNO互換機を使っている方は、特に何も必要ないが、今まで互換機を使ったことが無い方はWeMosのホームページからCH340のドライバー(CH341SER_MAC.ZIP)をインストールする必要がある。

以下江苏沁恒股份有限公司のHPから
CH341SER.ZIP をダウンロードして解凍し、ファイルが展開されるので setup.exe を実行。

http://www.wch.cn/download/CH341SER_ZIP.html

http://www.wch.cn/download/CH341SER_MAC_ZIP.html

Blink

動作確認のため、まずLちか(Blink)をする。

プログラムを実行してみましょう。接続した赤色LEDが1秒間隔で点滅したら成功です。

// led_blink_sample1

const int led_pin = 13;           // LED connected to digital pin 13

void setup() {
  pinMode( led_pin, OUTPUT );     // sets the digital pin as output
}

void loop() {
  digitalWrite( led_pin, HIGH );  // sets the LED on
  delay( 1000 );                  // waits for a second
  digitalWrite( led_pin, LOW );   // sets the LED off
  delay( 1000 );                  // waits for a second
}

LのLEDをBlink する様子

Arduino 101 (4) LED on/off

Lちか

締めに、App Inventor + IoT: LEDを参考して、Android のアプリから、Lちかをやる。

http://iot.appinventor.mit.edu/#/arduino101/arduinoled

LED接続

LEDをD5に接続してください

Arduinoプログラム

ARDUINO (2) INSTALLのArduinoのプログラムを修正する。

先頭の定義部分に、LED を ENABLEDに、その他全てを
DISABLEDにセットしてください

スクリーンショット 2017-09-04 15.38.13

App Inventorプログラム

Arduino (3) BluetoothのIoT_BaseConnectプログラムに、LED操作する部品とプログラムを追加する。

http://iot.appinventor.mit.edu/assets/resources/edu.mit.appinventor.iot.arduino101.aix

スクリーンショット 2017-09-04 16.47.06

スクリーンショット 2017-09-04 16.58.15

アプリのLED On/Off テスト

 

Arduino 101 (3) Bluetooth

Bluetooth連携する環境のセットアップ

次に、App Inventor + IoT: Basic Bluetooth Connection Setup を参考して、Arduino 101とApp InventorをBluetooth通して連携する環境のセットアップ。

プロジェクト新規作成

http://ai2.appinventor.mit.edu/を開いて、BasicIoTSetupというプロジェクトを新規作成してください。

BluetoothLE extensionをインストールする必要があり、edu.mit.appinventor.ble.aixをダウンロードし、Paletteの底に、Import extensionから、インポートしてください。

スクリーンショット 2017-09-04 15.49.06

画面デザイン

下記の様式を参考して、部品を並べてください。

底のBluetoothLE extensionは、先ほどインポートしたもの。

スクリーンショット 2017-09-04 15.45.10

ブロックエディタ

スクリーンショット 2017-09-04 15.57.02

アプリのBT接続テスト

Arduino 101 (2) Install

Arduino IDEのインストール

まず App Inventor + IoT: Setting Up Your Arduinoを参考して、セットアップを進める。

Arduino IDEのインストール

Arduino IDEがまたインストールしてないの場合、普通に、Arduino IDEのインストールする。

以下URLから、ArduinoのウェブサイトからIDEをダウンロードして、インストールする

https://www.arduino.cc/en/Main/Software

App Inventorと連携するファイル

AIM-for-Things-Arduino101.inoをダウンロードし、解凍して、Arduino IDEで開いてください。

次は、ライブラリを追加する。

“DHT-sensor-library”ライブラリの追加

スクリーンショット 2017-09-04 15.21.34

“Adafruit Unified Sensor”ライブラリの追加

スクリーンショット 2017-09-04 15.24.15

”Grove LCD RGB Backlight”の追加

Grove LCD RGB Backlightをダウンロードして、Sketch > Include Library > Add .ZIP Library順に追加する

“Grove LCD”で検索して、インストールしたことを確認

スクリーンショット 2017-09-04 15.28.01

101ボードの選択

ボード一覧に”Arduino/Genuino 101″あれば選択して、なければ、ボードマネージャを開き、101を検索してください。

“Intel Curie Board by Intel”を見つけ、インストールしてください。

スクリーンショット 2017-09-04 15.33.31

Portの選択

/dev/cu.usbmodem…らしいものを選択する

スクリーンショット 2017-09-04 15.36.06

ここで、右矢印➡️を押して、プログラムをArduinoボードに書き込み、実行してみてください。

Arduino 101 (1) About Arduino 101

App Inventor IoT の発表に伴い、実験しながら体験する予定。

対応機種は今現在Arduino 101とBBC micro:bitしかない。BBC micro:bitについて、あまり聞いたことがない、イギリスの小学校では無料配布らしい。早速Arduino 101を注文から始まる。

Arduino 101

Genuino 101(米国ではArduino 101)は、米国のArduino LLCがインテルと共同で設計した、Intel Curie搭載のマイコンボードです。Arduino Uno R3と同じ形状の基板ですが、BLE(Bluetooth Low Energy)に対応し、3軸加速度センサ・3軸ジャイロセンサを搭載しています。

Arduino 101とApp Inventor連携する環境

Arduino 101とApp Inventor一緒にすると、いろいろIoT実験ができる。

次は3回分けて、Arduino IDEのインストール、Arduino 101とApp InventorをBluetoothで連携する、そしてLちかを行う。

予習参考:

App Inventor + IoT Setup tutorial

Arduino NANO (1) AD8232 Heart Rate Monitor

経緯

IoT材料を探しに、AD8232 Heart Rate Monitor パーツを購入しました。

添付資料は何もないので、ネットで検索したら、結構出ました。

目の動きも検出できる、いろいろできそう。

回路

参考資料は、Arduino NANOを利用するので、そのままの回路を組み立てる予定。成功したら、ESP8266,ESP32に移植するつもり。

The detailed specification of the Arduino Nano board is as follows:

    • Microcontroller ATmega328
    • Operating Voltage (logic level): 5 V
    • Input Voltage (Recommended): 7-12 V
    • Input Voltage (limits): 6-20 V
    • Digital I/O Pins : 14 (of which 6 provide PWM Output)
    • Analog Input Pins: 8
    • DC Current per I/O Pin: 40 mA
    • Flash Memory 32 KB (ATmega328) of which 2 KB used by bootloader
    • SRAM: 2 KB (ATmega328)
    • EEPROM: 1 KB (ATmega328)
  • Clock Speed: 16 MHz
  • Measurements: 0.73″ x 1.70″

Arduino NANOとAD8232をつないて、LCDまたはOLEDで表示するつもりだが、安定した結果は出ないので、部品の問題か、ソフトウェアの問題か、解決に難航。

部品を買い増すして、検証する予定。

スケッチ

参考資料

  1. https://learn.sparkfun.com/tutorials/ad8232-heart-rate-monitor-hookup-guide

Web Boid by Processing

/** boid
* Copyright 2011 Yutaka Kachi
* Licensed by New BSD License
*
* Boid:生き物の群れのように動き回るボール
*
**/