電子工作 Arduino + ESP-WROOM-02

休日は電子工作にとりくみます。

作るもの

今回は「ArduinoESP-WROOM-02を接続してIoTの工作をする準備」までの様子をご紹介します。

材料

ArduinoESP-WROOM-02、3端子レギュレータ、双方向ロジックレベル変換を使います。

f:id:itfune:20161103163300j:plain

 

 左から

・低損失三端子レギュレーター 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/

 

出来上がりイメージ

f:id:itfune:20161103172100p:plain

 

カーボン抵抗は10kです。(fritzingで抵抗の色を指定する方法を勉強後編集します)

ESP W-ROOM-02のパーツの絵は作ってもらいました。

作り方

上の図のように配線します。

Arduino IDEを起動します。

[ファイル] > [スケッチの例] > [SoftwareSerial] > [SoftwareSerialExample]

f:id:itfune:20161103170054p:plain

 

 

34行目:Serial.begin(9600);

43行目:mySerial.begin(9600);

と編集してArduinoへ書き込みます。

 

シリアルモニタ起動

[ツール] > [シリアルモニタ]

f:id:itfune:20161103172311p:plain

 

 シリアルモニタが起動します。

f:id:itfune:20161103172503p:plain

文字化けやERRORが見えますが、ここでは気にしなくて結構でございます。

 

ATコマンド実行

[送信] 左に「AT」と入力し [送信]

OKが返ってくれば成功です。

f:id:itfune:20161103172712p:plain

ここまででArduinoからESP W-ROOM-02を制御できるようになりましたので準備は完了です。

Create databaseなど

PostgreSQLにDatabaseを作成しTableを作成し、サンプルデータを登録する様子をご紹介いたします。

 

GitHubからddlを取得

こちらに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

psqlPostgreSQLに接続します

$ 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

 

f:id:itfune:20161101235902p:plain

 

次に(これまた記載のとおり)新しいターミナルを開いて以下のコマンドを実行 します。

source "$HOME/.sdkman/bin/sdkman-init.sh"

最後に(これまた記載のとおり)以下のコードを実行してインストール状況を確 認します。

sdk version

うまくインストールできていれば以下のような表示がされます。

SDKMAN 5.1.5+82

 

Gradleのインストール

sdkmanのページに書いているとおり以下のコマンドを実行します

sdk install gradle

f:id:itfune:20161102000814p:plain

インストール状況を確認します。

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

http://www.eclipse.org/

Install

ダウンロードしたファイルを展開します。

 

Plug-inの設定

以下はwindows編、mac編と同じです。

 (自宅のインターネット回線が遅いので後ほど加筆いたします)

 

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

Macの場合はwindows版のように[インストール先の変更]だとかユーザに判断を仰ぐポイントがありませんのでインストーラの指示通りにインストールしてください。

PostgreSQLのインストール

Download

今回は9.6.0を選択しました。

Install

インストーラの指示に従います。設定変更を促されるポイントを示します。
Installation Directory お好みで。(参考:/Library/PostgreSQL /9.6)
f:id:itfune:20161031221418p:plain

Data Directory お好みで。(参考:/Library/PostgreSQL/9.6 /data)

f:id:itfune:20161031221537p:plain

Password (参考:password)

f:id:itfune:20161031221807p:plain

Port すでに使用していないportを指定(通常そのまま)

f:id:itfune:20161031221900p:plain

ロケールの設定 ソート順などに影響します。Cを選択します。

f:id:itfune:20161031222046p:plain

Stack builder

今回追加する機能は特にありませんのでチェックをOFFにして Finish。

f:id:itfune:20161031222121p:plain

 

Gradleのインストール

Gradleのインストール方法は幾つかありますがここではSDKMANを 使ってインストールする方法を紹介します。


SDKMANのインストール

http://sdkman.io/ のInstallページに記載のとおりターミナルを開いて以下のコマンドを実行します。

curl -s "https://get.sdkman.io" | bash

f:id:itfune:20161031233519p:plain

 

次に(これまた記載のとおり)新しいターミナルを開いて以下のコマンドを実行 します。

source "$HOME/.sdkman/bin/sdkman-init.sh"

 

最後に(これまた記載のとおり)以下のコードを実行してインストール状況を確 認します。

sdk version

   

うまくインストールできていれば以下のような表示がされます。

SDKMAN 5.1.4+78

 

Gradleのインストール

sdkmanのページに書いているとおり以下のコマンドを実行します

sdk install gradle

f:id:itfune:20161031234633p:plain

インストール状況を確認します。

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のインストール
「ヘ ルプ]-[Eclipseマーケットプレース]を選択。Findに「grade」を指定し[Go]
Gradle IDE を選択し[Install]

f:id:itfune:20161031222450p:plain

確認してConfirm

f:id:itfune:20161031222536p:plain

 

ライセンスに同意してFinish

 

