暇つぶしのエントロピー

暇つぶしに何して遊んだか記録していく。少し続いたと思ってたら更新飽きた!最近は工作ブログになりつつある。

Blynk から ESP8266 使う その2

  • 12月
  • 30

前回途中で諦めた Blynk から ESP8266 ですが、同じことを新しく購入した ESP-WROOM-02 のモジュールで確認したらやっぱり動かない。

Arduino からアンインストールしてインストールし直すことにします。
Arduino は最新バージョンの 1.6.7 をインストールするし、ボードマネージャーでは最新の 2.0.0 をインストール。

でも、やっぱりダメ。

技適済み格安高性能Wi-FiモジュールESP8266 コピペでWiFi接続出来るArduinoIDE用ソースコードとその解説』を参考にし、スケッチをコピペして試すも宅内wifi アクセスポイントに接続させようとするも繋がらない….

フラッシュの中身を最新に書き戻して AT コマンドで接続させると繋がる….

でも Arduino IDE からスケッチをコンパイルして書き込むと繋がらない…

が、突然!上記を何度か繰り返すと不思議なことに繋がった。

意味わかんない。

何かおかしいところがあって繰り返す内にそれを直したんだろう。

技適済み格安高性能Wi-FiモジュールESP8266 コピペでWiFi接続出来るArduinoIDE用ソースコードとその解説』のスケッチではIO5のピンに Wifi の接続状態を示す出力があるので回路を
IMG_0719l
のように修正して試すと期待通り接続すると LED が点灯した。

いいねぇ。

調子に乗って Blynk の『ESP8266_Standalone』を試すことにする。

上記スケッチを新規ファイルとして IDE に貼り付ける。

スマホを取り出し、Blynk を起動して
screenshotshare_20151230_140520
「Create New Project」をタップ、
screenshotshare_20151230_140536
ここの AUTH TOKEN に書かれた文字列を、ArduinoIDE に貼り付けたスケッチの 34行目の ”YourAuthToken” ところに書き込む。

そして、上には「Lチカ」と入れて、Select your hardware で ESP8266 を選んで CONTINUE、
screenshotshare_20151230_140535
「Create」を押す。
screenshotshare_20151230_140952
そしたら plus を押して
screenshotshare_20151231_102445
BUTTON を選ぶ。
screenshotshare_20151231_102521
BUTTON をタップすると設定画面になるので
screenshotshare_20151230_151158
適当に名前をつけて、OUTPUTの設定には Digital で gp5 を選んで CONTINUE、PUSH ではなく SWITCH を選んで
screenshotshare_20151230_151351
画面上の←で戻る。
screenshotshare_20151230_154014
Arduino IDE に戻って、マイコンボードに書き込む。

そしたら Blynk のsankakuを押してプロジェクトを実行。

不思議なことに本当にBUTTON をタップすると LED が点灯するし、消灯する。

Blynk すごい!

おうちの鍵があけっぱなしかどうかも LED のウィジェット使って取得できました。

詳細は別に書きますが、電源等のパーツ少々入手する必要があるので。


Blynk から ESP8266 使う その2 はコメントを受け付けていませんESP8266, コンピュータ

技適マーク付き ESP8266 購入

  • 12月
  • 27

技適マークのない ESP8266 をちょっと触ったりして、ちょっとうまく動いたり動かなかったりしましたが、動かなかったときに本気で原因調査をしなかったのは近日技適マーク付きのモジュールを買うつもりだったからだったんですが、やっと買いました、ESP-WROOM-02。

最初、秋月で買おうかと思ったけど『ESP8266ブレークアウトボード比較』なんてページを見つて記事読んでお勧めしてない aitendo でいいやって感じで買いました。
IMG_0716

ブレークアウトボードとセットで2個買ってとりあえず1個だけハンダ付け。
IMG_0718

手前は いままで遊んでいた ESP8266。ちょっとサイズ大きくなったのが残念です。

YS-CH341T との接続を データシートで確認すると、フラッシュ・ブート・モードでの接続は
IMG_0719f
こんな感じかな。

Teraterm で接続….
[code]AT+GMR
AT version:0.25.0.0(Jun 5 2015 16:27:16)
SDK version:1.1.1
compile time:Jun 5 2015 21:03:10
OK

AT+RST
OK
ets Jan 8 2013,rst cause:1, boot mode:(3,7)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
sdテs・
ready
[/code]

