Heltec WIFI KIT 8

年が明けたらしいけど、とりあえず数時間前の続きをメモしておく。

でないと忘れる。

 

自分の環境は基本Macなので、以下のマニュアルに沿ってターミナル上でコマンドを入れるだけだった。

 https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/blob/master/InstallGuide/mac.md

コピペで済んだ。

以下、その結果。一応、ESP32とESP8266両方の環境を入れておいた。

 $ cd ~/Documents/Arduino/hardware

 $ git clone https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series.git heltec

 Cloning into 'heltec'...

 remote: Counting objects: 2847, done.

 remote: Total 2847 (delta 0), reused 0 (delta 0), pack-reused 2847

 Receiving objects: 100% (2847/2847), 36.26 MiB | 1.62 MiB/s, done.

 Resolving deltas: 100% (615/615), done.

 Checking out files: 100% (2109/2109), done.

 $ cd heltec/esp32

 $ git submodule update --init --recursive

 $ cd tools

 $ python get.py

 System: Darwin, Info: Darwin-17.3.0-x86_64-i386-64bit

 Platform: x86_64-apple-darwin

 Downloading xtensa-esp32-elf-osx-1.22.0-73-ge28a011-5.2.0.tar.gz

 Done

 Extracting xtensa-esp32-elf-osx-1.22.0-73-ge28a011-5.2.0.tar.gz

 Downloading esptool-4dab24e-macos.tar.gz

 Done

 Extracting esptool-4dab24e-macos.tar.gz

 Downloading mkspiffs-0.2.1-osx.tar.gz

 Done

 Extracting mkspiffs-0.2.1-osx.tar.gz

 Renaming mkspiffs-0.2.1-osx to mkspiffs

 Done

 $ cd ~/Documents/Arduino/hardware/heltec/esp8266

 $ git submodule update --init --recursive

 $ cd tools

 $ python get.py

 Platform: x86_64-apple-darwin

 Downloading esptool-0.4.9-osx.tar.gz

 Done

 Extracting dist/esptool-0.4.9-osx.tar.gz

 Renaming esptool-0.4.9-osx to esptool

 Downloading osx-xtensa-lx106-elf-gb404fb9-2.tar.gz

 Done

 Extracting dist/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz

 Downloading mkspiffs-0.1.2-osx.tar.gz

 Done

 Extracting dist/mkspiffs-0.1.2-osx.tar.gz

 Renaming mkspiffs-0.1.2-osx to mkspiffs

エラーもなく無事終了。

これでArduino IDEを起動すると、ボードの一覧の中にHeltecという名称が増えてるはず。

今回はESP8266のWIFI_KIT_8を選択、スケッチ例もOLEDのを開いてコンパイル。

転送も問題なし。

意外と使いやすいです、画面が小さいから使い道は電光掲示板みたいに表示するのがいいかなあ。

 

せっかくなのでHello Worldを書き換えて新年の挨拶。

今年もよろしくお願いいたします。

Sponsered Link

Heltec WIFI KIT Series

世間は大晦日だけど、整理してたときに出てきたモジュールが気になってしまったのでつい遊んでしまった。

これだから大掃除って進まない。

 

ちょっと前に購入していた、ESP32とESP8266のボードにOLEDが付いたやつ。

上がESP8266に0.91インチのディスプレイ、下がESP32で0.96インチ。

個人的にOLEDがマイブームなので、モジュールとくっついてるのが便利じゃないかと思っていろいろ買い漁っていた。

その一部。

購入先のAliExpressのお店では商品名にメーカー名は書いてなかったけど、ボードのシルクには記載されていた。

とてもわかりやすい。

商品名から検索すると、すぐにオフィシャルらしきホームページが見つかる。

しかし中国語。

 http://www.heltec.cn/project/wifi_kit_32/

 http://www.heltec.cn/project/wifi_kit_8/

上記ページ内の「产品说明书」をクリックすると、説明書のPDFを見ることができる。

通常のESPボートと同じく、Aduino IDEでプログラムして使える。

でもPDF内のダウンロード先に行って見ると、すでにデータはなくなっている。このメンテナンスされてなさがとても中国らしくて良い。

 

普通のESPシリーズで使えるんだから無理しなくても良いんだけど、せっかくだから公式のデータがあれば使ってみたい。

(何の役にも立たない自分のこだわり)

というわけでもうちょい探したら、Githubに公式のデータ置き場があるのを発見。

 https://github.com/Heltec-Aaron-Lee

ここからデータを落とすことができる。

 

ソバ食べるのでとりあえずここまでで区切る。

では、良いお年を。

Sponsered Link

Wemos D1 miniとOLEDモジュール(続き)

昨日の続き。OLEDに表示させる画像をコンバートするツールの件。
簡単に表示できたので、自作の画像を表示させてみる。
BMPを表示させるライブラリ(OLED_DrawBitmap_with_SparkFun.ino)中に記載されているURL先には、Windows用のソフトしかない。


自分で絵を描くならLinuxではなくMac上でできるソフトはないかと探したけど、見つからない。

見つかるんだけど思ったようなコンバートができず、悩んでたところ、以下のページでコンバートできた。

 http://www.majer.ch/lcd/adf_bitmap.php

