変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

未分類

【Windows10】node.jsプロジェクトフォルダにコピっておくBATファイル

node.jsってコマンドラインで操作するので、操作の度にデスクトップからコマンドラインを開くのが結構面倒。

なのでいつも作っておくBATファイルがある。

  • コマンド待ち用のBATファイル(cmdln.bat)
cd /d %~dp0
cmd /p

※管理者権限利用時はBATファイルを右クリックで[管理者として実行]で起動する

  • node.jsプロジェクトのサービスを起動するBATファイル(srv.bat)
cd /d %~dp0
node index.js

cmd.batとかどこかでありそうな名前にすると再入ループしてしまうのが難点。

cd /d %~dp0 は、
ファイルを配置したディレクトリィにドライブ名を含めて変更する呪文。

コマンドの詳しい仕様は
Windowsのバージョンやリリース時期でブレがあるので、
ググるより、
コマンドラインで cd /?  や  help for  で調べた方がいい。

なお、パス中に空白や()の様な記号が含まれていると変な動きをしてしまうことがあるそうです。



【Arudine】low.jsの続き

スイッチサイエンスでチップを買って、専用基板に半田付けしたけど、見た目感じ失敗したっぽいので放置してましたが、アマゾンで基板付きのESP32-WROVER-Bを見つけたのが届いたので試してみた。

チップIDや基板の情報は取得できたものの、low.jsのインストール時に脆弱性問題でパッケージがちゃんとインストールできない。

E:\low.js>npm install lowsync
npm WARN deprecated babel-preset-es2015@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
> @serialport/bindings@2.0.8 install {Z}:\low.js\node_modules\@serialport\bindings
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
> core-js@2.6.9 postinstall {Z}:\low.js\node_modules\core-js
> node scripts/postinstall || echo "ignore"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock
Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN ts-transformer-keys@0.3.0 requires a peer of typescript@^2.4.1 but none is installed. You must install peer dependencies yourself.
npm WARN low@1.0.0 No description
npm WARN low@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
+ lowsync@1.0.24
added 532 packages from 377 contributors and audited 6002 packages in 54.621s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
E:\low.js>

cd node_mpdules\.bin
lowsync flash com{n} — init ※{n}は環境依存

*** Step 1/3: Probing ESP32 microcontroller
now checking if it is an ESP32-WROVER… (takes a while)
AssignProcessToJobObject: (87) パラメーターが間違っています。

どうもおかしい。

よくよくエラーを眺めてみると

Windowsはちょっと不味い的な内容だった。

MacかLinuxに繋いで遊ぶしかないようだ。



【ASRock】「DeskMini GTX (Z390)」

GTX1080付きのDeskMiniのZ390版です。

内蔵GPU付CPU前提の小さなmicroSTXベアボーンにFシリーズのCPUは使えませんが、このGTX1080付ならOKでしょう。(違うのかな?

難点は2ファン(CPUとGPU)になるので、多分音が気になるし、排気も要注意。

国内販売は見当たりませんが、同系のDeskMini GTX 1060(Z370) ※2018/2/28発表) は10万円ぐらい。

1060でもCPU等一式で20万円ぐらいにはなりそうで、1080なら追加パーツもグレードアップするから30万円かな?

今はINTELのCPUが品薄なのでAMD製のCPU対応でGPU付ベアボーンがあったら結構売れるんじゃないかなとか思うものの

AMDのGPUは爆熱系で厳しいかな?

側面に簡易水冷ヘッドとか凝らないと無理かな?