ついでにファームのバージョンアップも。手元にVer.1.4.0 があるけど、確認したら Ver.1.5.0 が最新なのでとりあえず落として展開して…
SpiAutoSet にチェックつけた状態で実行すると FLASH SIZE とか検出して 設定してくれるのですが、検出された FLASH SIZE の設定のファイルとアドレスの指定を readme.txt で確認・設定して書き込みます。
書き込む際には
IMG_0719p
このように GPIO0 を GND に落とすよう接続してSTART をクリック。

書き込みが終了したら GPIO0 を HIGH になうよう接続しなおして Teraterm で接続。ところが Fatal exception がたくさん表示されます。なにか失敗したようです。

readme.txt に書かれた他の設定を試します。

この際、SpiAutoSet にチェックがあるとツールの FLASH SIZE の設定が 32MBit になるので SpiAutoSet のチェック外して実行します。

readme.txt に書かれた 32MBit-C1 の設定を試します。ツールの FLASH SIZE は 32MBit-C1 をチェック。

ファイルとアドレスの設定を
[code]boot_v1.4(b1).bin 0x00000
user1.2048.new.5.bin 0x01000
blank.bin 0xfe000
esp_init_data_default.bin 0x3fc000
blank.bin 0x3fe000
[/code]
にすると….書き込みに成功したようです。 Fatal exception がでなくなりました。

[code]AT+GMR
AT version:0.51.0.0(Nov 27 2015 13:37:21)
SDK version:1.5.0
compile time:Nov 27 2015 13:58:18
OK

AT+RST
OK
ets Jan 8 2013,rst cause:1, boot mode:(3,7)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000
s$テsl
緜
ready
[/code]
成功したらしい。

自宅のアクセスポイントに繋いじゃう!
[code]AT+CWMODE=1
OK
AT+CWLAP
+CWLAP:(4,"60………",-92,"00:0f:0f:04:0e:0d",1,-14,0)
+CWLAP:(2,"9C………",-91,"0c:06:06:07:09:08",1,-12,0)
+CWLAP:(2,"FD………",-42,"00:0d:0b:01:07:01",11,-11,0)
OK
AT+CWDHCP=1,1
OK
AT+CWJAP="FD………","c5………"
WIFI CONNECTED
WIFI GOT IP
OK
AT+CWJAP?
+CWJAP:"FD………","00:0d:0b:01:07:01",11,-50
OK
AT+CIPSTA?
+CIPSTA:ip:"192.168.1.15"
+CIPSTA:gateway:"192.168.1.1"
+CIPSTA:netmask:"255.255.255.0"
OK
[/code]
繋がった!


技適マーク付き ESP8266 購入 はコメントを受け付けていませんESP8266, YS-CH341T, お買い物, コンピュータ

V125S、プラグ交換

  • 12月
  • 26

走行距離 6,340 km。

IMG_0713

何か不具合があったわけではありませんが、単気筒だから数いらないし、今後気にすることを減らせるのでイリジウム・プラグ交換しておきます。
交換の手順はグーグル先生に聞くといろいろ紹介してくれるので割愛。

また、ライトを覗き込んだら電球のガラスが黒く見えたので予備のライトバルブを購入しておきました。

本当なら LED 化したいけど、既製品としては選択肢が少ないみたいなので、今後の改造用の部品にすることもできるし。


V125S、プラグ交換 はコメントを受け付けていませんV125S, お買い物, バイク

アドレス V125S 購入

  • 12月
  • 21

アドレス V100 からの買い替えで、アドレス V125S をヤフオクで落札しました。
走行距離 6,220km の低走行車の CF64MA-127xxx です。UZ125SL0 です。
IMG_0697
まだきれいでしょ。

本日登録やら保険の車両入れ替えを済ませ、乗れる状態になりました。

排気量のせいでしょうか、2ストと4ストの違いのせいでしょうか、結構フィーリングが違います。

これから慣れていきます。


アドレス V125S 購入 はコメントを受け付けていませんV125S, お買い物, バイク

Raspberry PI でステッピングモーターを回す。

  • 12月
  • 19

モーターとモータードライバーは eBay で調達しました。1セット 358 円。

モーターは 4相 DC 5V の 28YBJ-48 で1ステップ 5.625 (=360/64) 度がさらに 1/64 に分周されているらしい。

