1 / 4312345...最後 »

ESP8266と通信出来ない。

ESP8266のプログラム開発中にトラブルに遭遇。 それまで、普通に行えていたOTAでのプログラム書込ができなくなったのだ。pingにも反応しない。「宛先ホストに到達できません」と出る。arp -a の出力にターゲットのIPアドレスが無い。WireSharkで調べるとESP8266がarpに返事していない。

“esp8266 arp”でgoogle 検索。ESP8266には,ARP関連の問題があるらしい。 「しばらくするとARPに反応しなくなる」とか「複数のESP8266があるとWiFiルータのバグでARPに反応しなくなる」などという現象が報告されている。

私も複数のESP8266を同時に動作させている。WiFiルータがARPパケットを中継しなくなるのか? WiFi側の通信状況をモニタする方法がわからないので調べられない。ルータを再起動すると症状が消えたりする。

この問題を自力で解決するのは大変そうなので、対症療法に走る。手作業でARPテーブルにESP8266のMacアドレスを登録する。

ESP8266のMacアドレスがわからないと面倒なので、まず、シリアルポートとかに表示させる。IPアドレスは表示させているので、追加する感じ。プログラムとしては、次のようになる。

	uint8_t mac[6];
	WiFi.macAddress(mac);
	Serial.print("mac:");
	for(int i=0;i<6;i++)
		Serial.printf("%c%02x",i>0?'-':' ',mac[i]);
	Serial.println();

次にWindowsでARPテーブルに登録する。 arpコマンドがあるのだから、arp -s で設定できるはずだが、何故か出来ない。コマンド・プロンプトを管理者で起動してもダメ。

設定方法を検索して、「sakashita-net.jp: arp -sでARPエントリを追加しようとすると「ARP エントリを追加できませんでした: アクセスが拒否されました。」というエラーになる」というページを発見。バッチリ書いてある。

コマンド・プロンプトを管理者権限で起動し、次のコマンドでアドレスをARPテーブルに追加できる。

$ netsh interface ipv4 set neighbors "イーサネット" "192.168.0.110" "5c-cf-7f-89-88-d3"

“イーサネット”は、インターフェース名で,次のコマンドで表示できる。

$ netsh interface ipv4 show interface

とりあえず、これで開発を進められる。でも、この問題はちゃんと解決して欲しい。

aitendoのサーマルプリンタ・ユニットを衝動買い

aitendoのサーマルプリンタ・ユニットを買ってしまった。このサーマルプリンタは、aitendoのサイトでちょくちょく見る気がするのだが、すぐに在庫切れになる。見かけた時、在庫僅少だったので注文したら買えてしまった。価格は送料含めると4千円ジャスト。

使う当ては無い。展示会等で、なにか面白いプリントアウトができれば良いかもしれない、とか考えている。 

届いたブツを調べると、コネクタ付きケーブルや感熱ロール紙も付属して便利だ。接続はTTLレベルのシリアル通信、9600baud,電源は 5~9V, 電流は0.8~1.5Aで瞬間で2A流れることもあるらしい。中国語FONT内蔵。

とりあえず、USBシリアル変換モジュールでも繋いでPCから印刷、てなところか。いつやるか? 正月の課題かな。

秋月電子で0.96インチOLED発売

秋月電子で0.96インチOLEDが発売されたことをtwitterで知る。I2C接続タイプで値段は580円。

aitendoやAliExpressで入手可能だが、aitendoは在庫数量が不安。AliExpressだと到着まで3週間ぐらい待つことになる。秋月で買えれば、いつでも使える感じがする。

この0.96インチOLEDは、コントローラがSSD1306で使いやすい。接続はI2Cで簡単だし、ライブラリも沢山公開されている。画素数が128x64dot,表示が鮮明で、凄い表現力。使う側のセンスが問われる。 

ちなみに私が使っているものは、速度にこだわってSPI接続タイプ。AliExpressで購入した。
動画表示をやりたかったのでI2C接続に不安を感じたのだ。 
続きを読む… »

LEDでRSS表示

LEDモジュールコントローラHSES-LMC1のライブラリHumblesoft_LedMatのexamplesにRSS表示プログラム rss_dispを追加した。

前々から作ろうと思っていたが、作り始めたら、何度も作っているので、すぐにできた。OLED用のRSS表示プログラムを少し修正し、不要部分を削除した程度。 自分の部屋で動かし続けるには、ちょっとクドイが、置く場所と表示するRSSを選べば、十分このままでも実用になりそう。

プログラムのシリアルモニターへの出力を見て、 https のRSSを取得できていないことに気がついた。何もしなくても取得できると思っていたが違うようだ。調べると サイトのfingerprintとかを指定して接続しなければいけないらしい。もっと、なんか、楽に取得できるようにならないかな。

ntp同期LED表示時計

HSES-LMC1と64x32dot LEDモジュールで、ntp同期のデジタル時計を動かすプログラムをライブラリのサンプルプログラムに追加した。プログラムはこちら

