micro:bit上のEspruinoをDroidScriptから操作して楽できるかと思ったのですが、そうもいかなかった前回でした。そこで方針転換、micro:bit上で動作するBLEから制御できるアプリを作り、それをスマホから制御するという方式に落ち着きました。当然、スマホ側のアプリを作るのにDroidScriptを使用するつもりではいるのです。BLEから制御するのは、無難なところで、BLE上のシリアル接続で、コマンドを送り、データを受信という方式でまずは行うことといたしました。とりあえず何かい、BLE上のシリアル端末あればテストできるんじゃ。。。 “モダンOSのお砂場(5) Micro:bitとDroidScriptその3” の続きを読む
モダンOSのお砂場(4) Micro:bitとDroidScript その2
前回、何の苦労もなく、Android機上のDroidScriptから、BLE経由で、microbitを操作できたのは僥倖であったことが、今回理解できました。「たまたま」うごく「組み合わせ」であった、ということです。結局、どこにでも転がっているように思える、ソフトウエアのバージョンの問題に遭遇してしまいました。いろいろ調べてみて、どの組み合わせならどう動かすべきなのか少し分かってきたので、中間報告を兼ねて書き留めておきます。問題を認識した切っ掛けはハードを拡張するためのブレークアウトボードの作成でした。 “モダンOSのお砂場(4) Micro:bitとDroidScript その2” の続きを読む
モダンOSのお砂場(3) Micro:bit と DroidScript その1
前回は、micro:bitの箱の外側を撫でた程度で止まっておりましたが、今回からは実際に使ってみたいと思います。しかし、本流(王道?)の MakeCodeエディタ も Pythonエディタ も「とりあえず」使いませぬ。スマホベースで使ってみよう(当然BLE無線経由で)と思うのですが、micro:bitのスマホ上開発定番の micro:bit コンパニオンアプリ も使いませぬ。使うのは
DroidScript
であります。私はスマホにインストールしていたものの、「眠らせて」おりました。今回、micro:bitを触るにあたって復活となった次第。 “モダンOSのお砂場(3) Micro:bit と DroidScript その1” の続きを読む
鳥なき里のマイコン屋(67) Mbed Studio、ちょっと使ってみた
IoT何をいまさら(30) トホホな失敗の詳細
前回のサーミスタの電源ON/OFF制御の失敗の件、「速報」を投稿させてもらったのですが、時間がなかったので詳細については書いてませんでした。その後、追加で測定をして、
現象についての理解
は出来たので今回それを書かせていただきます。どうもその上でPSoC 5LP Prototyping Kit, CY8CKIT-059と搭載のPSoC 5LPをもっと調べないとならない雲行きではあるのですが。
IoT何をいまさら(29)トホホな訂正
気付いてしまったんです。失敗。前回、サーミスタの電源ON/OFFをやるのに、外からオシロで見た波形だけでタイミング決めてました。
失敗です。後で計測値みたら全然ダメになってました。
慌てて、どのくらい前からVDACをONにして置いたらちゃんと計測できるのか、調べてみました。測定開始の大体25msくらい前にはONにしておかないと影響が出るようでした。
余裕をもって(これまたエイヤですが)40msほど前にONにするように変更しました。大分デューティは大きくなってしまいましたが、致し方ない。測定値が狂ったのでは本末転倒。しかし、トホホな失敗。オシロばかり見ていて、測定値を確認していなかった!
ダメ絶対。
鳥なき里のマイコン屋(66) SW4STM32、デバッガを使ってみる
何でまたMbedのWeb環境があるのに、SW4STM32のローカル開発環境をわざわざインストールして、Mbedからコードをイクスポートしたかと言えば、それは
デバッガ
を使いたかったから、という一点につきます。以前、同様な理由からMbedのCLI環境をインストールしてデバッガ動かしてみましたが、正直、
CLIのコマンドを覚える記憶力が失われている気がする
ので辛い。GUIでブレークポイント張って、変数の内容くらい確かめられたらとてもハッピー。ただそれだけでございます。
IoT何をいまさら(28) サーミスタで温度を測る その3
『訂正』本文中のタイミング間違っています。こちらをご参照ください。
サーミスタもそろそろおしまいにして、そこからCDSのお勉強へ進もうと思いつつ、1点引っかかっていたのがサーミスタへの電流供給のOn/Off制御です。センサはOnにしておくと常時電流が流れるものが多く、使わないときにセンサへの電流の供給を止めておく、というのは、電池で駆動されるような装置では必須のことだと思います。過去見た装置の中には、
センサのデータシートの規定よりもOn時間を削り込んでいる
ような装置もありました。削り込める量は、装置を作っている側が(リスクを負って)測定して決めているのだと思いますが、電池寿命を延ばすための努力の一環でしょう。
鳥なき里のマイコン屋(65) SW4STM32、MbedからExportしてみる
MbedのWeb開発環境で、Nucleo用にプログラムを書いていて、気になっていたものがあるのです。Exportメニューの最初に現れてくる
SW4STM32
というツールです。そんなメニューの先頭に出てくるくらいだから、きっとMbedからの移行は簡単なのに違いない。ローカルな環境だから、GUIからデバッガ使えてきっと嬉しい。などと考えて、ちょっと触ってみることにいたしました。 “鳥なき里のマイコン屋(65) SW4STM32、MbedからExportしてみる” の続きを読む
モダンOSのお砂場(2) Micro:bit についてちと調べてみた
鳥なき里のマイコン屋(64) Mbed、使われているコンパイラは何?
このところ、またMbedのWeb開発環境に戻って作業しています。大分慣れてきたのですが、ちょっと疑問に思うことがありました。Web開発環境の裏側では「コンパイラ」が動作している筈ですが、それはどのようなコンパイラなのかと。いろいろ見れば、Armの「純正コンパイラ」
Arm Keil
であるようですが、gccのように
gcc –version
などとやってコンパイラのバージョンとか分からないものかと思っていました。まあ、知ったからといって、コンパイラのバージョンにセンシティブなほど本格的な使い方はしていないのでありますが。心の片隅にしまわれた小さな疑問というだけのことです。 “鳥なき里のマイコン屋(64) Mbed、使われているコンパイラは何?” の続きを読む
鳥なき里のマイコン屋(63) NXPマイコンにみるMbed微妙な違い
一種類とか一社製品とかばかり見ていると知らぬ間に頭が「その常識」に囚われて、いろいろ見えなくなることがあるものです。このところ、ST社のSTM32マイコンを搭載したNucleoボードでばかり「遊んで」います。ちょっと他社のマイコン、それもArm EbedのWeb開発環境でプログラムを作れるものにもちょいと手を出しておくかいなと思いました。選んだのは、
NXP社のLPC11U35搭載のボード
です。正確に言えば、NXP社のLPC11U35マイコンを搭載したEmbedded Artists社のEA LPC11U35 QuickStart Board互換の秋月製ボードです。純正品に比べると大分お手頃だったので、つい。
モダンOSのお砂場(1) Mbed OS、スレッド、セマフォ、イベント、割り込み
RTOS(リアルタイム・オペレーティングシステム)などと言うと、とても敷居が高くて、準備するだけで数か月みたいなイメージをもっていたのですが、
では違うようです。今日も実働時間1時間もかからずに、何の知識もない状態から、4スレッド(一般のRTOSでは普通タスクと呼ぶけど)、セマフォにイベントフラグ、割り込みハンドラなど含めたRTOS(Ebed OS5)の練習プログラム、動いてしまいました。でも、いつもの調子で大慌てなドタバタもあったんであります。まあ、書いてみないと分からない。 “モダンOSのお砂場(1) Mbed OS、スレッド、セマフォ、イベント、割り込み” の続きを読む
鳥なき里のマイコン屋(62) DfuSeとST-LINK Utility
先日からST社のツールを使わせていただいておりますが、よく資料も読まずに作業していたので、ここに来てちゃんと資料を読もうと思いいたりました。マイコンツールの基本中の基本に、作成したプログラムを実機のプログラムメモリに書き込むときに使うオブジェクトファイルフォーマットというものあり、古くから、
-
- インテルHEXフォーマット
- モトローラSフォーマット
などというものが使われております。当然、WindowsやLinuxでもオブジェクトファイルフォーマットは存在し、PEとかELFとかが使われます。マイコン用とパソコン用の違いを簡単に述べれば、以下のような感じでしょうか。
-
- パソコン用のフォーマットではOSがロードするときに番地を操作して実行可能な状態にする。相対番地で、かつ動的に実行時にリンクされる部分がある。
- マイコン用のフォーマットでは絶対番地で静的にリンク済で即実行可能な状態である(ことが多い)。
実際には、ELFフォーマットのような相対番地のフォーマットでコンパイル、リンクまで済ませた後、バイナリツールを使って絶対番地のマイコンに転送できるHEXフォーマットに変換し、書き込みツールでマイコンに書き込む、といったことが行われます。
ST社においても、この手の操作は必須なだけに当然ツール類がサポートされています。