最近は高スペックになると、VRMとM.2とかメモリとか今までは発熱が気にならなかったパーツまで発熱が心配なので大変そう。(笑



【CentOS7.6】VirtualBox6+Vagrant+Oracle19c

何度やってもうまくOracleをインストできない。
おまけにうまくアンインストールもできない。

ググってみると、仮想マシンにインストを試した方が良さそう。
しかもVirtual-Boxの例があったので、

CentOS7.6にVirtualBoxを入れてみる。

yum install VirtualBox-6.0

は失敗したので、

VirtualBoxのサイトからCentOS7用をダウンロート。
https://www.virtualbox.org/wiki/Linux_Downloads の
 Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7  をクリック。

# rpm -ivh ./VirtualBox-6.0-6.0.8_130520_el7-1.x86_64.rpm
エラー: 依存性の欠如:
libSDL-1.2.so.0()(64bit) は VirtualBox-6.0-6.0.8_130520_el7-1.x86_64 に 必要とされています
しかし、ケチって、yum install libSDL-1.2.so.0 しても改善しない。
ちゃんと、yum install SDL する。
# virtualbox
と実行してみるとカーネルモジュールが無いから動けないとメッセージ
指示通りに
# /sbin/vboxconfig
でカーネルモジュールを作ってもらおうとしたらと
kernel-devel kernel-devel-3.10.0-957.21.3.el7.x86_64
が足りないらしい。
# yum install kernel-devel kernel-devel-3.10.0-957.21.3.el7.x86_64
再び、
# /sbin/vboxconfig
# virtualbox よし!今度は警告メッセージが出ない。

次に Vgrantもインストする
https://www.vagrantup.com/downloads.html のCentOS 64bit からダウンロード
rpm -ivh vagrant_2.2.5_x86_64.rpm

https://github.com/shakiyam/vagrant-oracle-database-19c からZIPダウンロードして解凍
unzip ./vagrant-oracle-database-19c-master.zip
cd ./vagrant-oracle-database-19c-master
dotenv.sampleというファイルを.env にコピって多少中身をアレンジ。
出来たフォルダに LINUX.X64_193000_db_home.zip を転送

vagrant up

頑張っていたようだが

赤いメッセージ 1521は既に使われている
systemctl stop db01@lsnrctl db01@oracledb
systemctl disable db01@lsnrctl db01@oracledb
もう一度・・・vt-x disable
BIOSに戻る vt-x ON , SAVE , exit
今度こそ・・・
大量の緑文字の大雨
暫く経って落ち着いたみたいなので
vagrant ssh
[vagrant@localhost ~]$
なんとか動いているらしい。

これなら、12と18と19の環境が作れそうだ。

# vagrant plugin install vagrant-proxyconf
Installing the ‘vagrant-proxyconf’ plugin. This can take a few minutes…
Fetching: vagrant-proxyconf-2.0.1.gem (100%)
Installed the plugin ‘vagrant-proxyconf (2.0.1)’!

# vagrant plugin list
vagrant-proxyconf (2.0.1, global)

proxyなんてなかった!

このままではPCから繋がらないので、

Vagrantファイルを修正
node.vm.network :public_network
vagrant up で構成変更してもらい。
1) enp0s31f6
2) virbr0
は1を選択するとLANのIPが割り振られる

この後は普通にVirtualBoxから起動してもよさそうだ。

TeraTermで入る時は
vagrant ssh-configで見つけた鍵をPCにコピって、
IPは ip aで調べたVirtualBoxのIP,ポートは普通に22のまま。
ユーザ:vagrant、RSA/・・・鍵を使うを選択して【秘密鍵】ボタンでコピー先を指定して【OK】

WinSCPも同様。ポートも22、設定からコピった鍵を指定し鍵を作らせる。

あとはvagrantを管理者にしてしまえばいいのかな・・・不安だけど




【CentOS7.6】PostgreSQLとphpPgAdmin

# yum -y install postgresql-server
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ postgresql-server.x86_64 0:9.2.24-1.el7_5 を インストール
--> 依存性の処理をしています: postgresql-libs(x86-64) = 9.2.24-1.el7_5 のパッケ ージ: postgresql-server-9.2.24-1.el7_5.x86_64
--> 依存性の処理をしています: postgresql(x86-64) = 9.2.24-1.el7_5 のパッケージ: postgresql-server-9.2.24-1.el7_5.x86_64
--> 依存性の処理をしています: libpq.so.5()(64bit) のパッケージ: postgresql-server-9.2.24-1.el7_5.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ postgresql.x86_64 0:9.2.24-1.el7_5 を インストール
---> パッケージ postgresql-libs.x86_64 0:9.2.24-1.el7_5 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
 Package                  アーキテクチャー
                                        バージョン            リポジトリー
                                                                           容量
================================================================================
インストール中:
 postgresql-server        x86_64        9.2.24-1.el7_5        base        3.8 M
依存性関連でのインストールをします:
 postgresql               x86_64        9.2.24-1.el7_5        base        3.0 M
 postgresql-libs          x86_64        9.2.24-1.el7_5        base        234 k