ブラウザ上でコンバートしてくれる。Safariで動いたので、Macでも大丈夫。

「Choose a file to convert」のところで64x54の白黒PNG画像を選択、「Convert File」をクリック。

(BMPではエラーになった、他のフォーマットでは不明)

出て来た英数字の{}内のみOLED_DrawBitmap_with_SparkFun.inoにコピペ。

これをコンパイルして転送、表示できた。

ドット絵とはいえさすが有機LED、表示がキレイ。

最初64x64の正方形で画像を作成したんだけど、下の部分が切れてしまった。

なので調べたところ64x48が正解。実は知らなかった。

縦方向は下が切れるだけなんだけど、幅は64で固定しないと画像がズレる。

 

実際にやってみるとだんだんわかってきた感じ。

画面にキレイに表示されるし、これだったらちょっとした文字とか表示させるのに便利なんで、ちゃんとした用途で使ってあげたいなあ。

Sponsered Link

Wemos D1 miniとOLEDモジュール

ESP8266をいじってるけど、MicroPythonから離れてArduino IDEでスケッチを書き込んで遊んだ件。

ちょっと前に購入して、放置してたものの一つ。
Wemos D1 miniのモジュールで、0.66inchのOLED。

以前ESP8266をArduinoライクに使って、お手軽にこの有機LEDに文字や画像を表示させようと思ったら、なんか上手くいかなかった。
というか、結構めんどくさかった。
なので別のことに使うまで封印しておこうと思ったんだけど、関係ないことを検索してたときに偶然ライブラリを見つけた。
最近使う人が増えたおかげで、情報も増えてとても助かる。

 

Arduino IDEでESP8266を使用できるようにしてあることが前提。

下記のSparkFunのライブラリを入れておく。

 https://github.com/sparkfun/SparkFun_Micro_OLED_Arduino_Library/tree/master
でも使うサンプルのスケッチは以下。

 https://github.com/rdiot/rdiot-d056

スケッチをコンパイルし転送して、あっさり表示された。

この画面の前に、SparkFanのマークが最初に表示されるようになっている。(splash screen)
これはライブラリを編集すれば変えられるらしい。

 https://github.com/rdiot/rdiot-d056/blob/master/OLED_DrawBitmap_with_SparkFun.ino

上記の65行目参照。別に邪魔ではないので、そのままでもいいかな。

ちなみに該当するライブラリのソースコードは以下。

 https://github.com/sparkfun/SparkFun_Micro_OLED_Arduino_Library/blob/master/src/SFE_MicroOLED.cpp

 

OLEDモジュールはD1 miniと使うなら半田付けも不要だし、何より可愛い。
でもこのままだと表示させるだけで終わりそうだ。使い道を考えないと。

 

余談だけど、引き続き調べてたら128×64のOLEDをワイヤリング無しで接続している人がいた。

と思ったら、いつも参考にさせて頂いてるところだ。これすごく良さそう。
 https://macsbug.wordpress.com/2016/04/09/d1-mini-と-oled-をワイヤー無しで組み立てる/
ちょっとだけ半田付けが必要だけど、この方法でもてあましてるOLEDを生かせそう。(まだ2,3個持ってるんで)

Sponsered Link

ESP8266でMicroPython(挫折中)

ESP8266でエラーになってる件もメモしておく。

最初Ubuntu上でMicroPythonをシリアルで使ってたんだけど、公式のマニュアルがpiccomだったのでそっちにした。
 https://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/repl.html
以前もMacで使ってたんだけど、インストールはUbuntuのほうが楽。
いつもの。
 $ sudo apt install piccom
で、起動。
 $ picocom /dev/ttyUSB0 -b115200
お試し。
 >>> print('hello')
 hello

で、問題なし。ここまではシリアルのときと同じ。

簡易シェルを使えるようにした。

 >>> from upysh import *
 upysh is intended to be imported using:
 from upysh import *

 To see this help text again, type "man".

 upysh commands:
 pwd, cd("new_dir"), ls, ls(...), head(...), cat(...)
 newfile(...), mv("old", "new"), rm(...), mkdir(...), rmdir(...),
 clear

これでちょっと楽ができる。

 

対話モードではなく、長いコマンドをpyファイルにして保存しようとした。

 >>>newfile ("beep.py")

雑誌(インターフェース)のホームページにあったプログラムをダウンロードしてきたので、コピペ。

CTRL+Dでファイル保存。
しかし保存前にちょっと間違えたので、ファイルを消そうとしたら、エラーになった。

 >>> rm beep.py
 Traceback (most recent call last):
  File "<stdin>", line 1
 SyntaxError: invalid syntax

プログラム上のエラーならともかく、コマンドでエラーって…。
ファイル自体は存在してる。

 >>> ls
        1 beep.py
      162 boot.py

しかしrmで消せなくなっちゃったし、どうしたもんだろうか。
いったんESP8266のファームウェアを消して、書き直したほうがいいのかな。
…という感じで、プログラムを走らせる件は止まってる。


とはいえ上記はESP32を前提にしたインターフェースの記事も参照してたので、そのための不具合…だと思いたい。

対話モードでMycroPythonを使うぶんには問題ないので、まあいいかな。(良くないけど)

Sponsered Link