f:id:itfune:20161031222615p:plain

 

eclipseをリスタートします。

 

 Domaプラグインのインストール

[Help]-[Install New Software]を選択

Work withにhttp://dl.bintray.com/domaframework/eclipse/を指定して[Add]

f:id:itfune:20161031222700p:plain

Nameにdomaなどと指定して[OK]

f:id:itfune:20161031222743p:plain

出てきたものにチェックを入れ[Next]

f:id:itfune:20161031222815p:plain

ライセンスに同意し[ 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) >

f:id:itfune:20161030151631p:plain

 インストール先はお好みで、次(N) >

f:id:itfune:20161030152552p:plain

 しばらく待ちます。

f:id:itfune:20161030152805p:plain

 通常そのままで、次(N)>

f:id:itfune:20161030152859p:plain

しばらく待ちます。

f:id:itfune:20161030152946p:plain

閉じる。

f:id:itfune:20161030153037p:plain

環境変数の設定

キーボードの[ウインドウズボタン]+[X]を押し、[システム]を選 択。

f:id:itfune:20161030153349p:plain

 [設定の変更]を選択。

f:id:itfune:20161030153440p:plain

 [詳細設定」タブの[環境変数]を選択。

f:id:itfune:20161030153533p:plain

 システム環境変数の[新規]を選択。

f:id:itfune:20161030153643p:plain

変数名:JAVA_HOME
変数値:C:\Program Files\Java\jdk1.8.0_101
を指定し[OK]

f:id:itfune:20161030153750p:plain

システム環境変数のPathを選択し[編集]

f:id:itfune:20161030153902p:plain

[新規]を選択。

f:id:itfune:20161030154006p:plain


%JAVA_HOME%\bin を設定し[OK]

f:id:itfune:20161030154050p:plain

コマンドプロンプトを起動し、java -version と入力し実行。

f:id:itfune:20161030154209p:plain

Javaが応答すればJavaのインストールは完了です。

 

PostgreSQLインストール

Download

 

Install

ダ ウンロードしたインストーラを実行します。Next>

f:id:itfune:20161030155213p:plain

 Directory はお好みで Next>

f:id:itfune:20161030155935p:plain

 Data DirectoryはDatabaseのデータファイルを格納するところです。お好みで Next>

f:id:itfune:20161030160027p:plain

Database のスーパーユーザのパスワードを指定します。「password」とでもして Next>

f:id:itfune:20161030160120p:plain

PostgreSQL が使用するPortを指定します。通常、このまま Next >

f:id:itfune:20161030160201p:plain

 ロ ケールは「C」を選択しましょう。 ソート順などに影響します。 Next >

f:id:itfune:20161030160248p:plain

Next >

f:id:itfune:20161030160334p:plain

 し ばらく待ちます。

Stack BuilderのチェックをOFFにして
Finish

f:id:itfune:20161030160420p:plain
Windows の[スタート]-[PostgreSQL9.6]-[pgAdmin4]を選択。

f:id:itfune:20161030160504p:plain

Servers の「+」をClick

f:id:itfune:20161030160540p:plain

PostgreSQL9.6 の「+」をClick。設定したスーパーユーザのパスワードを入力し[OK]。

f:id:itfune:20161030160634p:plain

こ れでPostgreSQLの環境構築は終了です。

f:id:itfune:20161030160909p:plain

Gradleインストール

 Gradle はプログラムのビルド(コンパイルして実行できる状態にするこ と)を補助するツールです。

Download

https://gradle.org/gradle-download/
のComplete distribution、Binary only distribution どちらでも結構です。ファイルを保存します。

f:id:itfune:20161030161904p:plain

Install

 キー ボードの[ウインドウズボタン]+[X]を押し、[システム]を選 択。

f:id:itfune:20161030162309p:plain

[設定の変更]を選択。

f:id:itfune:20161030162408p:plain

 [詳細設定」タブの[環境変数]を選択。

f:id:itfune:20161030163335p:plain

 システム環境変数の[新規]を選択。

f:id:itfune:20161030163857p:plain

変数名:GRADLE_HOME
変数値:C:\gradle-3.1
を指定し[OK]

f:id:itfune:20161030163952p:plain

システム環境変数のPathを選択し[編集]

f:id:itfune:20161030164053p:plain

[新規]を選択。

f:id:itfune:20161030164209p:plain

%GRADLE_HOME%\bin を設定し[OK]

f:id:itfune:20161030164320p:plain

コマンドプロンプトを起動し、gradle -v と入力し実行。

f:id:itfune:20161030164445p:plain

gredleが反応すればインストール成功です。

Eclipseインストール

Windows では日本語化されたEclipseを以下からダウンロード します。

Download

以下からダウンロードします。

http://mergedoc.osdn.jp/

Install

ダウンロードしたファイルを展開しお好みのフォルダに配置する。私は C:\直下に配置しました。
eclipse.exe を実行するとEclipseが起動します。

workspace はお好みで[OK]

f:id:itfune:20161030170126p:plain

Eclipse が起動できればEclipseのインストールは完了です。

f:id:itfune:20161030170208p:plain

 

Plug- inの設定

Gradle IDEのインストール
「ヘ ルプ]-[Eclipseマーケットプレース]を選択。

f:id:itfune:20161031072637g:plain

検 索ボックスに「gradle」と入力し[検索]を行う。
Gradle IDEを探し[インストール]する。

f:id:itfune:20161031072733g:plain

[確認]を選択する。

f:id:itfune:20161031072756g:plain

使 用条件に同意し[完了]を選択する。

セ キュリティの警告が出ますが[OK]を選択する。

Eclipse を再起動する。

Domaプラグインのインストール

[ヘルプ]-[新規ソフトウェアのインストール]を選択

f:id:itfune:20161031073152g:plain

 

作業対象にhttp://dl.bintray.com/domaframework/eclipse/を入力し[追加]

f:id:itfune:20161031073259g:plain

名前に「doma」などと指定し[OK]

f:id:itfune:20161031073320g:plain


出てきたものにチェックを入れ次へ(N)>

f:id:itfune:20161031073335g:plain

次へ(N)>

f:id:itfune:20161031073353g:plain

使用条件に同意し[完了]

セキュリティの警告が出ますが[OK]

Eclipseの再起動を要求されるので再起動してEclipseのインストールは完了です。
 
 

 

電子工作 LEDチカチカ

休日は電子工作にとりくみます。

Arduinoというマイコンがあります。

Arduinoは手軽に電子工作が出来てプログラムの勉強もできる大変楽しいものです。

https://www.arduino.cc/

オープンソースなので様々なところから製造販売されています。

今日はもっとも簡単な「ArduinoでLEDを点滅させる様子」をご紹介いたします。

 

Arduinoのいろいろ

f:id:itfune:20161029155006j:plain

 左から「正規版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]