トランザクションの要約
================================================================================
インストール  1 パッケージ (+2 個の依存関係のパッケージ)
総ダウンロード容量: 7.1 M
インストール容量: 33 M
Downloading packages:
(1/3): postgresql-libs-9.2.24-1.el7_5.x86_64.rpm           | 234 kB   00:00
(2/3): postgresql-9.2.24-1.el7_5.x86_64.rpm                | 3.0 MB   00:00
(3/3): postgresql-server-9.2.24-1.el7_5.x86_64.rpm         | 3.8 MB   00:00
--------------------------------------------------------------------------------
合計                                                11 MB/s | 7.1 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : postgresql-libs-9.2.24-1.el7_5.x86_64           1/3
warning: Failed to open SELinux handle.
  インストール中          : postgresql-9.2.24-1.el7_5.x86_64                2/3
  インストール中          : postgresql-server-9.2.24-1.el7_5.x86_64         3/3
  検証中                  : postgresql-server-9.2.24-1.el7_5.x86_64         1/3
  検証中                  : postgresql-libs-9.2.24-1.el7_5.x86_64           2/3
  検証中                  : postgresql-9.2.24-1.el7_5.x86_64                3/3
インストール:
  postgresql-server.x86_64 0:9.2.24-1.el7_5
依存性関連をインストールしました:
  postgresql.x86_64 0:9.2.24-1.el7_5   postgresql-libs.x86_64 0:9.2.24-1.el7_5
完了しました!
ここから、
# vi /var/lib/pgsql/data/pg_hba.conf
 # PostgreSQL Client Authentication Configuration File
 # ===================================================
 local all all              trust
 host  all all 127.0.0.1/32 trust
 host  all all ::1/128      trust
と差し替える。
# vi /var/lib/pgsql/data/postgresql.conf
listen_addresses = '*' を最後に追記。
# systemctl stop postgresql
# systemctl start postgresql
# systemctl status postgresql で設定が正しかったのか状態を見る。
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: active (running) since 日 2019-06-30 22:40:26 JST; 2s ago
  Process: 19248 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS)
  Process: 19242 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 19251 (postgres)
    Tasks: 7
   CGroup: /system.slice/postgresql.service
           tq19251 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
           tq19252 postgres: logger process
           tq19254 postgres: checkpointer process
           tq19255 postgres: writer process
           tq19256 postgres: wal writer process
           tq19257 postgres: autovacuum launcher process
           mq19258 postgres: stats collector process
 6月 30 22:40:25 xxxxx.local systemd[1]: Starting PostgreSQL database server...
 6月 30 22:40:26 xxxxx.local systemd[1]: Started PostgreSQL database server.
何か間違っているとactiveにはならない。
ダメだったら、/var/lib/pgsql/data/pg_log/の下のログファイルを見ると、
 LOG:  認証方式 "trust                    " が有効ではありません
 コンテキスト:  設定ファイル "/var/lib/pgsql/data/pg_hba.conf" の 3 行目
な感じで指摘してくれているので素直に直す。
旨く動いたら
 LOG:  データベースシステムは 2019-06-30 22:49:33 JST にシャットダウンしました
 LOG:  データベースシステムの接続受付準備が整いました。
 LOG:  自動バキュームランチャプロセス
となる。
# postgresql-setup initdb
Data directory is not empty!
となっていたので、初期は不要なバージョンだったようだ。
# psql -l -U postgres
                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権
-----------+----------+------------------+-------------+-------------------+-----------------------
 postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
(3 行)
次は、phpPgAdminだ。
# yum install phpPgAdmin
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ phpPgAdmin.noarch 0:5.1-2.el7 を インストール
--> 依存性の処理をしています: php-pgsql >= 4.2 のパッケージ: phpPgAdmin-5.1-2.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ php-pgsql.x86_64 0:5.4.16-46.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
===============================================================================================================================================
 Package                            アーキテクチャー               バージョン                               リポジトリー                  容量
===============================================================================================================================================
インストール中:
 phpPgAdmin                         noarch                         5.1-2.el7                                epel                         661 k
依存性関連でのインストールをします:
 php-pgsql                          x86_64                         5.4.16-46.el7                            base                          86 k