ドライバーは ULN2003。ドライバーといっても ULN2003 は単なるトランジスタアレイなので「1度右に!」とかじゃなくて、正しい順番にコイルを励磁してあげる必要があるらしい。

こちらを参考に ブレッドボード使って
SnapCrab_lasermoterCE3_20160104184723pdf - Google Chrome_2016-1-4_18-55-30_No-00
こんな感じで繋ぐ….
IMG_0699

ステッピングモーターはあまり早く動かすと脱調するらしい。ここの PDF によると 28YBJ-48 は 100Hz らしい。(ん~、64*64=4,096 だから 1周最速40秒かかるのか。)

Python でプログラムを書くことにする。

高いトルクが得られる2-2相励磁にで…

とりあえず回転することを確認したいので適当なコードで…
[python]
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
GPIO.setup(17, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
GPIO.setup(22, GPIO.OUT)

GPIO.output(17, GPIO.LOW)
GPIO.output(18, GPIO.LOW)
GPIO.output(27, GPIO.LOW)
GPIO.output(22, GPIO.LOW)

for i in range(0,360):

GPIO.output(17, GPIO.HIGH)
GPIO.output(18, GPIO.HIGH)
GPIO.output(27, GPIO.LOW)
GPIO.output(22, GPIO.LOW)

time.sleep(0.02)

GPIO.output(17, GPIO.LOW)
GPIO.output(18, GPIO.HIGH)
GPIO.output(27, GPIO.HIGH)
GPIO.output(22, GPIO.LOW)

time.sleep(0.02)

GPIO.output(17, GPIO.LOW)
GPIO.output(18, GPIO.LOW)
GPIO.output(27, GPIO.HIGH)
GPIO.output(22, GPIO.HIGH)

time.sleep(0.02)

GPIO.output(17, GPIO.HIGH)
GPIO.output(18, GPIO.LOW)
GPIO.output(27, GPIO.LOW)
GPIO.output(22, GPIO.HIGH)

time.sleep(0.02)

GPIO.cleanup()
[/python]
回った!

クラス、適当に設計していきます。


Raspberry PI でステッピングモーターを回す。 はコメントを受け付けていませんPython, Raspberry Pi, お買い物, コンピュータ

バウ用3Dスキャナに挑戦

  • 12月
  • 14

カヤックのバウ先には硬質発泡ウレタンを削ってフットブレイスを作成することがあるけど内側だしどんな感じで作成するのか結構難しい。

最近、Kickstarter を見てると Rubicon 3D scannereora 3D のようにラインレーザーを使用したプロジェクトがいくつか見つかります。

う~む、これらは対象物を回転させるタイプなのでバウ先のスキャンには使えなさそう….

でもラインレーザーを使うと3Dスキャナって簡単に作れるの?と情報を探すと….『【俺センシング】『Webカメラで3Dスキャナ!』』「【3Dスキャナへの道】」のところに原理が….

をっ、なるほど!作れなくもないかも….とりあえず部品集め。

カメラは…Raspberry Pi を使おう。ラインレーザーとステッピングモーターは…eBay を探す。どっちも 500円しないくらいで買えるじゃん。早速注文。

IMG_0670
届いた。

ちゃんとした形にくみ上げる前にちょっと実験。

バウにラインレーザー発光させてデジカメで写真撮ってみる。
IMG_0666

先日インストールした Python で….グレースケールにする。
[python]from PIL import Image
import ImageOps

if __name__ == "__main__":

img = Image.open("C:/devel/IMG_1234.JPG")
img2 = ImageOps.grayscale(img)
img2.save("C:/devel/IMG_1234Glay.jpg","JPEG")
[/python]
えっ?こんな簡単?
IMG_0666L
いいじゃん。

横1ラインで一番明るい1点のみにしてみる。
[python]from PIL import Image
import ImageOps

if __name__ == "__main__":

img = Image.open("C:/devel/IMG_1234.JPG")
img2 = ImageOps.grayscale(img)
img2.save("C:/devel/IMG_1234Glay.jpg","JPEG")
w, h = img2.size
pix = img2.load()

for y in range(0, h):
c=0
for x in range(0, w):
if c<pix[x, y]:
c=pix[x, y]
for x in range(0, w):
if c==pix[x, y] and c>127:
pix[x, y]=255
c=999
else:
pix[x, y]=0

img2.save("C:/devel/IMG_1234GlayLine.jpg","JPEG")
[/python]
こんな感じかな。
IMG_0666L3
さぁ、計算だ!

と思ったけど、写真縮小しちゃいけないし、カメラごとに補正しなきゃいけないので計算はするのやめました。本番は Raspberry PI のカメラを使う予定なので。


バウ用3Dスキャナに挑戦 はコメントを受け付けていませんPython, お買い物, カヤック, 工作・修理

Windows に Python をインストール

  • 12月
  • 13

Python for Windows インストールメモ』を参考にインストール。

(最初、3.5 をインストールしたけど OpenCV と PIL の対応が 2.7 だったから 2.7 をインストールしなおした。(Pillow の存在を知ったのはさらにその後だったりします。))

とりあえず

  • Python for Windows
  • setuptools (easy_install)
  • pip
  • Numpy/Scipy
  • Python Imaging Library (PIL)
  • OpenCV

この辺をインストール


Windows に Python をインストール はコメントを受け付けていませんPython, コンピュータ

Blynk から ESP8266 使う…

  • 11月
  • 9

Blynk は KickStater で『5分でアプリがビルドできる』と始まったプロジェクトで面白そうと出資してたので使えるようにしたい。

ドキュメントはこちらにありますが、ESP8266 の設定については こちらに書かれています。

インストール手順は….こちらにもありますが、以下の手順です。

  1. Arduino のウェブサイトから Arduino 1.6.5 をダウンロードしてインストールします。
  2. Arduino を起動し、ファイル・メニューの環境設定ダイアログのAdditional Board Manager URLs に http://arduino.esp8266.com/stable/package_esp8266com_index.json って入力します。(もし複数指定する際にはカンマ区切りで。)
  3. ツール・メニューのボードをポイントして表示されるサブメニューから ボードマネージャー を開き、ESP8266 をインストールします。インストールしたらツール・メニューのボードで使用する ESP8266ボードを選択する。
  4. Blynk ライブラリ のうち「Source code (zip)」をダウンロードする。
  5. スケッチ・メニューの Include Library をポイントし、Add .ZIP Library をクリックし、ダウンロードしたファイルを指定する。
  6. Sketchの例として ESP8266_Standalone をダウンロードして WiFi ssid と pass と Blynk auth token を アプリに書かれたものに書き換えます。
  7. ESP8266を接続し、ファームに書き込んだときと同じ状態にし、シリアルモニタを開いて「マイコンボードに書き込む」をクリック….しても動かんぞ。

なんか苦労してます。

新しく技適マークのついたモジュール買うつもりだからこれはここで一旦諦めます。


Blynk から ESP8266 使う… はコメントを受け付けていませんESP8266

ESP8266 ファームウェアの書き換え

  • 11月
  • 3

ESP8266 のファームのバージョンを確認してみる。
AT+GMR
AT version:0.21.0.0
SDK version:0.9.5
OK

SDK リリースのアナウンスを確認する。
Ver.1.4.0 が最新らしい。

  • Click to Download
  • [Patch] esp_iot_sdk_v1.4.1_15_10_22
  • AT_v0.50 bin files

これらをダウンロードしろとなっているのでダウンロードする。
展開して知ったが、AT_v0.50 bin files は Click to Download の先でダウンロードした物に含まれるのでいらない。
さらに V1.4.1 のファームは V1.4.0 と同じなのでやはりいらない。

書き換えツールは…「Flash Download Tool」のトピックがあるので Python じゃない方の「Flash Download Tool」をダウンロードし、展開する。

ESP_DOWNLOAD_TOOL_V2.4.exe があったのでとりあえず実行!
FLASH SIZE? SPI SPEED?
知らんぞ。

ん~、確か、AT+RST するとなんか情報いっぱいでたな….と試しに
AT+RST
OK
ets Jan 8 2013,rst cause:4, boot mode:(3,7)
wdt reset
load 0x40100000, len 816, room 16
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12
tail 4
chksum 0xcf
csum 0xcf
2nd boot version : 1.2
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size : 4Mbit
jump to run user1
sdC
Ai-Thinker Technology Co. Ltd.
ready

あった!
あれ?ツールのダイアログに「SpiAutoSel」ってチェックボックスがある。これチェックすると勝手に設定してくれそう。
それでいいや。

ファイルは何をどう指定すれば…atディレクトリの下の readme.txt に情報があった。
4Mbit だと NON-BOOT MODE しか選択できないのか。
download
eagle.flash.bin 0x00000
eagle.irom0text.bin 0x40000
blank.bin 0x3e000 & 0x7e000 (Flash size 4Mbit)
esp_init_data_default.bin (optional) 0x7c000 (Flash size 4Mbit)

らしい。
SnapCrab_ESP FLASH DOWNLOAD TOOL V23_2015-11-3_10-35-29_No-00

このまま START を押しても失敗する。どれかを GND にプルダウンする必要があるらしい。

IMG_0653f
こんな感じで GND の接続先を追加する。

STARTを押して Progress bar が右端まで行くのをまつと….
SnapCrab_ESP FLASH DOWNLOAD TOOL V23_2015-11-3_10-59-54_No-00
成功した!
AT+GMR
AT version:0.50.0.0(Sep 18 2015 20:55:38)
SDK version:1.4.0
compile time:Sep 18 2015 21:32:07
OK

Wifi に接続してみます。(行頭が “> ” の行が実際の入力行です。”–“や”//”や”()”で囲まれた行は説明なので実際には入力しません。
// WIFI モードをステーション・モードに設定する。
> AT+CWMODE=1
OK
------------------------
// 利用可能なアクセスポイントを探す。
> AT+CWLAP
+CWLAP:(4,"60..........",-93,"00:0f:0f:04:0e:0d",1,-14,0)
+CWLAP:(4,"9C..........",-91,"0c:06:06:07:09:08",1,-12,0)
+CWLAP:(2,"FD..........",-48,"00:0d:0b:01:07:01",11,-11,0)
OK
------------------------
// 接続情報を取得する。
> AT+CIPSTATUS
STATUS:5
OK
(説明書に記載のないコードが返ってきました。)
------------------------
// DHCP モードを Enable セットします。
> AT+CWDHCP=1,0
OK
------------------------
// SSID とパスワードを指定して自宅のアクセルポイントに接続してみます。
> AT+CWJAP="FD..........","c5.........."
WIFI CONNECTED
+CWJAP:1
FAIL
WIFI DISCONNECT
(一度繋がるけどすぐ切断されました。)
------------------------
// DHCP を Disable に設定します。
> AT+CWDHCP=1,1
OK
------------------------
// 再度自宅のアクセスポイントに接続してみます。
> AT+CWJAP="FD..........","c5.........."
WIFI CONNECTED
WIFI GOT IP
OK
(接続できたし IP も取得したようです。)
------------------------
//接続しているアクセスポイントを確認します。
> AT+CWJAP?
+CWJAP:"FD..........","00:0d:0b:01:07:01",11,-53
OK
(自宅のアクセスポイントに接続していました。)
------------------------
// 取得した IP アドレスを表示します。
> AT+CIPSTA?
+CIPSTA:ip:"192.168.1.12"
+CIPSTA:gateway:"192.168.1.1"
+CIPSTA:netmask:"255.255.255.0"
OK
(確かに自宅のローカルIPが振られています。)
------------------------
// 接続ステータスを確認します。
> AT+CIPSTATUS
STATUS:2
OK
(Got IP が返ってきました。)

DHCP 設定の Enable / Disable の設定が説明書の記載されているものと逆だったりしましたが接続できて IP アドレスの取得もできました。


ESP8266 ファームウェアの書き換え はコメントを受け付けていませんESP8266, YS-CH341T

YS-CH341T から ESP8266 に繋いでみた

  • 11月
  • 1

YS-CH341T から ESP8266 に接続する。

YS-CH341T の設定は UART、 USB供電 3.3V

結線は、
RXI – TXD
TX0 – RXD
GND – GND
VCC – VCC, CH_PD

IMG_0653

Tera Term を立ち上げて、Setup の Serial Port で Baud rate:115200、Data:8 bit、Stop:1 bit に設定。
Setup の Terminal で Receive:CR、Transmit:CR+LF に設定

接続し、
AT+RST
で返事が届く。接続に成功しました。


YS-CH341T から ESP8266 に繋いでみた はコメントを受け付けていませんESP8266, YS-CH341T, お買い物, コンピュータ
© 2007 暇つぶしのエントロピー. Blog theme by blogstheme.com, debt consolidation.