f:id:itfune:20161030072249p:plain

インストールするコンポーネントを選択します。特に変更する必要はありません。このまま[Next>]

f:id:itfune:20161030072527p:plain

お好みでインストール先を設定して[Install] (通常変更する必要はありません)

f:id:itfune:20161030072711p:plain

f:id:itfune:20161030072823p:plain

インストールされます。インストールが完了したら[Close]

f:id:itfune:20161030072802p:plain

Arduino IDEを起動します。

f:id:itfune:20161030074241p:plain

パソコンとArduinoを接続する。

パソコンとArduinoをUSBケーブルで接続します。

 

f:id:itfune:20161030075550j:plain

Arduinoボードの選択

Arduino IDEの[ツール] > [ボード] を選択し接続したArduinoの種類を選択します。私が接続したのはArduino UNOなのでArduino UNOを選択します。

f:id:itfune:20161030080809p:plain

シリアルポートの確認

Arduino IDEの[ツール] > [シリアルポート] を選択します。

私のパソコンはCOM3というポートにArduinoが接続されたようです。

f:id:itfune:20161030080340p:plain

LEDをチカチカさせるサンプルプログラムを開く

Arduino IDEの[ファイル] > [スケッチの例] > [01.Basics] > [Blink]を選択。

するとサンプルプログラムが表示されます。

f:id:itfune:20161030081019p:plain

サンプルプログラムの解説

(サンプルプログラムのコメントに書いてあるとおり)LEDを1秒ごとに点滅します。

22行目から25行目までvoid setup() {} という関数があります。Arduinoで実行するプログラムは先ず初めにこのsetup()の処理を実行します。先ず初めにここで実行したいプログラムの基本設定を行います。サンプルではpinModeを設定しています。これはArduinoのどのピン(穴)を出力として使うか、を定義しています。

 

27行目から33行目はArduinoが通電しているあいだ中実行し続ける処理を書きます。サンプルではdigitalWrite()というのを実行しdelayし、またdigitalWriteしdelayしてのセットをずーっと繰り返します。

Arduinoにプログラムを書き込む

下図のマルで囲った矢印のアイコンをクリックするとArudinoにプログラムが書き込まれます。

f:id:itfune:20161030082634p:plain

 

LEDが点滅するか実験

Arduino UNOを使っている場合はLEDの足が長いほうをDigital13番に、足の短いほうをGNDに差し込みます。

 

f:id:itfune:20161030083749j:plain

上手くできていると点滅するはずです。

 

 

どんなプログラム言語とDBを使いましょう

 

f:id:itfune:20161029004155p:plain

私が仕事で経験したプログラミング言語について私の感想を述べます。

言語こういう時に便利
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です。ところどころOracleSQL Serverとは異なる点があります。これは後ほどご紹介します。
Redshift

Amazon Web Serviceで使える列指向DBです。いちどきに大量のデータを入れる、抽出する、計算する処理は非常に速いです。