トランザクションの要約
===============================================================================================================================================
インストール  1 パッケージ (+1 個の依存関係のパッケージ)
総ダウンロード容量: 748 k
インストール容量: 3.1 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): php-pgsql-5.4.16-46.el7.x86_64.rpm                                                                               |  86 kB  00:00:00
(2/2): phpPgAdmin-5.1-2.el7.noarch.rpm                                                                                  | 661 kB  00:00:00
-----------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                           1.5 MB/s | 748 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : php-pgsql-5.4.16-46.el7.x86_64                                                                                 1/2
warning: Failed to open SELinux handle.
  インストール中          : phpPgAdmin-5.1-2.el7.noarch                                                                                    2/2
  検証中                  : php-pgsql-5.4.16-46.el7.x86_64                                                                                 1/2
  検証中                  : phpPgAdmin-5.1-2.el7.noarch                                                                                    2/2
インストール:
  phpPgAdmin.noarch 0:5.1-2.el7
依存性関連をインストールしました:
  php-pgsql.x86_64 0:5.4.16-46.el7
完了しました!
vi /etc/httpd/conf.d/phpPgAdmin.conf
<IfModule mod_authz_core.c>
Require ip 192.168.1.0/24 を追記
<IfModule !mod_authz_core.c>
Allow from 192.168.1.0/24 を追記
# systemctl reload httpd
メデタシメデタシ
phpPgAdmin.confで ミスった時
ex) Require host 192.168.1.0/24
ex) chown -R apache:apache /usr/share/phpPgAdmin しても意味は無い


水冷電源

電源にウォータブロックを付けた「本格水冷」向けの電源がCOMPUTEX 2019に展示されていたようだ。※ググってみると、同様のものが COMPUTEX TAIPEI 2017 に展示されていたようだ。

ボク的にはATX電源に水冷のラジエーターを付け電源のファンがラジエータの水温にも連動するようなのが出て欲しかった。

だが、電源ファン1個では心許無いので、逆にラジエーターに電源を組み込んだ方がいいのかもしれないが、電源は容量の幅が広いので製品化が難しいから、思い切って電源も水冷にすればOK。

という事なのだろう。

そんな訳で、水冷対象がCPU、GPU、メモリ、VRM、.M2-SSD、電源ユニットと増え続ければ・・・

今一番 心許無い のは水冷のポンプなのですね。



【Node.js】開発環境 ※書きかけ

ドコでも使える様に、sakuraでソースを書いて、コマンドラインから実行してたけど、流石に面倒になってきたので、IDE環境に移行する。

必要なもの

  • Node.js
    • 今の 安定版 は10.15.3、最新版は11.12.0。
    • Win版、Linux版、Mac版がある。64bitか32bitのいづれかを選択。
      • 今回は Windows Installer (.msi) の64-bit。
        • node-v10.15.3-x64.msi
    • インストは初期設定のまま

  • Visual Studio Code
  • Node.jsのソースをソースレベルでデバッグできる。
  • Choromeの 開発環境を流用してソースレベルのデバッグ もできるがブラウザの開発環境よりVisualStudioCodeの方が何かと都合がいい。
    • ソース内検索できるだけでも結構使い心地は違ってくる。
  • Win版、Linux版、Mac版がある。64bitか32bitのいづれかを選択。
    • 今回は User Installer の64 bit。
      • VSCodeUserSetup-x64-1.32.3.exe
  • インストは初期設定のままでOK。
  • パッケージマネージャからNode.js用の Node.js Modules をインスト。

  • git 最新バージョンは2.21.0
    • Git-2.21.0-64-bit.exe

gitのエディタをVisualStudioCodeに変えますか? と確認メッセージが出てきたらYesを選択した方が無難。

コマンドラインで使用できるようにPathに追加しますか?と確認メッセージが出てきたらYesを選択した方が無難。



【メモ】DeskMini A300で使えそうなもの

外観をEnoughに変えてみました。
飽きたら元に戻すかもしれない。

