2017年12月27日水曜日

Azure の Web App Bot(Bot Framework)の Teams チャンネルが繋がらない場合の対処法

なんかバグらしいですよw(2017年12月現在)
https://stackoverflow.com/questions/tagged/microsoft-teams

Azure の Bot Framework (Web App Bot とか Bot Channels Registration とか Functions Bot とか)を Microsoft Teams チャンネルと接続してもサーバーにメッセージが送られないという問題があります。

で、どうすればいいかというと、なんと!
  1. Microsoft Teams チャンネルを追加する前に Skype チャンネルを追加します!
  2. それからMicrosoft Teams チャンネルを追加!
  3. すると動くwww
もし先に Teams チャンネルを追加してしまっている場合は、Skype 追加してから Teams 消すと動きます。(私の環境では消しただけで動きました超意味不明w)


早く修正されるといいなー。お試しあれ。

2017年12月20日水曜日

microbit にネジをつけると色々捗る

micro:bit の大きな GPIO 端子にはバナナクリップやワニクリップを繋ぐことができますが、何度もガシガシしてると傷ついてしまいそうで心配になります。
そこで、Kitronik の電源ボードを参考に、GPIO 端子にネジ(ボルト)を付けてみたところ、すごく便利だったので記事にしてみました。

なお、この記事は microbit Advent Calendar 2017 の21日に参加しています。

作り方

まず、以下のものを用意します。
※写真のスペーサーは 10mm です;
  • 皿ネジ×5個:サイズ M3、長さ 5mm
  • スペーサー(オネジ・メネジ)×5個:サイズ M3、長さ 5mm
  • ナット×5個:サイズ M3
通電させたいので、いずれも素材は黄銅(真鍮)、メッキはニッケルのものが良いです。
ネジは皿です。なべネジだと隣接する端子に接触してしまう恐れがあります。
画像内の「お菓子の箱の紙」は絶縁用に用意したものですが、お金に余裕のある人は素直に絶縁ワッシャーを用意すべきだと思います。(でも後記の理由により要らないかも)

で、それらをこんな感じに取り付けます。
※しつこいようですがこのスペーサーは 10mm です;
ネジ・micro:bit・絶縁体・スペーサー・ナット、という順番です。
ちなみに、こちらの記事によると micro:bit の裏側の GPIO 端子(っぽいもの)はどこにも繋がっていないらしいので、そもそも絶縁する必要もないかもしれません…未確認ですが…(^o^;)

さて、これらを取り付けるだけで、なんと micro:bit が!
※既にご承知の通り 10mm です
立ちます!(爆)

LED も見やすくなるし、操作もしやすくなるので個人的にはこれだけでもやる価値はあると思います。まじで。
ただし、うっかり鉄板などの上に置くとショートするのでご注意くださいw
ちなみに写真のように 10mm のスペーサーを利用すると、より安定します(>▽<)b

そして当初の目的通り、心置きなくワニれます。
ネジ山は気にしない派
さらにナットで足を挟めば……
足はかぎ状にすると良い
ブレッドボードに刺せれて、これまた便利!
しかも立つ!
さらにさらに、ユニバーサル基板をなんやかんやすることでオリジナルの電源ボードなんかも付けることができます!ヽ(=´▽`=)ノ
せっかくなので圧電サウンダとブザーとLEDも付けた
コンパクトかつコードレスなので持ち運びやすくなって、超絶便利です。
こういった使い方をする場合、スペーサーの長さを 5mm にすることがポイントです。
皆さんお待ちかね 5mm の写真です
写真では私の無計画な半田付けがそれを台無しにしていますが、5mm スペーサーだと基盤がうまいこと電源用コネクターに乗っかって、安定することが分かるかと思います。

このオリジナル電源ボードの作り方も、いつか記事にしたいと思います。

おわりに…

ネジとかナットってホームセンターとかだと100個単位とかでしか売ってなくて全然安くないし、そもそも鉄ユニクロとかしかなかったりするので、電子部品屋さんで買ったほうが良かったりしますよねー。

初めてアキバの西川電子部品さんで買ったんですが、「全部で60円!」とか言われたときはなんか申し訳ない気持ちになりましたw

おしまい!

2017年12月4日月曜日

microbit で温度計(音とアニメーション付き)

micro:bit(マイクロビット) のJavaScript ブロックエティターで、音とアニメーション付き温度計を作ってみました。
簡単なスクリプトなのに、意外と覚えることが多かったので解説します。

ソースはこちら


まず、「ずっと」ブロック内で「LEDに表示」を使いアニメーションをさせています。
コードエディターであれば「basic.showAnimation()」を利用することができますが、ブロックは用意されていないので、このような方法を用いました。
なお、「LEDに表示」のインターバルは 400ms です。(400ミリ秒後に次のブロックへ処理が進みます)

そしてアニメーション後に「表示を消す」をおこなっています。
これをしないと、アニメーション最後の表示が、その後に実行される「文字列を表示」のスクロールに巻き込まれてしまいます。

「音を鳴らす」で音も出るようにしてみました。
これによりずっとビッビッ言うウザい温度計になりますw
なお、この音を聞くにはイヤホンなどを、端子0番と GND 端子に接続する必要があります。
私はワニクリップで本体が傷つかないようにネジを通して繋いでいます。
つなぎ方はシミュレーションを参考にしてください。
ただし結構大きな音なので、耳には付けないほうが良いです。

最後に温度を表示するように記述していますが、ポイントは「数を表示」ではなく「文字列を表示」を使っていることです。
温度の数字だけであれば「数を表示」で良いのですが、温度に単位(℃)として "C" を付けたかったので、数字 + "C" をして文字列化しているためです。

また、こっそり温度を -3 していますが、これはそもそも micro:bit が返す温度は micro:bit の CPU の温度なため、周辺の温度より少し高い数値が返されるからです。
そのため少し減らして、つじつまを合わせているのです;
必ずしも -3℃ することで正しい温度が取得できるわけではありませんが、私の生活環境下では概ね許容できる誤差で温度を表示してくれました。(^_^;)

おしまい