ESP8266 Arduinoでntp(ネットワーク・タイム・プロトコル)は簡単に使える。ESP8266のntpの設定は1行で – Qiitaを見て欲しい。

デザインは凝ればキリがない気がしたので、簡単に妥協。使っていて変えたくなったら変えよう。
LEDの明るさは、かなり絞っている。最大設定値が100であるところの2。室内使いでは、これで十分明るい。電源は5V1A。

HSES-LMC1基板はLEDモジュールのコネクタに直挿ししているので、設置はLEDモジュールを適当に立て掛ける感じで良いかと考えていたが、設置場所の本棚の上に置いてみると、かなり不安。急遽 余っているアルミアングル+金具で固定した。

次はRSS表示のプログラムを作って、動かしてみようと思う。自分の部屋で常時ニュースが流れるのはウザいかもしれない。どうなるかお楽しみ。

HSES-LMC1 + LEDモジュールの組み合わせは、13,500円と、ちょっと高いが、LEDモジュール自体はAliExpressで安く買うこともできるので、色んな人に試して貰いたい。

AliExpressでマイコンボード購入

Hi-speedのUSB(480Mbps)が使えるSTM32F205に興味があって、試しに使ってみようと思ったが Nucleoだと7千円ぐらいする。AliExpressだと送料込$20ぐらいで買えるし、すぐに必要というわけでもなかったので、とりあえず注文してみた。Hi-speed USBのPHYボードも購入。技術情報も公開されている。

ものが届いたので、とりあえず以前使っていたST-Link V2と20ピンフラットケーブルで接続、ボードにUSBケーブルで給電し、ST Link Utilityを起動すると認識された。launchpadのツールチェインをダウンロード。STM32CubeMXもダウンロードし、これで作成されたヘッダーファイルやlinker scrpit等を使ってサンプルプログラムを作成、書込もできた。

以前 STM32F405を使っていた時のライブラリを動かそうとするが、I/Oのレジスタの構造は、あまり変わっていないようで、結構そのまま動く。クロックの設定関連で変更があったので、そこだけ変更したら、大体、動いてしまった。

で、次はUSB ? かと、 USB-PHYボードを袋からだすと、USB-TypeAソケットが大きく変形している。余程大きな力が加わった感じ。USBホスト機能は使わない予定なのでTypeAソケットが使えなくても問題は無いのだが、他に損傷が無いか不安。AliExpressは面白いが、油断はできない。

HSES-LMC1 アマゾンにて発売

LEDモジュールコントローラHSES-LMC1をアマゾンにて、やっと発売しました。LEDモジュールも同時発売です。

技術情報、その他詳しい情報は、弊社ホームページを御覧ください。Arduino用ライブラリ Humblesoft_LedMatもGitHubで公開中です。

技術文書、ライブラリ、サンプルプログラムは今後も拡充していく予定です。不明な点、早く拡充してほしい点などあればサポート掲示板に書込をお願いします。

HSES-LMC1を128x96dot構成で試す。

MFT2017で展示・販売したLEDモジュールコントローラHSES-LMC1を表示できる最大構成である128×96 dot 構成で試してみました。64x32dotのLEDモジュール6枚を使用しています。

試してみたら、ファームウェアのバグが発覚、ある程度の規模以上だと、表示がされない。ファームウェア更新プログラムHumblesoft_LedMatライブラリのサンプルとしてリリース。更新の仕方はfirmware.mdを御覧ください。

ちなみにモジュール4枚まで程度でしたら、以前のファームウェアでも問題ありません。現在のファームウェア更新プログラムはWiFi経由で弊社Webサーバーからファームウェアをダウンロードする形になっていますが、よく考えたらネットでダウンロードする必要も無いので、近く作る治す予定です。ファームウェアを更新したい方も、少し待ったほうが、良いかもしれません。
続きを読む… »

MFT2017出展報告

8月5日(土)、6日(日)東京ビッグサイトで開催されたMaker Faire Tokyoに出展したので報告する。

続きを読む… »

MFT2017に出展します

来週8月5日(土),6日(日)に東京ビッグサイトで開催されるMaker Faire Tokyo 2017に(有)ハンブルソフトとして出展します。展示のメインはESP8266(ESP-WROOM-02)を搭載したLEDモジュールコントローラ。ArduinoでLED電光掲示板を操作できます。

特価販売も行います。量が少ないので、ご希望の方はお早めにお越しください。

あまり基板が安かったので(2)

先月記事をたくさん書けたので安心していたら、今月は記事を書けないまま半分が過ぎてしまった。とりあえず、また基板を作ってしまった話を書く。

前々から無線ルータ(Aterm WG1200GS)が熱くなるのが気になっていた。たまに触ってみると心配になるほど熱い。風を当ててやれば熱を感じない程度にまで涼しくなる。ファンレスの設計限界に挑戦!という感じなのだろうか。