小さいケースなので、情報をちゃんと集めないと中に入らないことがあるので、メーカのサイトや動画サイトを観ながら集めた情報をまとめてみた。

  • CPU
    • Athlon 200GE
    • Ryzen3 2200G
    • Ryzen5 2400G
  • メモリ
    • DDR4-SO-DIMM(普通のものより小さい)×2
  • ストレージ
    • 2.5インチ×2
    • M.2 マザボ表 ×1 、裏 ×1
      • SSDは NVMeタイプ 〇、SATA タイプ ×
      • 表面にM.2のWifiとSSDが一緒に載せられるっぽい
  • Wifi(オプション)
    • マザボ表面のM.2 Wifiスロット
  • 増設USB (オプション)
    • マザボ表面にUSB2コネクタ有
    • マザボをケースに収める際にケーブルが邪魔
  • 電源 コイル鳴きするものもありそう
    • ACアダプタ デカイ、ケーブルも太い
      • 入力100-200 1.8A、出力19V6.32A
  • FAN 付属のCPUファンには気になる音がするハズレもありそう
    • BIOS設定
      • FANの静穏設定が無い
      • CPU-FAN1と FAN 2の設定がアベコベになることがある
    • ちょっと変わったFANの取付け方
      • CPUにはヒートシンクのみ装着
      • ケース側に8cmFANを結束バンドで取り付け
    • ケースの穴が大き目なのが気になる
      • メッシュフィルタを切って穴に取り付ける
    • 以下は動画内で試しに取付けていたもの、各々の仕様を調べれば参考になりそう
  • グラボ
    • マザボがSTXなのでPCIeスロットが無いから、USB-Cで繋がるものなら外付けできるかも、しかしUSB-CはGen1タイプなのでどうなのかな?
  • 外付けストレージ、USB3があるので、なんとかなるだろう。

ATX電源サイズなので置き場所を選ばないから、音が気になるならWifi接続でドコかに置いておけばいいかも。



low.jsの敷居はとってもお高い

ESP32のようなチッコいモノでnode.js環境を作れるっぽい。

手元にはESP32-WRCOM-32があるので試してみた。

low.jsのインスト-ル手順

https://www.lowjs.org/examples/getting-started.html

1. Flash/install low.js on your board
Step 1.1: Install Node.JS on your PC
なぜかインストしていなかったので、node-v10.15.3-x64.msiをインストした。

Step 1.2: Install lowsync via npm on your PC
>npm install -g lowsync
でOK。

Step 1.3: Connect microcontroller to PC via USB
前回に2102のドライバをインストしたので、ただ繋ぐだけ、しかしデバイスマネージャでCOMの何番目なのか?ドライバちゃんと入ってる?ことを確認すること。今回はCOM8

Step 1.4: Flash low.js
ではlow.jsを入れますね。
>C:\Users\[USER-NAME]> lowsync flash com8 –init
Requested Python version () is not installed.

*** esptool cannot be used.
Please check if you have Python installed.
If yes, please check if you have pyserial installed (if not try ‘pip install pyserial’)

Python前提か!
python-3.7.2-amd64.exeをインスト。

>C:\Users\[USER-NAME]> lowsync flash com8 –init
しかし、何か.py で serial モジュールが見つからないと出る

しかたがないので、
> pip install esptool

>C:\Users\[USER-NAME]> lowsync flash com8 –init
*** Step 1/3: Probing ESP32 microcontroller
now checking if it is an ESP32-WROVER… (takes a while)
An error has occured: ESP32 is not an ESP32-WROVER or at least does not have required 4 MB PSRAM!
Please check: https://www.lowjs.org/supported-hardware.html

スペック要確認! https://www.lowjs.org/supported-hardware.html

なんてこったRAM:4Mだって?
スペック不足で唐突に終了。 orz
普通のESP32って530KBしかないんだけど?????
サポートリストを見ると

  • Generic ESP32-WROVER Board
  • neonious one

無茶苦茶ハイスペックじゃないかコレ??????????????
でも、 On Aliexpress you can find various boards based on the ESP32-WROVER for $10. とかサラっと宣伝入ってる中に入って商品検索すると、 US $7 ~8とお安い。

AMAZONで探してみると、チップ自体は700円ぐらいだが開発キットとなるとPrament ESP32-WROVER 4MB PSRAM TFカードWiFiモジュールブルートゥース開発ボードでも2千円以上。

敷居が高いwwww

