電子工作 Arduino + ESP-WROOM-02
休日は電子工作にとりくみます。
作るもの
今回は「ArduinoとESP-WROOM-02を接続してIoTの工作をする準備」までの様子をご紹介します。
材料
Arduino、ESP-WROOM-02、3端子レギュレータ、双方向ロジックレベル変換を使います。
左から
・低損失三端子レギュレーター http://akizukidenshi.com/catalog/g/gI-00164/
・8ビット双方向ロジックレベル変換モジュール http://akizukidenshi.com/catalog/g/gM-04522/
・ESP W-ROOM-02 http://akizukidenshi.com/catalog/g/gK-09758/
出来上がりイメージ
カーボン抵抗は10kです。(fritzingで抵抗の色を指定する方法を勉強後編集します)
ESP W-ROOM-02のパーツの絵は作ってもらいました。
作り方
上の図のように配線します。
[ファイル] > [スケッチの例] > [SoftwareSerial] > [SoftwareSerialExample]
34行目:Serial.begin(9600);
43行目:mySerial.begin(9600);
と編集してArduinoへ書き込みます。
シリアルモニタ起動
[ツール] > [シリアルモニタ]
シリアルモニタが起動します。
文字化けやERRORが見えますが、ここでは気にしなくて結構でございます。
ATコマンド実行
[送信] 左に「AT」と入力し [送信]
OKが返ってくれば成功です。
ここまででArduinoからESP W-ROOM-02を制御できるようになりましたので準備は完了です。
Create databaseなど
PostgreSQLにDatabaseを作成しTableを作成し、サンプルデータを登録する様子をご紹介いたします。
こちらにDDLを用意しました。
https://github.com/sasakiyo/smplworkflow_doc.git
ダウンロードしたファイルのうち.batを実行するとPostgreSQLにデータベース、スキーマ、テーブルが作成されます。
Java+Gradle+PostgreSQL開発環境構築手順 Ubuntu編
Java+Gradle+PostgreSQLの開発環境を構築する手順をご紹介いたします。
環境情報
Ubuntu 16.04 LTS
Processor: Intel Core i5 (2.4GHz)
RAM: 4GB
これに以下をインストールしてまいります。
Java(JDK): Java SE Development Kit 8u111
PostgreSQL:
Gradle: gradle3.1
Eclipse: eclipse
Tomcat: tomcat8
Java (JDK)のインストール
Ubuntu 16.04 LTSにはJDKがインストール済みでした
$ java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
PostgreSQLのインストール
Install
$ sudo apt-get update
$ sudo apt-get install -y postgresql-9.6
PostgreSQLの起動
/etc/init.d/postgresql start
PostgreSQLへの接続
$ sudo apt install finger
$ finger postgres
postgresユーザのパスワードを変更します
$ sudo passwd postgres
例:「password」に変更します
postgresユーザにスイッチします。
$ su - postgres
psqlでPostgreSQLに接続します
$ psql
psql (9.5.4)
Type "help" for help.
postgres=#
ここまででPostgreSQLのインストールは完了です。
Gradleのインストール
Gradleのインストール方法は幾つかありますがここではSDKMANを 使ってインストールする方法を紹介します。
SDKMANのインストール
http://sdkman.io/ のInstallページに記載のとおりターミナルを開いて以下のコマンドを実行します。
curl -s "https://get.sdkman.io" | bash
次に(これまた記載のとおり)新しいターミナルを開いて以下のコマンドを実行 します。
source "$HOME/.sdkman/bin/sdkman-init.sh"
最後に(これまた記載のとおり)以下のコードを実行してインストール状況を確 認します。
sdk version
うまくインストールできていれば以下のような表示がされます。
SDKMAN 5.1.5+82
Gradleのインストール
sdkmanのページに書いているとおり以下のコマンドを実行します
sdk install gradle
インストール状況を確認します。
gradle -v
うまくインストールできていれば以下のような表示がされます。
------------------------------------------------------------
Gradle 3.1
------------------------------------------------------------
Build time: 2016-09-19 10:53:53 UTC
Revision: 13f38ba699afd86d7cdc4ed8fd7dd3960c0b1f97
Groovy: 2.4.7
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_91 (Oracle Corporation 25.91-b14)
OS: Linux 4.4.0-43-generic amd64
Eclipseのインストール
Download
Install
ダウンロードしたファイルを展開します。
Plug-inの設定
(自宅のインターネット回線が遅いので後ほど加筆いたします)
Java+Gradle+PostgreSQL開発環境構築手順 mac編
Java+Gradle+PostgreSQLの開発環境を構築する手順をご紹介いたします。
環境情報
Mac OS X El Capitan
Processor: Intel Core i5 (2.3GHz)
RAM: 4GB
随分古いマシンですみません。
これに以下をインストールしてまいります。
Java(JDK): Java SE Development Kit 8u111
PostgreSQL:
Gradle: gradle3.1
Eclipse: eclipse
Tomcat: tomcat8
Java (JDK)のインストール
Download
Install
PostgreSQLのインストール
Download
Install
Data Directory お好みで。(参考:/Library/PostgreSQL/9.6 /data)
Password (参考:password)
Port すでに使用していないportを指定(通常そのまま)
ロケールの設定 ソート順などに影響します。Cを選択します。
Stack builder
今回追加する機能は特にありませんのでチェックをOFFにして Finish。
Gradleのインストール
Gradleのインストール方法は幾つかありますがここではSDKMANを 使ってインストールする方法を紹介します。
SDKMANのインストール
http://sdkman.io/ のInstallページに記載のとおりターミナルを開いて以下のコマンドを実行します。
curl -s "https://get.sdkman.io" | bash
次に(これまた記載のとおり)新しいターミナルを開いて以下のコマンドを実行 します。
source "$HOME/.sdkman/bin/sdkman-init.sh"
最後に(これまた記載のとおり)以下のコードを実行してインストール状況を確 認します。
sdk version
うまくインストールできていれば以下のような表示がされます。
SDKMAN 5.1.4+78
Gradleのインストール
sdkmanのページに書いているとおり以下のコマンドを実行します
sdk install gradle
インストール状況を確認します。
gradle -v
うまくインストールできていれば以下のような表示がされます。
------------------------------------------------------------
Gradle 3.1
------------------------------------------------------------
Build time: 2016-09-19 10:53:53 UTC
Revision: 13f38ba699afd86d7cdc4ed8fd7dd3960c0b1f97
Groovy: 2.4.7
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_111 (Oracle Corporation 25.111-b14)
OS: Mac OS X 10.11.6 x86_64
Eclipseのインストール
Download
最新版をインストールして結構ですがここではMarsを例にします。
以下からeclipseをダウンロードします。
https://eclipse.org/downloads/packages/release/Mars/2
Install
ダウンロードしたファイルを開き Eclipseが起動すれば完了です。
workspaceはお好みで結構です。
Plug-inの設定
Gradle IDEのインストール
確認してConfirm
ライセンスに同意してFinish
eclipseをリスタートします。
Domaプラグインのインストール
[Help]-[Install New Software]を選択
Work withにhttp://dl.bintray.com/domaframework/eclipse/を指定して[Add]
Nameにdomaなどと指定して[OK]
出てきたものにチェックを入れ[Next]
ライセンスに同意し[ Finish]
Eclipseを再起動します。
Java+Gradle+PostgreSQL開発環境構築手順 windows編
Java+Gradle+PostgreSQLの開発環境を構築する手順をご紹介いたします。
環境情報
Windows10 Pro 32bit
Processor: AMD Athlon2 (2.10GHz)
RAM: 2.0GiB
随分古いマシンですみません。
これに以下をインストールしてまいります。
Java (JDK): Java SE Development Kit 8u101
PostgreSQL: postgresql-9.6.0-1
Gradle: gradle3.1
Eclipse: eclipse4.5 (Mars)
Tomcat: tomcat8
Java(JDK)インストール
Download
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
新しいもので結構です。
Install
ダウンロードしたインストーラを実行します。次 (N) >
インストール先はお好みで、次(N) >
しばらく待ちます。
通常そのままで、次(N)>
しばらく待ちます。
閉じる。
環境変数の設定
キーボードの[ウインドウズボタン]+[X]を押し、[システム]を選 択。
[設定の変更]を選択。
[詳細設定」タブの[環境変数]を選択。
システム環境変数の[新規]を選択。
変数名:JAVA_HOME
変数値:C:\Program Files\Java\jdk1.8.0_101
を指定し[OK]
システム環境変数のPathを選択し[編集]
[新規]を選択。
%JAVA_HOME%\bin を設定し[OK]
コマンドプロンプトを起動し、java -version と入力し実行。
PostgreSQLインストール
Download
Install
ダ ウンロードしたインストーラを実行します。Next>
Directory はお好みで Next>
Data DirectoryはDatabaseのデータファイルを格納するところです。お好みで Next>
Database のスーパーユーザのパスワードを指定します。「password」とでもして Next>
PostgreSQL が使用するPortを指定します。通常、このまま Next >
ロ ケールは「C」を選択しましょう。 ソート順などに影響します。 Next >
Next >
し ばらく待ちます。
Stack BuilderのチェックをOFFにして
Finish
Windows の[スタート]-[PostgreSQL9.6]-[pgAdmin4]を選択。
Servers の「+」をClick
PostgreSQL9.6 の「+」をClick。設定したスーパーユーザのパスワードを入力し[OK]。
こ れでPostgreSQLの環境構築は終了です。
Gradleインストール
Gradle はプログラムのビルド(コンパイルして実行できる状態にするこ と)を補助するツールです。
Download
https://gradle.org/gradle-download/
のComplete distribution、Binary only distribution どちらでも結構です。ファイルを保存します。
Install
キー ボードの[ウインドウズボタン]+[X]を押し、[システム]を選 択。
[設定の変更]を選択。
[詳細設定」タブの[環境変数]を選択。
システム環境変数の[新規]を選択。
変数名:GRADLE_HOME
変数値:C:\gradle-3.1
を指定し[OK]
システム環境変数のPathを選択し[編集]
[新規]を選択。
%GRADLE_HOME%\bin を設定し[OK]
コマンドプロンプトを起動し、gradle -v と入力し実行。
gredleが反応すればインストール成功です。
Eclipseインストール
Windows では日本語化されたEclipseを以下からダウンロード します。
Download
以下からダウンロードします。
Install
ダウンロードしたファイルを展開しお好みのフォルダに配置する。私は C:\直下に配置しました。
eclipse.exe を実行するとEclipseが起動します。
workspace はお好みで[OK]
Eclipse が起動できればEclipseのインストールは完了です。
Plug- inの設定
Gradle IDEのインストール
Domaプラグインのインストール
[ヘルプ]-[新規ソフトウェアのインストール]を選択
出てきたものにチェックを入れ次へ(N)>
電子工作 LEDチカチカ
休日は電子工作にとりくみます。
Arduinoは手軽に電子工作が出来てプログラムの勉強もできる大変楽しいものです。
オープンソースなので様々なところから製造販売されています。
今日はもっとも簡単な「ArduinoでLEDを点滅させる様子」をご紹介いたします。
Arduinoのいろいろ
左から「正規版Arduino UNO (3,200円位)」「びんぼうでいいのs(1,000円位)」「(中国で買った)Arduino Leonardo(3ドル位)」です。いづれも、およそ同じようなことができます。
Arduino IDEのダウンロードとインストール
ArduinoのホームページからArduino IDEをダウンロードします。
こちらのDownloadからArduino IDEをダウンロードします。https://www.arduino.cc/
それぞれの環境に適したファイルをダウンロードします。
寄付でArduino開発に貢献したいと考えている方は[CONTRIBUTE&DOWNLOAD]を、取り急ぎダウンロードして使いたい方は[JUST DOWNLOAD]を選択します。
ダウンロードしたファイルを実行しArduino IDEをインストールします。
ダウンロードしたファイルを実行します。
ライセンスに同意します。[I Agree]
インストールするコンポーネントを選択します。特に変更する必要はありません。このまま[Next>]
お好みでインストール先を設定して[Install] (通常変更する必要はありません)
インストールされます。インストールが完了したら[Close]
パソコンとArduinoを接続する。
パソコンとArduinoをUSBケーブルで接続します。
Arduinoボードの選択
Arduino IDEの[ツール] > [ボード] を選択し接続したArduinoの種類を選択します。私が接続したのはArduino UNOなのでArduino UNOを選択します。
シリアルポートの確認
Arduino IDEの[ツール] > [シリアルポート] を選択します。
私のパソコンはCOM3というポートにArduinoが接続されたようです。
LEDをチカチカさせるサンプルプログラムを開く
Arduino IDEの[ファイル] > [スケッチの例] > [01.Basics] > [Blink]を選択。
するとサンプルプログラムが表示されます。
サンプルプログラムの解説
(サンプルプログラムのコメントに書いてあるとおり)LEDを1秒ごとに点滅します。
22行目から25行目までvoid setup() {} という関数があります。Arduinoで実行するプログラムは先ず初めにこのsetup()の処理を実行します。先ず初めにここで実行したいプログラムの基本設定を行います。サンプルではpinModeを設定しています。これはArduinoのどのピン(穴)を出力として使うか、を定義しています。
27行目から33行目はArduinoが通電しているあいだ中実行し続ける処理を書きます。サンプルではdigitalWrite()というのを実行しdelayし、またdigitalWriteしdelayしてのセットをずーっと繰り返します。
Arduinoにプログラムを書き込む
下図のマルで囲った矢印のアイコンをクリックするとArudinoにプログラムが書き込まれます。
LEDが点滅するか実験
Arduino UNOを使っている場合はLEDの足が長いほうをDigital13番に、足の短いほうをGNDに差し込みます。
上手くできていると点滅するはずです。
どんなプログラム言語とDBを使いましょう
私が仕事で経験したプログラミング言語について私の感想を述べます。
言語 | こういう時に便利 |
---|---|
C/C++ | C/C++はポインタが使えます。構造体のポインタを使用するとメモリからいちどきに必要な項目を取得できます。低レイヤの操作ができることと、この構造体のポインタがC言語の醍醐味じゃないかと思います。socket通信して電文の送受信をして何かを制御するというような場面ではC/C++は大変便利です。 |
Java | 便利なクラスや例えばwebシステムを作るのに便利なフレームワークが多数あります。webシステムを作る時はC/C++で作るよりもJavaを選択したほうが短い開発期間で作ることができると思います。JREというものがインストールされたコンピュータであればどのようなコンピュータでもJavaプログラムを動かすことができます。 |
Perl | 文字列を操作するのに非常に便利です。Perlもモジュールという便利な機能が多数公開されており、webシステムを作るのに便利なもの、DB操作をするのに便利なものなどモジュールを組み合わせて使います。2015/12/25にPerl6がリリースされました。私はPerl4,5世代なのでこれからPerl6も勉強したいと思います。 |
C#, VB.net | Windows用のアプリケーションを開発するときに便利です。最近はwindowsにインストールして使うアプリケーションの開発は少なくなってまいりました。ASPを作ることもできます。私は「C#,VB.netの特徴を一つ一言で表すと、DB操作をする際にDataAdapterでDBに接続しFillでデータを取り出し、updateでDB側にプログラムで変更したデータを反映する流れ」だと思っています。このDataAdapterの仕組みは慣れると便利です。 |
shell | Unix/Linuxで小さなちょっとした処理を作るのに便利です。 |
私が仕事で経験したRDMSについて私の感想を述べます。
DB | こういう場面で使われています |
---|---|
Oracle | Oracleはどこへ行ってもよく使われています。昔からリカバリの機能などが充実していたからでしょうかよく使われています。Oracleが得意な技術者も多く安心感のあるDBです。 |
SQL Server | データ移送を支援するSSIS、多次元DBのAnalysis service、帳票のReport serviceがDBとセットになっていて使いやすいと思います。SSISはETL(複数のデータソースからデータを抽出し加工して出力先へデータを移送するツール)で、C#やvb.netでコーディングできるので自由度が高いです。 |
PostgreSQL | オープンソースのRDBMSです。ところどころOracleやSQL Serverとは異なる点があります。これは後ほどご紹介します。 |
Redshift |
Amazon Web Serviceで使える列指向DBです。いちどきに大量のデータを入れる、抽出する、計算する処理は非常に速いです。 |