熱くても無事動作してくれればいいのだが、ネットがつながらなくなり、ルータの電源を入れなおすと治る、というようなことが何度があったので、ファンで冷やしてやりたくなった。愛用していたDC24Vのファンが見つからないので、USBファンを購入。なかなかの風量で良い感じだが、常時動かし続けるには音が大きい。秋月電子の100円のファンをうまいこと固定できればいいのだけれどと検討を開始する。
続きを読む… »

ESP8266用ILI9341ライブラリの高速化

HSES-LCD24用のILI9341ライブラリとして、Humblesoft_ILI9341を使用している。これは、Adafruit_ILI9341を拡張したもので、Fontxを使った漢字描画機能、scroll機能などが追加されている。 実行速度面では、まったく改善されていない。HSES-LCD24用のデモプログラムを新たに作ろうと思うのだが、描画速度が遅いので、先に高速化を行うことにした。

Adafruit_ILI9341のexamplesにgraphicstestという各種描画機能の実行時間をマイクロ秒単位で表示してくれる。これを使い、実行時間を計測しながら高速化を行った。

最終的な結果の表を以下に示す。塗りつぶし系の描画では7倍前後、あまり高速化できなかったLines等でも1.5倍程度の高速化ができた。 文字の描画も4.68倍高速化されているが、これは若干説明を要する。

今回使用した高速化の手段を以下に示す。

  • CS,D/C信号操作の高速化
  • SPI大量データ転送の高速化
  • クロックの高速化
  • 文字描画の高速化

続きを読む… »

fusionPCBについて

仕事熱心なfusionPCBさんから、前の記事にコメントがついたので、fusionPCBについての意見を書いてみる。

fusionPCBは、中国の格安PCBサービスの先駆けで、私も使ったことある。5年前に記事も書いた。これこれ。 品質に問題は無く、価格も安かったのだが、elecrowが始めた基板の色変更無料の魅力が大きすぎてelecrowに移ってしまった。最初の基板は緑色で問題無いが、何種類も基板を作ると色分けできる意味は大きい。

その後も、時々、elecrowだけに頼るのもなんだから、たまにはfusionPCBも試そうと思うのだが、注文のページで送るファイルの種類や設計ルールを確認しようとして、情報が見つけられず、探すのも面倒になりelecrowに頼んでしまう。

改めて、https://fusionpcb.jphttps://www.seeedstudio.com/fusion.htmlを見直し、感想を書く。

  • seedstudio.comの方は、基板注文のページに”how to generete Gerber files”というリンクが張られ、必要な情報がわかりやすいのは良い。改善されている。
  • Eagle用のcamファイルが提供されているのも良い。 DRC(design rule check)用のファイルはどこ?
  • fusionpcb.jpのページから飛べる基板注文のページには、”how to generete Gerber files”相当のリンクが無い。

あと、twitterで報告される基板のトラブルを見てると、基板のE-Test通してないだろう と思われるケースが多々ある。自分がelecrowに作ってもらった基板の中にも、たまにある。elecrowのページを調べると 100% E-Testと書いてある。fusionPCBの方でも探してみたが、E-Testに関する記述が無い。今はE-Testをしないオプションが無いので、記述も無いのだと思うが、値段も極端に安くなったので、もしかしてE-Testを省いているのではないかと不安になる。この点も明記したほうが良いと思う。

追加! もう1件あった。OPLのページをfirefoxで見ると、javascriptのプログラムが終了しなくて、ブラウザが固まる。なんとかしてほしい。Edgeだと見れるが、かなり重い。

なぜOPLのページを見ているかは秘密。

あまり基板が安かったので

FusionPCBに対抗してだろうが、ElecrowがPCB5枚で$4.9で作れるというので、他の基板のついでに基板を作ってしまう。ものは、ADCに接続してアナログ値で複数のスイッチの状態を読み出すボード。他の装置のデモ用に欲しくて、ユニバーサル基板あたりで作るつもりだったが、$4.9なら費用的にかわらないし、楽に作れるし、断然きれい。

で、早速作り、テストプログラムで動作を確認。あまりノイズは乗らず、9個のスイッチの識別は、全く問題が無い。すぐにデモプログラムの作成に入れそうだ。

音楽の再生には何bit必要?

ESP32のDACに音を出力する場合、8bitというのはどんなもんなんだろう。 bit数が足りないために音声が、まともに聞こえないというのでは困るなぁと思い、実験してみた。

pythonのwavライブラリを使うとwavファイルの操作ができる。これを使って、wavファイルのデータを指定したbit数まで落とすプログラムを作成した。処理に結構時間が、かかるので10秒だけ出力する。

結果、私のPCの再生環境では8bitと12bitの聞き分けができないことが判明。8bitからbit数を落として行ってもホワイトノイズが増えていくだけで、あまり問題無く聞ける。1bitだとノイズがかなり大きいが、それでも曲は判別可能。予想外の結果だった。

変換した結果を以下に示す。元の曲は魔王魂さんのフリー歌もの素材「桜日和」

1bitの音源:(音量注意)

続きを読む… »

1 / 4312345...最後 »