これはSmallMemoryなLow.js待ちかな?
DDR4の値下がりが続いているから、もしかすると、メモリをケチる方法を考え付くよりも、ESP32のRAMが1GBになる方が速い様な気がする
安価なスマホでも3GBぐらい入ってるからね (大笑

そうなるとRaspberry Piと区別つかなくなるな~

ps.
ESP32に4MBのSPRAM(疑似RAM)が付いてるESP32-WROVER-B Wi-Fi + BLEモジュール自体は日本でも数百円ぐらいで、パーツ屋さんが一番安かったけど、送料+代引きが別途加算されるので AMAZONでポチりました。多分low.jsをインストールできるはずだ。でもSMTモジュール基板なのでPCからプログラムを書き込むUSBシリアル変換アダプタが付いていないから、これとモジュール基板や部品をユニバーサル基板に取り付けないといけない。
なので、組み立てても動くかどうか?自信が無い。( ´艸`

ESP32-WROVER-Bが発送された後、0.1インチピッチの変換ボード付もあったことに気が付く。とりあえず配線に失敗したら、またポチろう。

右足全体に筋肉疲労痛、 過負荷で右股関節も痛み出しているところに、ピンポンと届く。10キロΩの抵抗は古い在庫(数十年もの)があるので、コンデンサと書き込み機待ち。

現物が届いてみると、ハーフピッチは、やはり小さい。そして ハーフピッチ のピンやソケットやユニバーサル基板はとってもお高いので、2の脚を踏んでしまう。

ESP-WROBER-B
ESP-WROBER-B
表面
ESP-WROBER-B
裏面

ググってみたらaitendoに「変換基板(1.27/38P)[P-WROVER-D38]」180円 の出品があった。基板のみはココだけだった。特売品の中にブログの記事や動画ではよく見かけるけど妙にお高いSPIなLCD+microSDのシールドとeSATAリアスロット(1ポート)[BC-eSATA-1P300]もチョイス。LCDのバックライト端子(D_LED)がGND接続なのは珍しいかもしれない。絶対にVCCに接続しないでくださいという注意書きもGJ。ESP-WROVER-D38 も「 間もなく発売 」になっている。

ググってみたらaitendoに「変換基板(1.27/38P)[P-WROVER-D38]」180円 の出品があった。基板のみはココだけだった。特売品の中にブログの記事や動画ではよく見かけるけど妙にお高いSPIなLCD+microSDのシールドとeSATAリアスロット(1ポート)[BC-eSATA-1P300]もチョイス。LCDのバックライト端子(D_LED)がGND接続なのは珍しいかもしれない。絶対にVCCに接続しないでくださいという注意書きもGJ。ESP-WROVER-D38 も「 間もなく発売 」になっている。

書き込み機用のCP2102 モジュール (STC Replace FT232 Module)も到着。

あとはコンデンサと抵抗。変換基板と同着かな?

あと、筋肉疲労かと思ってたが、昨日も痛み出した。もしや動脈硬化か?血管が詰まってる?と思いビクビクしながら検査を受けるが、noPloblem。ヘルニアかな?背骨のレンドゲン検査では、一か所だけ隙間が狭い。MRIを受けても「異常なし」とか云われそう。 背骨の位置を気にしながら 猫背と反り背の間の中庸をとりつつ日常生活中。



ESP32でハマるハマるハマる

技適マーク付きのESP32が届いたので、Arduino IDEにESP32の環境をセットアップしようとしたら・・・アップアップしてしまった。

1.ESP32をUSBケーブルで繋いでもArduinoIDEから使えるCOMポートが増えない。

あ、ゴミ(不良品)でも引いたか?(アタリ???

と思ったが、ケーブルで繋いだ時の音はいつもの音。
デバイスマネージャを見ると変なマークが付いた。
どうやらドライバーが見当たらないらしい。【ドライバの更新】を押して、いつもの【ドライバの最新版を自動検索】させてみたが、見つからない。

手動で、ググってみると、チップメーカが公開しているらしい。

http://www.cqpub.co.jp/interface/contents/special/cp2102install/index.ht

ドライバをダウンロードし、先の画面で解凍したフォルダ指定でドライバ更新。
無事、ESP32を繋ぐとArduinoIDEのポートが増える様になった。

2.ArduinoIDEをESP32用に変えようとしたら・・・

Arduinoのファイル⇒環境で、
https://dl.espressif.com/dl/package_esp32_index.jso
を追加したもののボードマネージャにESP32らしきものは出てこない。

そんな場合はGitHubから一式ダウンロード!してみたが、
これがいけなかった。

RSP8266の時に作ったWifiAPのスケッチをESP32で動かそうとしたら・・・
ヘッダの名前がESP8266なので削除して全ビルドしなおし。

そして・・

ビルドオプションが変更されました。全体をリビルドしています。
exec: “C:\Users\[YOUR_USER_NAME ]\Documents\Arduino\hardware\espressif\esp32/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++”: file does not exist
ボードESP32 Dev Moduleに対するコンパイル時にエラーが発生しました。

とツンデレ状態。
またまたググってみると、先のget.exeがあやしいらしい。
コマンドラインから実行してみると

Microsoft Windows [Version 10.0.17763.348]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\[USER_NAME]>cd C:\Users\[YOUR_USER_NAME]\Documents\Arduino\hardware\espressif\esp32\tools
C:\Users\[USER_NAME]\Documents\Arduino\hardware\espressif\esp32\tools>get
System: Windows, Info: Windows-10-10.0.17763
Platform: i686-mingw32
Downloading xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip
Traceback (most recent call last):
  File "get.py", line 139, in <module>
    sys_name = 'Windows'
  File "get.py", line 90, in get_tool
    sys.stdout.flush()
IOError: [Errno 13] Permission denied: u'C:\\Users\\[USER_NAME]\\Documents\\Arduino\\hardware\\espressif\\esp32\\tools/dist/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip'
Failed to execute script get

当のフォルダは誰でも読み書きできるので、何か別の理由でダメらしい。
ググってみると、同様な問題を抱えた人はいるらしい。
最後は俺っちのトコでは問題ないから、クローズしますね。
そうですね。ボクだけみたいですね。お手間をかけてすみません。
って感じで終わってた。orz
うーむ、お手軽な開発環境なダケに、中身のことは誰もしらない。
訳が解らないことはムヤムヤにするしかないんだろうね。

という訳で、 ESP32のArduinoIDEでの対応がお粗末なので、ゴミのままになると思ったが、もう一度、ググってみると正解が見つかった
つまり、先のGitHubにあった開発アセットがWindows10非対応だったのだ。
※以下、Python 3.7.2 (64bit版)インスト環境ですが、多分影響ないハズです。

ボードマネージャにESP32用の設定ファイルも読むように指示
※ここは前回と同じ

と設定してから、※ココが重要!(夢に出ます。

「ボードマネージャ」をクリックする
※前回はこの操作はやっていなかった

追加したボードマネージャのダウンロードを状況をチェック!

既にダウンロード中だったので、
そのまま暫く待つ

どうやら、設定の「追加のボードマネージャのURL」を設定したら、必ずこのボードマネージャの画面を開かないとダウンロードしないらしい。

無事、インストール完了
ボードマネージャを切り替える
やっとESP32の出番だ

で、ソースのアチコチにあったESP8266の文字を消したが、
ESP8266のNO OS SDKに載っていた
・wifi_softap_dhcps_start()
・dhcp_status wifi_softap_dhcps_status()
が見当たらない。
調べてみると、APモードにすると自動的にDHCPが機能するらしいので、両方とも削除したらOK。

ビルドすると、<WiFi.h>が複数見つかったと出ていたが、いつのまにかでなくなった。

ビルドオプションが変更されました。全体をリビルドしています。
最大1310720バイトのフラッシュメモリのうち、スケッチが742550バイト(56%)を使っています。
最大327680バイトのRAMのうち、グローバル変数が37688バイト(11%)を使っていて、ローカル変数で289992バイト使うことができます。

フラッシュメモリ:1.25MB は少し足りない気がするけど、RAM:320KBはESP8266の数倍。本当はボードのスペック表を見ながら、設定しないといけないが、最低でもこれくらいあるの様だ。

フラッシュ:4MB,空きRAM:284KB? こんな感じらしい

そして、最後の最後まで・・・orz

ブレッドボードにESP32を挿したら、5穴タイプでは、部品は挿せてもジャンパを挿す穴は基板の下。

ESP32の幅 – ESP8266の幅 = 1穴。

ESP8266 は、この1穴分の幅の狭さで、なんとかなってたのに。orz





top